Sketcher BSplinePoleWeight: Difference between revisions

From FreeCAD Documentation
(more info - more to come)
(Removed the "Weight explanation" paragraph. Does not belong here.)
(33 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Page_in_progress}}
<translate>
<translate>

<!--T:10-->
<!--T:10-->
{{Docnav
{{Docnav
|[[Sketcher_BSplineKnotMultiplicity| Show/Hide B-spline knot multiplicity]]
|[[Sketcher_BSplineKnotMultiplicity|Show/hide B-spline knot multiplicity]]
|[[Sketcher_ArcOverlay|Show/hide circular helper for arcs]]
|[[Sketcher_BSplineConvertToNURB|Convert Geometry to B-spline]]
|[[Sketcher_Workbench|Sketcher]]
|[[Sketcher_Workbench|Sketcher]]
|IconL=Sketcher_BSplineKnotMultiplicity.svg
|IconL=Sketcher_BSplineKnotMultiplicity.svg
|IconR=Sketcher_ArcOverlay.svg
|IconC=Workbench_Sketcher.svg
|IconC=Workbench_Sketcher.svg
|IconR=Sketcher_BSplineConvertToNURB.svg
}}
}}


Line 14: Line 16:
{{GuiCommand
{{GuiCommand
|Name=Sketcher BSplinePoleWeight
|Name=Sketcher BSplinePoleWeight
|MenuLocation=Sketch → Sketcher visual → Show/hide B-spline information layer → Show/hide B-spline control point weight
|Workbenches=[[Sketcher Workbench|Sketcher]]
|Workbenches=[[Sketcher_Workbench|Sketcher]]
|MenuLocation=Sketch → Sketcher B-spline tools → Show/Hide B-spline control point weight
|Version=0.19
|Version=0.19
|SeeAlso=[[Sketcher_CompCreateBSpline|Create B-spline]]
|SeeAlso=[[Sketcher_CreateBSpline|Sketcher CreateBSpline]]
}}
}}


Line 23: Line 25:


<!--T:9-->
<!--T:9-->
The [[Image:Sketcher_BSplinePoleWeight.svg|24px]] [[Sketcher_BSplinePoleWeight|Sketcher BSplinePoleWeight]] tool shows or hides the B-spline control point weight in all sketches. See [[#Weight_explanation|below]] for an explanation about weights.
Shows or hides the display of the '''weight''' for the control points of a B-spline curve (see [https://en.wikipedia.org/wiki/B-spline B-spline]).


</translate>
</translate>
[[File:sketcher_BSplineWeightShow.png|468px]]
[[File:sketcher_BSplineWeightShow.png|468px]]
<translate>
<translate>
<!--T:14-->
{{Caption|B-spline with control point weights displayed in brackets}}
{{Caption|The numbers (green, in square brackets) refer to the weights of the control points.}}


==Usage== <!--T:5-->
</translate>
[[File:sketcher_BSplineWeightHide.png|468px]]
<translate>
{{Caption|Same B-spline without weights}}


<!--T:13-->
The weights determine how the control points are taken into account. The term weight is hereby a bit misleading because in literature the coordinates of the control points are often described as weights since they appear as factor in the definition of the Bézier curves:
# There are several ways to invoke the tool:
#* Press the {{Button|[[Image:Sketcher_BSplinePoleWeight.svg|16px]] [[Sketcher_BSplinePoleWeight|Show/hide B-spline control point weight]]}} button.
#* Select the {{MenuCommand|Sketch → Sketcher visual → Show/hide B-spline information layer → [[Image:Sketcher_BSplinePoleWeight.svg|16px]] Show/hide B-spline control point weight}} option from the menu.


==Changing weights== <!--T:29-->
<math>\quad
\textrm{Bezier}(n,t)=\sum_{i=0}^{n}\underbrace{\binom{n}{i}}_{\text{polynomial term}}\underbrace{\left(1-t\right)^{n-i}t^{i}}_{\text{polynomial term}}\underbrace{w_{i}}_{\text{weight}}
</math>


<!--T:30-->
''n'' is hereby the degree of the curve. So a Bézier curve of degree ''n'' is a polygon with order ''n''. 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).
How to change weights is described on [[B-Splines#Changing_the_Weight|this page]].

The spline weight in FreeCAD is however something different. The idea is to modify the spline so that the different control points are "weighted". So a point with weight 2 should have twice as much influence than a point with weight 1. This is achieved by using this formula to calculate the spline:

<math>\quad
\textrm{Bezier}(n,t)=\sum_{i=0}^{n}\underbrace{\binom{n}{i}}_{\text{polynomial term}}\underbrace{\left(1-t\right)^{n-i}t^{i}}_{\text{polynomial term}}\underbrace{w_{i}}_{\text{weight}}
</math>



Therefore, if all weights are equal, the shape of the spline does not change. So the weights relative to each other is important, not the value alone. For example this spline has exactly the same shape as the one in the first image:

</translate>
[[File:sketcher_BSplineWeightDouble.png|468px]]
<translate>
{{Caption|Same B-spline as in first image but with different absolute weight values}}

A weight of zero would be a singularity in equation??, therefore FreeCAD assures that it cannot become zero. Nevertheless, small values have the same effect as if the control point would almost not exist:

</translate>
[[File:sketcher_BSplineWeightZero.png|468px]]
<translate>
{{Caption|Same B-spline with a zero weight control point}}

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

<!--T:13-->
# Select a B-spline and apply.




<!--T:8-->
<!--T:8-->
{{Docnav
{{Docnav
|[[Sketcher_BSplineKnotMultiplicity|Show/Hide B-spline knot multiplicity]]
|[[Sketcher_BSplineKnotMultiplicity|Show/hide B-spline knot multiplicity]]
|[[Sketcher_ArcOverlay|Show/hide circular helper for arcs]]
|[[Sketcher_BSplineConvertToNURB|Convert Geometry to B-spline]]
|[[Sketcher_Workbench|Sketcher]]
|[[Sketcher_Workbench|Sketcher]]
|IconL=Sketcher_BSplineKnotMultiplicity.svg
|IconL=Sketcher_BSplineKnotMultiplicity.svg
|IconR=Sketcher_ArcOverlay.svg
|IconC=Workbench_Sketcher.svg
|IconC=Workbench_Sketcher.svg
|IconR=Sketcher_BSplineConvertToNURB.svg
}}
}}


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

Revision as of 08:39, 18 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 BSplinePoleWeight

Menu location
Sketch → Sketcher visual → Show/hide B-spline information layer → Show/hide B-spline control point weight
Workbenches
Sketcher
Default shortcut
None
Introduced in version
0.19
See also
Sketcher CreateBSpline

Description

The Sketcher BSplinePoleWeight tool shows or hides the B-spline control point weight in all sketches. See below for an explanation about weights.

The numbers (green, in square brackets) refer to the weights of the control points.

Usage

  1. There are several ways to invoke the tool:
    • Press the Show/hide B-spline control point weight button.
    • Select the Sketch → Sketcher visual → Show/hide B-spline information layer → Show/hide B-spline control point weight option from the menu.

Changing weights

How to change weights is described on this page.