Sketcher BSplineIncreaseDegree: Difference between revisions

From FreeCAD Documentation
(Marked this version for translation)
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Page_in_progress}}
<translate>
<translate>


Line 19: Line 18:
|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 25: Line 24:


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


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


<!--T:17-->
<!--T:17-->
# Select a B-spline.
# Select one or more B-splines.
# There are several ways to invoke the tool:
# There are several ways to invoke the tool:
#* Press the {{Button|[[Image:Sketcher_BSplineIncreaseDegree.svg|16px]] [[Sketcher_BSplineIncreaseDegree|Increase B-spline degree]]}} button.
#* 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.
#* 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.
#* {{Version|1.0}}: 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==
==Example== <!--T:28-->


<!--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 B-spline (degree 3) there are 3 segments, meaning 3 curves are connected at 2 knots.
In this cubic B-spline (degree 3) there are 3 segments, meaning 3 curves are connected at 2 knots.


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


Line 50: 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 each have 2 control points, the inner segment has none to fulfill the constraint that the knots have multiplicity 1. See [[Sketcher_BSplineDecreaseKnotMultiplicity#Description|this page]] for an explanation about 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-->
Line 62: Line 62:
<translate>
<translate>
<!--T:24-->
<!--T:24-->
{{Caption|Same B-spline where the degree was changed from 3 to 4. Note that the knot multiplicity was also 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-->
From this result you cannot get back to the initial state of the B-spline by decreasing the degree as some information was lost in this operation. Decreasing the degree back to 3 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 71: 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 B-spline, the algorithm to decrease the degree may add a lot of knots to preserve the 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-->
Each segment now has 2 control points and each knot is coincident with an additional control point. The knots now have ''C''<sup>0</sup> continuity so that the spline will get "edges" when you move a control point. The information of a higher continuity is therefore 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.





Latest revision as of 07:28, 22 April 2024

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.