Difference between revisions of "Sketcher BSplineDecreaseDegree"
(create page) |
(remove statement about number of control points as discussed: https://forum.freecadweb.org/viewtopic.php?f=3&t=51600&p=444884#p444884) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
<!--T:14--> | <!--T:14--> | ||
{{Docnav | {{Docnav | ||
− | |[[Sketcher_BSplineIncreaseDegree|Increase degree]] | + | |[[Sketcher_BSplineIncreaseDegree|Increase B-spline degree]] |
|[[Sketcher_BSplineIncreaseKnotMultiplicity|Increase knot multiplicity]] | |[[Sketcher_BSplineIncreaseKnotMultiplicity|Increase knot multiplicity]] | ||
|[[Sketcher_Workbench|Sketcher]] | |[[Sketcher_Workbench|Sketcher]] | ||
Line 17: | Line 17: | ||
|MenuLocation=Sketch → Sketcher B-spline tools → Decrease Degree of B-spline | |MenuLocation=Sketch → Sketcher B-spline tools → Decrease Degree of B-spline | ||
|Version=0.19 | |Version=0.19 | ||
− | |SeeAlso=[[Sketcher_BSplineIncreaseDegree| | + | |SeeAlso=[[Sketcher_BSplineDegree|Show/hide B-spline degree]], [[Sketcher_BSplineIncreaseDegree|Increase B-spline degree]] |
}} | }} | ||
Line 23: | Line 23: | ||
<!--T:10--> | <!--T:10--> | ||
− | Decreases the degree of the B-spline | + | Decreases the degree (order) of the 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). | ||
+ | |||
+ | In this cubic spline (degree 3) there are 3 segments, meaning 3 curves are connected at 2 knots<br>(the 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: | + | [[File:Sketcher_BSplineDegree3.png|400px]] |
<translate> | <translate> | ||
+ | {{Caption|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 [[Sketcher_BSplineDecreaseKnotMultiplicity#Description|this page]] for an explanation of the multiplicity) | ||
− | < | + | Decreasing 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: |
− | {{Caption|Same B-spline | + | |
+ | </translate> | ||
+ | [[File:Sketcher_BSplineDegree2.png|400px]] | ||
+ | <translate> | ||
+ | {{Caption|Same B-spline where the degree was changed from 3 to 2. Note that also the knot multiplicity was increased to conserve the spline shape. In effect the knots have now ''C''<sup>0</sup> continuity so that the spline will get "edges" when you move a control point. (see [[Sketcher_BSplineDecreaseKnotMultiplicity#Description|this page]] to for an explanation of the continuity)}} | ||
+ | |||
+ | If you take this result and increase the degree, you cannot get the initial state of the spline because information was lost by the prior decrease of the degree. For our example increasing the degree again leads to this: | ||
+ | |||
+ | </translate> | ||
+ | [[File:Sketcher_BSplineDegree3again.png|400px]] | ||
+ | <translate> | ||
+ | {{Caption|Same B-spline where the degree was changed back from 2 to 3. Note that the knot multiplicity increased too because the information for a possible higher continuity was lost.}} | ||
==Usage== <!--T:5--> | ==Usage== <!--T:5--> | ||
<!--T:17--> | <!--T:17--> | ||
− | # Select an edge from an existing B-spline, and press {{Button|[[File: | + | # Select an edge from an existing B-spline, and press {{Button|[[File:Sketcher_BSplineDecreaseDegree.svg|24px]] '''Decrease B-spline degree'''}}. |
+ | |||
<!--T:8--> | <!--T:8--> | ||
{{Docnav | {{Docnav | ||
− | |[[Sketcher_BSplineIncreaseDegree|Increase degree]] | + | |[[Sketcher_BSplineIncreaseDegree|Increase B-spline degree]] |
|[[Sketcher_BSplineIncreaseKnotMultiplicity|Increase knot multiplicity]] | |[[Sketcher_BSplineIncreaseKnotMultiplicity|Increase knot multiplicity]] | ||
|[[Sketcher_Workbench|Sketcher]] | |[[Sketcher_Workbench|Sketcher]] |
Latest revision as of 03:12, 3 November 2020
Menu location |
---|
Sketch → Sketcher B-spline tools → Decrease Degree of B-spline |
Workbenches |
Sketcher |
Default shortcut |
None |
Introduced in version |
0.19 |
See also |
Show/hide B-spline degree, Increase B-spline degree |
Contents |
Description
Decreases the degree (order) of the B-spline.
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
(the 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)
Decreasing 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:
Same B-spline where the degree was changed from 3 to 2. Note that also the knot multiplicity was increased to conserve the spline shape. In effect the knots have now C^{0} continuity so that the spline will get "edges" when you move a control point. (see this page to for an explanation of the continuity)
If you take this result and increase the degree, you cannot get the initial state of the spline because information was lost by the prior decrease of the degree. For our example increasing the degree again leads to this:
Same B-spline where the degree was changed back from 2 to 3. Note that the knot multiplicity increased too because the information for a possible higher continuity was lost.
Usage
- The tools: New sketch, Edit sketch, Leave sketch, View sketch, View section, Map sketch to face, Reorient sketch, Validate sketch, Merge sketches, Mirror sketch
- Sketcher geometries: Point, Line by 2 point, Create an arc, Arc, Arc by 3 Point, Create a circle, Circle, Circle by 3 Point, Create a conic, Ellipse by center, Ellipse by 3 points, Arc of ellipse, Arc of hyperbola, Arc of parabola, Create a B-spline, Create B-spline, Create periodic B-pline, Polyline (multiple-point line), Rectangle, Create regular polygon, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Create Regular Polygon, Slot, Fillet, Trimming, Extend, External Geometry, CarbonCopy, Construction Mode
- Sketcher constraints
- Geometric constraints Coincident, Point On Object, Vertical, Horizontal, Parallel, Perpendicular, Tangent, Equal Length, Symmetric, Constrain Block
- Dimensional constraints Lock, Horizontal Distance, Vertical Distance, Distance, Radius, Internal Angle, Snell's Law, Internal Alignment, Toggle reference/driving constraint,
- Sketcher tools Select solver DOFs, Close Shape, Connect Edges, Select Constraints, Select Origin, Select Vertical Axis, Select Horizontal Axis, Select Redundant Constraints, Select Conflicting Constraints, Select Elements Associated with constraints, Show/Hide internal geometry, Symmetry, Clone, Copy, Move, Rectangular Array, Delete All Geometry, Delete All Constraints
- Sketcher B-spline tools Show/Hide B-spline degree, Show/Hide B-spline control polygon, Show/Hide B-spline curvature comb, Show/Hide B-spline knot multiplicity, Convert Geometry to B-spline, Increase degree, Increase knot multiplicity, Decrease knot multiplicity
- Sketcher virtual space Switch Virtual Space
- Getting started
- Installation: Download, Linux, Windows, MacOS, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties; Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base; Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Points, Raytracing, Reverse Engineering, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Unmaintained workbenches: Plot, Robot, Ship
- Deprecated workbenches: Complete, Drawing
- Code: Addon Manager, Addons, Macros, External workbenches
- Hubs: User hub, Power users hub, Developer hub