Sketcher BSplineIncreaseDegree: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Page_in_progress}}
<translate>
<translate>


<!--T:14-->
<!--T:14-->
{{Docnav
{{Docnav
|[[Sketcher_BSplineApproximate|Convert geometry to B-spline]]
|[[Sketcher_BSplineConvertToNURBS|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_BSplineApproximate.svg
|IconL=Sketcher_BSplineConvertToNURBS.svg
|IconR=Sketcher_BSplineIncreaseKnotMultiplicity.svg
|IconR=Sketcher_BSplineDecreaseDegree.svg
|IconC=Workbench_Sketcher.svg
|IconC=Workbench_Sketcher.svg
}}
}}
Line 18: Line 19:
|Workbenches=[[Sketcher_Workbench|Sketcher]]
|Workbenches=[[Sketcher_Workbench|Sketcher]]
|Version=0.17
|Version=0.17
|SeeAlso=[[Sketcher_BSplineDegree|Sketcher Show/hide B-spline degree]], [[Sketcher_BSplineDecreaseDegree|Sketcher Decrease B-spline degree]]
|SeeAlso=[[Sketcher_BSplineDecreaseDegree|Sketcher BSplineDecreaseDegree]]
}}
}}


Line 24: Line 25:


<!--T:10-->
<!--T:10-->
The [[Image:Sketcher_BSplineIncreaseDegree.svg|24px]] [[Sketcher_BSplineIncreaseDegree|Sketcher BSplineIncreaseDegree]] tool increases the degree (order) of [[B-Splines|B-splines]].
Increases the degree (order) of a B-spline (see [[B-Splines|this page]] for more info about B-splines).

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

<!--T:17-->
# Select one or more B-splines.
# There are several ways to invoke the tool:
#* Press the {{Button|[[Image:Sketcher_BSplineIncreaseDegree.svg|16px]] [[Sketcher_BSplineIncreaseDegree|Increase B-spline degree]]}} button.
#* Select the {{MenuCommand|Sketch → Sketcher B-spline tools → [[Image:Sketcher_BSplineIncreaseDegree.svg|16px]] Increase B-spline degree}} option from the menu.
#* {{Version|0.22}}: Right-click in the [[3D_view|3D view]] and select the {{MenuCommand|[[Image:Sketcher_BSplineIncreaseDegree.svg|16px]] Increase B-spline degree}} option from the context menu.

==Example==


<!--T:19-->
<!--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).
B-splines are basically a combination of [[B-Splines#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-->
<!--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]]}}):
In this cubic B-spline (degree 3) there are 3 segments, meaning 3 curves are connected at 2 knots.

The degree is indicated by the number in the center. See [[File:Sketcher_BSplineDegree.svg|16px]] [[Sketcher_BSplineDegree|Show/hide B-spline degree]].


</translate>
</translate>
Line 36: Line 50:
<translate>
<translate>
<!--T:21-->
<!--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 multiplicity 1.}}


<!--T:22-->
<!--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 each have 2 control points, the inner segment has none to ensure the knots have multiplicity 1. See [[Sketcher_BSplineDecreaseKnotMultiplicity#Description|this page]] for an explanation about multiplicity.


<!--T:23-->
<!--T:23-->
Increasing the degree will add control points and the shape of the spline is not changed:
Increasing the degree to 4 will add control points without changing the shape of the B-spline:


</translate>
</translate>
Line 48: Line 62:
<translate>
<translate>
<!--T:24-->
<!--T:24-->
{{Caption|Same B-spline where the degree was changed from 3 to 4. Note that also the knot multiplicity was increased.}}
{{Caption|Same B-spline where the degree was changed from 3 to 4. Note that the knot multiplicity has also increased.}}


<!--T:25-->
<!--T:25-->
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:
From this result you cannot get back to the initial state of the B-spline by decreasing the degree. Some information is lost when the degree of a B-spline is changed. Decreasing the degree back to 3 leads to this:


</translate>
</translate>
Line 57: Line 71:
<translate>
<translate>
<!--T:26-->
<!--T:26-->
{{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.}}
{{Caption|Same B-spline where the degree was changed back from 4 to 3. Note that the knot multiplicity has increased again. Depending on the B-spline, the algorithm to decrease the degree may add a lot of knots to preserve the shape as has happened here.}}


<!--T:27-->
<!--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)
Each segment now has 2 control points and each knot is coincident with an additional control point. The knots have ''C<sup>0</sup>'' continuity so that the B-spline will get "corners" if you move a control point. The information of a higher continuity is therefore lost. See [[Sketcher_BSplineDecreaseKnotMultiplicity#Description|this page]] for an explanation about continuity.

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

<!--T:17-->
# Select an edge from an existing B-spline, and press {{Button|[[File:Sketcher_BSplineIncreaseDegree.svg|24px]] '''Increase B-spline degree'''}}.




<!--T:8-->
<!--T:8-->
{{Docnav
{{Docnav
|[[Sketcher_BSplineApproximate|Convert geometry to B-spline]]
|[[Sketcher_BSplineConvertToNURBS|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_BSplineApproximate.svg
|IconL=Sketcher_BSplineConvertToNURBS.svg
|IconR=Sketcher_BSplineIncreaseKnotMultiplicity.svg
|IconR=Sketcher_BSplineDecreaseDegree.svg
|IconC=Workbench_Sketcher.svg
|IconC=Workbench_Sketcher.svg
}}
}}

Revision as of 11:14, 2 April 2024

This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.

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 BSplineDecreaseDegree

Description

The Sketcher BSplineIncreaseDegree tool increases the degree (order) of B-splines.

Usage

  1. Select one or more B-splines.
  2. There are several ways to invoke the tool:

Example

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

In this cubic B-spline (degree 3) there are 3 segments, meaning 3 curves are connected at 2 knots.

The degree is indicated by the number in the center. See Show/hide B-spline degree.

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

The outer segments each have 2 control points, the inner segment has none to ensure the knots have multiplicity 1. See this page for an explanation about multiplicity.

Increasing the degree to 4 will add control points without changing the shape of the B-spline:

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

From this result you cannot get back to the initial state of the B-spline by decreasing the degree. Some information is lost when the degree of a B-spline is changed. Decreasing the degree back to 3 leads to this:

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

Each segment now has 2 control points and each knot is coincident with an additional control point. The knots have C0 continuity so that the B-spline will get "corners" if you move a control point. The information of a higher continuity is therefore lost. See this page for an explanation about continuity.