Difference between revisions of "Sketcher BSplineDecreaseKnotMultiplicity"

From FreeCAD Documentation
Jump to navigation Jump to search
(update page according to the increase page)
(correct the description)
Line 25: Line 25:
 
Decreases the knot multiplicity of a B-spline curve knot (see [https://en.wikipedia.org/wiki/B-spline B-spline]).
 
Decreases 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 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]]}}):
  
Line 32: Line 32:
 
<translate>
 
<translate>
 
<!--T:10-->
 
<!--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.}}
+
{{Caption|B-spline where both knots have the multiplicity 1.}}
  
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|386px]]
+
[[File:Sketcher_KnotMultiplicity_multiplicity3.png|386px]]
 
<translate>
 
<translate>
<!--T:10-->
+
{{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.}}
{{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

Other languages:
Deutsch • ‎English • ‎français • ‎italiano • ‎русский

Sketcher BSplineDecreaseKnotMultiplicity.svg Sketcher BSplineDecreaseKnotMultiplicity

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


Description

Decreases 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 spline whose knots have the multiplicity 1 (indicated by the number in parentheses,
indication can be changed using the toolbar button Sketcher BSplineKnotMultiplicity.svg Show/hide B-spline knot multiplicity):

Sketcher KnotMultiplicity multiplicity1.png

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:

Sketcher KnotMultiplicity multiplicity3.png

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:

Sketcher KnotMultiplicity locality.png

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:

Note: Decreasing the multiplicity from 1 to 0 will remove the knot since the result would be a curve with an "edge" at the knot position (C0 continuity) and this is not supported. (To create curves with an "edges", you can create two splines and connect them.)