Sketcher BSplineIncreaseKnotMultiplicity: Difference between revisions

From FreeCAD Documentation
(final step)
(typos)
(4 intermediate revisions by the same user not shown)
Line 25: Line 25:
Increases the knot multiplicity of a B-spline curve knot (see [https://en.wikipedia.org/wiki/B-spline B-spline]).
Increases the knot multiplicity of a B-spline curve knot (see [https://en.wikipedia.org/wiki/B-spline B-spline]).


B-splines are basically a combination of [https://en.wikipedia.org/wiki/Bezier_curve#Constructing_B%C3%A9zier_curves Bézier curves] (nicely explained in [https://www.youtube.com/watch?v=bE1MrrqBAl8 this] and [https://www.youtube.com/watch?v=xXJylM2S72s this] video). The points where two Bézier curves are connected to form the spline is called the knot. A knot with the multiplicity 1 means that the curve left and right to the knot has at least the same first order derivative (called ''C''<sup>1</sup> continuity).
B-splines are basically a combination of [https://en.wikipedia.org/wiki/Bezier_curve#Constructing_B%C3%A9zier_curves Bézier curves] (nicely explained in [https://www.youtube.com/watch?v=bE1MrrqBAl8 this] and [https://www.youtube.com/watch?v=xXJylM2S72s this] video). The points where two Bézier curves are connected to form the spline are called knots. A knot on a degree ''d'' spline with the multiplicity ''m'' means that the curve left and right to the knot has at least an equal ''n'' order derivative (called ''C''<sup>''n''</sup> continuity) whereas n=d-m.<br/>
Here is a spline whose knots have the multiplicity 1 (indicated by the number in parentheses, <br/>indication can be changed using the toolbar button {{Button|[[File:Sketcher_BSplineKnotMultiplicity.svg|24px]] [[Sketcher_BSplineKnotMultiplicity|Show/hide B-spline knot multiplicity]]}}):
Here is a cubic (degree 3) spline whose knots have the multiplicity 1 (indicated by the number in parentheses, <br/>indication can be changed using the toolbar button {{Button|[[File:Sketcher_BSplineKnotMultiplicity.svg|24px]] [[Sketcher_BSplineKnotMultiplicity|Show/hide B-spline knot multiplicity]]}}):


</translate>
</translate>
[[File:Sketcher_KnotMultiplicity_multiplicity1.png]]
[[File:Sketcher_KnotMultiplicity_multiplicity1.png|386px]]
<translate>
<translate>
{{Caption|B-spline where both knots have the multiplicity 1.}}
<!--T:10-->
{{Caption|B-spline where both knots have the multiplicity 1. You can see that the second order derivatives left and right to the knots are not equal.}}


A multiplicity of 2 will change the spline so that the second order derivatives becomes equal (''C''<sup>2</sup> continuity). Here is the same spline where the multiplicity was increased to 2:
A multiplicity of 3 will change this spline so that even the first order derivatives are not equal (''C''<sup>0</sup> continuity). Here is the same spline where the left's knot multiplicity was increased to 3:


</translate>
</translate>
[[File:Sketcher_KnotMultiplicity_multiplicity2.png]]
[[File:Sketcher_KnotMultiplicity_multiplicity3.png|386px]]
<translate>
<translate>
{{Caption|B-spline from above with knot multiplicity 3. A control point was moved to show that the knot has ''C''<sup>0</sup> continuity.}}
<!--T:10-->

{{Caption|B-spline where both knots have now the multiplicity 2. Note that control points were added and changed to achieve this.}}
A consequence of a higher multiplicity is that for the price of loosing continuity you gain local control. This means the change of one control point only affects the spline locally to this changed point. This can be seen in this example, where the spline from the first image above was taken and its second control point from the right side was moved up:


Another consequence of a multiplicity of 2 is that you gain local control. This means the change of one control point only affects the splice locally to this changed point. This can be seen in this example, where the splines from the images above were taken and their the second control point from the right side was moved up:
</translate>
</translate>
[[File:Sketcher_KnotMultiplicity_locality.png]]
[[File:Sketcher_KnotMultiplicity_locality.png]]
<translate>
<translate>
{{Caption|Effect of locality due to different multiplicity.}}
{{Caption|Effect of locality due to different multiplicity.}}

One can see that the spline with knot multiplicity 1is completely changed while the one with multiplicity 2 kept its form at its left side.
One can see that the spline with knot multiplicity 1 is completely changed while the one with multiplicity 2 kept its form at its left side.


==Usage== <!--T:5-->
==Usage== <!--T:5-->

Revision as of 01:44, 2 November 2020

Sketcher BSplineIncreaseKnotMultiplicity

Menu location
Sketch → Sketcher B-spline tools → Increase knot multiplicity
Workbenches
Sketcher
Default shortcut
None
Introduced in version
0.17
See also
Show/hide B-spline knot multiplicity, Decrease knot multiplicity

Description

Increases the knot multiplicity of a B-spline curve knot (see B-spline).

B-splines are basically a combination of Bézier curves (nicely explained in this and this video). The points where two Bézier curves are connected to form the spline are called knots. A knot on a degree d spline with the multiplicity m means that the curve left and right to the knot has at least an equal n order derivative (called Cn continuity) whereas n=d-m.
Here is a cubic (degree 3) spline whose knots have the multiplicity 1 (indicated by the number in parentheses,
indication can be changed using the toolbar button Show/hide B-spline knot multiplicity):

B-spline where both knots have the multiplicity 1.

A multiplicity of 3 will change this spline so that even the first order derivatives are not equal (C0 continuity). Here is the same spline where the left's knot multiplicity was increased to 3:

B-spline from above with knot multiplicity 3. A control point was moved to show that the knot has C0 continuity.

A consequence of a higher multiplicity is that for the price of loosing continuity you gain local control. This means the change of one control point only affects the spline locally to this changed point. This can be seen in this example, where the spline from the first image above was taken and its second control point from the right side was moved up:

Effect of locality due to different multiplicity.

One can see that the spline with knot multiplicity 1 is completely changed while the one with multiplicity 2 kept its form at its left side.

Usage

  1. Select a B-spline knot.
  2. Either: