Sketcher BSplinePoleWeight/pl

Opis
Pokazuje lub ukrywa wyświetlanie wag dla punktów kontrolnych krzywej złożonej (zobacz poniższy akapit dla wyjaśnienia wag).



Użycie

 * 1) Wybierz krzywą złożoną i użyj przycisku na pasku narzędzi.



Objaśnienie wagi
Krzywe złozone są w zasadzie kombinacją Krzywych Béziera (ładnie wyjaśnione w filmie From Bézier curves to B-spline curves oraz Properties of B-spline curves).

Krzywą Béziera oblicza się według poniższego wzoru:

$$\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{P_{i}}_{\text{point coordinate}} $$

"n" jest niniejszym stopniem krzywej. Zatem krzywa Béziera stopnia n jest wielokątem rzędu n. Współczynniki $$P_{i}$$ są więc współrzędnymi punktów kontrolnych krzywych Béziera. Wizualizację można znaleźć na stronie kontrolowanie krzywizn Béziera.

Termin waga w FreeCAD jest nieco mylący, ponieważ w literaturze współczynniki $$P_{i}$$ również często nazywane są wagami. Wagi w FreeCAD są czymś innym. Ideą tych wag jest zmodyfikowanie krzywej tak, aby różne punkty kontrolne były "ważone". Chodzi o to, że punkt o wadze 2 powinien mieć dwa razy większy wpływ niż punkt o wadze 1. Osiąga się to poprzez użycie tej innej formuły do obliczenia krzywej:

$$\quad \mathrm{Rational\ Bezier}(n,t)=\cfrac{\sum_{i=0}^{n}\binom{n}{i}\left(1-t\right)^{n-i}t^{i}w_{i}P_{i}}{\sum_{i=0}^{n}\binom{n}{i}\left(1-t\right)^{n-i}t^{i}w_{i}\;\;\;\,} $$

whereby $$w_{i}$$ is the weight for the point $$P_{i}$$.

This is a new class of Bézier curves because despite the points are indeed weighted as desired, the curve is no longer a polynomial but a fractional polynomial. Therefore these curves are called rational Bézier curves and the B-splines is then called rational B-splines.

The consequence is that you gain more flexibility in defining the spline shape. 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:



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



Changing Weights
How to change weights is described in this Wiki page.