Sketcher BSplineIncreaseDegree: Difference between revisions

From FreeCAD Documentation
(proper explanation, step 1)
mNo edit summary
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:14-->
<!--T:14-->
{{Docnav
{{Docnav
|[[Sketcher_BSplineConvertToNURB|Convert Geometry to B-spline]]
|[[Sketcher_BSplineApproximate|Convert geometry to B-spline]]
|[[Sketcher_BSplineDecreaseDegree|Decrease B-spline degree]]
|[[Sketcher_BSplineDecreaseDegree|Decrease B-spline degree]]
|[[Sketcher_Workbench|Sketcher]]
|[[Sketcher_Workbench|Sketcher]]
|IconL=Sketcher_BSplineConvertToNURB.svg
|IconL=Sketcher_BSplineApproximate.svg
|IconC=Workbench_Sketcher.svg
|IconR=Sketcher_BSplineIncreaseKnotMultiplicity.svg
|IconR=Sketcher_BSplineIncreaseKnotMultiplicity.svg
|IconC=Workbench_Sketcher.svg
}}
}}


Line 14: Line 15:
{{GuiCommand
{{GuiCommand
|Name=Sketcher BSplineIncreaseDegree
|Name=Sketcher BSplineIncreaseDegree
|MenuLocation=Sketch → Sketcher B-spline tools → Increase B-spline degree
|Workbenches=[[Sketcher_Workbench|Sketcher]]
|Workbenches=[[Sketcher_Workbench|Sketcher]]
|MenuLocation=Sketch → Sketcher B-spline tools → Increase Degree of B-spline
|Version=0.17
|Version=0.17
|SeeAlso=[[Sketcher_BSplineDegree|Show/hide B-spline degree]], [[Sketcher_BSplineDecreaseDegree|Decrease B-spline degree]]
|SeeAlso=[[Sketcher_BSplineDegree|Sketcher Show/hide B-spline degree]], [[Sketcher_BSplineDecreaseDegree|Sketcher Decrease B-spline degree]]
}}
}}


Line 23: Line 24:


<!--T:10-->
<!--T:10-->
Increases the degree of the B-spline(see [https://en.wikipedia.org/wiki/B-spline B-spline]).
Increases the degree (order) of a B-spline (see [[B-Splines|this page]] for more info about B-splines).


<!--T:19-->
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). These curves have degree - 1 control points.<br/>In this cubic spline (degree 3) there are 3 segments, meaning 3 curves are connected at 2 knots<br>(degree is indicated by the number, indication can be changed using the toolbar button {{Button|[[File:Sketcher_BSplineDegree.svg|24px]] [[Sketcher_BSplineDegree|Show/hide B-spline degree]]}}):
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).

<!--T:20-->
In this cubic spline (degree 3) there are 3 segments, meaning 3 curves are connected at 2 knots<br>(degree is indicated by the number, indication can be changed using the toolbar button {{Button|[[File:Sketcher_BSplineDegree.svg|24px]] [[Sketcher_BSplineDegree|Show/hide B-spline degree]]}}):


</translate>
</translate>
[[File:Sketcher_BSplineDegree3.png|400px]]
[[File:Sketcher_BSplineDegree3.png|400px]]
<translate>
<translate>
<!--T:21-->
{{Caption|B-spline with degree 3 and 2 knots that each have the multiplicity 1.}}
{{Caption|B-spline with degree 3 and 2 knots that each have the multiplicity 1.}}


<!--T:22-->
The outer segments have each 2 control points, the inner one none to fulfill the constraint that the knots have multiplicity 1. (see [[Sketcher_BSplineDecreaseKnotMultiplicity#Description|this page]] for an explanation of the multiplicity)
The outer segments have each 2 control points, the inner one none to fulfill the constraint that the knots have multiplicity 1. (see [[Sketcher_BSplineDecreaseKnotMultiplicity#Description|this page]] for an explanation of the multiplicity)


<!--T:23-->
Increasing the degree will not delete control points but try instead to conserve the shape of the spline. Therefore segments will be added. For our example you see a lot of new spline segments with each one control point and the shape of the spline has only slightly been changed:
Increasing the degree will add control points and the shape of the spline is not changed:


</translate>
</translate>
[[File:Sketcher_BSplineDegree4.png|400px]]
[[File:Sketcher_BSplineDegree4.png|400px]]
<translate>
<translate>
<!--T:24-->
{{Caption|Same B-spline where the degree was changed from 3 to 4. Note that also the knot multiplicity was increased to conserve the spline shape.}}
{{Caption|Same B-spline where the degree was changed from 3 to 4. Note that also the knot multiplicity was increased.}}


<!--T:25-->
If you take this result and decrease the degree, you cannot get the initial state of the spline because information was lost by the increase of the degree. For our example increasing the degree again leads to this:
If you take this result and decrease the degree, you cannot get the initial state of the spline information will be lost by this operation. For our example decreasing the degree again leads to this:


</translate>
</translate>
[[File:Sketcher_BSplineDegree3from4.png|400px]]
[[File:Sketcher_BSplineDegree3from4.png|400px]]
<translate>
<translate>
<!--T:26-->
{{Caption|Same B-spline where the degree was again changed from 4 to 3. Note that the knot multiplicity was not decreased but increased.}}
{{Caption|Same B-spline where the degree was changed back from 4 to 3. Note that the knot multiplicity was increased. Depending on the spline, the algorithm to decrease the degree may add a lot of knots to preserve the spline shape as happened in this example.}}

<!--T:27-->
You can see that now each segment has 2 control points and the knots are coincident with each a further control point. The knots have now ''C''<sup>0</sup> continuity so that the spline will get "edges" when you move a control point. So the information of a higher continuity is lost. (see [[Sketcher_BSplineDecreaseKnotMultiplicity#Description|this page]] to for an explanation of the continuity)

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


Line 55: Line 70:
<!--T:8-->
<!--T:8-->
{{Docnav
{{Docnav
|[[Sketcher_BSplineConvertToNURB|Convert Geometry to B-spline]]
|[[Sketcher_BSplineApproximate|Convert geometry to B-spline]]
|[[Sketcher_BSplineDecreaseDegree|Decrease B-spline degree]]
|[[Sketcher_BSplineDecreaseDegree|Decrease B-spline degree]]
|[[Sketcher_Workbench|Sketcher]]
|[[Sketcher_Workbench|Sketcher]]
|IconL=Sketcher_BSplineConvertToNURB.svg
|IconL=Sketcher_BSplineApproximate.svg
|IconC=Workbench_Sketcher.svg
|IconR=Sketcher_BSplineIncreaseKnotMultiplicity.svg
|IconR=Sketcher_BSplineIncreaseKnotMultiplicity.svg
|IconC=Workbench_Sketcher.svg
}}
}}


</translate>
</translate>
{{Sketcher Tools navi{{#translation:}}}}
{{Sketcher_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 11:06, 21 March 2022

Sketcher BSplineIncreaseDegree

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

Description

Increases the degree (order) of a B-spline (see this page for more info about B-splines).

B-splines are basically a combination of Bézier curves (nicely explained in this and this video).

In this cubic spline (degree 3) there are 3 segments, meaning 3 curves are connected at 2 knots
(degree is indicated by the number, indication can be changed using the toolbar button Show/hide B-spline degree):

B-spline with degree 3 and 2 knots that each have the multiplicity 1.

The outer segments have each 2 control points, the inner one none to fulfill the constraint that the knots have multiplicity 1. (see this page for an explanation of the multiplicity)

Increasing the degree will add control points and the shape of the spline is not changed:

Same B-spline where the degree was changed from 3 to 4. Note that also the knot multiplicity was increased.

If you take this result and decrease the degree, you cannot get the initial state of the spline information will be lost by this operation. For our example decreasing the degree again leads to this:

Same B-spline where the degree was changed back from 4 to 3. Note that the knot multiplicity was increased. Depending on the spline, the algorithm to decrease the degree may add a lot of knots to preserve the spline shape as happened in this example.

You can see that now each segment has 2 control points and the knots are coincident with each a further control point. The knots have now C0 continuity so that the spline will get "edges" when you move a control point. So the information of a higher continuity is lost. (see this page to for an explanation of the continuity)

Usage

  1. Select an edge from an existing B-spline, and press Increase B-spline degree.