145 (number): Difference between revisions
en>GrouchoBot m r2.7.2) (Robot: Adding uz:145 (son) |
en>Double sharp m →In other fields: the first is not 145, but I-IV-V. the second is mostly E145, not Uqp, and in any case has not been synthesized |
||
Line 1: | Line 1: | ||
[[File:Kochanek bartels spline.svg|350px|right]] | |||
In [[mathematics]], a '''Kochanek–Bartels spline''' or '''Kochanek–Bartels curve''' is a [[cubic Hermite spline]] with tension, bias, and continuity parameters defined to change the behavior of the [[tangent]]s. | |||
Given ''n'' + 1 [[Spline (mathematics)|knots]], | |||
:'''p'''<sub>0</sub>, ..., '''p'''<sub>''n''</sub>, | |||
to be interpolated with ''n'' cubic Hermite curve segments, for each curve we have a starting point '''p'''<sub>''i''</sub> and an ending point '''p'''<sub>''i''+1</sub> with starting tangent '''d'''<sub>''i''</sub> and ending tangent '''d'''<sub>''i''+1</sub> defined by | |||
:<math>\mathbf{d}_i = \frac{(1-t)(1+b)(1+c)}{2}(\mathbf{p}_i-\mathbf{p}_{i-1}) + \frac{(1-t)(1-b)(1-c)}{2}(\mathbf{p}_{i+1}-\mathbf{p}_i) | |||
</math> | |||
:<math>\mathbf{d}_{i+1} = \frac{(1-t)(1+b)(1-c)}{2}(\mathbf{p}_{i+1}-\mathbf{p}_{i}) + \frac{(1-t)(1-b)(1+c)}{2}(\mathbf{p}_{i+2}-\mathbf{p}_{i+1}) | |||
</math> | |||
where ''t'' is the tension, ''b'' is the bias, and ''c'' is the continuity parameter. | |||
The tension parameter, ''t'', changes the length of the tangent vector. The bias parameter, ''b'', primarily changes the direction of the tangent vector. The continuity parameter, ''c'', changes the sharpness in change between tangents. | |||
Setting each parameter to zero would give a [[Catmull–Rom spline]]. | |||
The [http://news.povray.org/povray.binaries.tutorials/attachment/%3CXns91B880592482seed7@povray.org%3E/Splines.bas.txt source code found here] of Steve Noskowicz in 1996 actually describes the impact that each of these values has on the drawn curve: | |||
{| | |||
|- | |||
| '''Tension''' | |||
| ''T'' = +1→ Tight | |||
| ''T'' = −1→ Round | |||
| | |||
|- | |||
| '''Bias''' | |||
| ''B'' = +1→ Post Shoot | |||
| ''B'' = −1→ Pre shoot | |||
|- | |||
| '''Continuity''' | |||
| ''C'' = +1→ Inverted corners | |||
| ''C'' = −1→ Box corners | |||
|} | |||
The code includes matrix summary needed to generate these splines in a [[BASIC]] dialect. | |||
== External links == | |||
*{{cite web | |||
| url = http://www.shaneaherne.com/research/splines.html | |||
| title = Kochanek and Bartels Splines | |||
| accessdate = 2009-04-15 | |||
| author = Shane Aherne | |||
| date = | |||
| work = Motion Capture — exploring the past, present and future | |||
| publisher = | |||
}} | |||
{{DEFAULTSORT:Kochanek-Bartels spline}} | |||
[[Category:Splines]] | |||
[[Category:Interpolation]] |
Revision as of 08:33, 21 October 2013
In mathematics, a Kochanek–Bartels spline or Kochanek–Bartels curve is a cubic Hermite spline with tension, bias, and continuity parameters defined to change the behavior of the tangents.
Given n + 1 knots,
- p0, ..., pn,
to be interpolated with n cubic Hermite curve segments, for each curve we have a starting point pi and an ending point pi+1 with starting tangent di and ending tangent di+1 defined by
where t is the tension, b is the bias, and c is the continuity parameter.
The tension parameter, t, changes the length of the tangent vector. The bias parameter, b, primarily changes the direction of the tangent vector. The continuity parameter, c, changes the sharpness in change between tangents.
Setting each parameter to zero would give a Catmull–Rom spline.
The source code found here of Steve Noskowicz in 1996 actually describes the impact that each of these values has on the drawn curve:
Tension | T = +1→ Tight | T = −1→ Round | |
Bias | B = +1→ Post Shoot | B = −1→ Pre shoot | |
Continuity | C = +1→ Inverted corners | C = −1→ Box corners |
The code includes matrix summary needed to generate these splines in a BASIC dialect.