# Sketcher "Показать/скрыть контрольную точку веса B-сплайна"

This page is a translated version of the page Sketcher BSplinePoleWeight and the translation is 12% complete.
Outdated translations are marked like this.
Other languages:
English • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский

Показать/скрыть контрольную точку веса B-сплайна

Системное название
Sketcher_BSplinePoleWeight
Расположение в меню
Sketch → B-сплйан инструменты эскиза → Показать/скрыть контрольную точку веса B-сплайна
Верстаки
Sketcher
Быстрые клавиши
Нет
Представлено в версии
0.19
См. также
Создать B-сплайн

## Описание

Shows or hides the display of the weights for the control points of a B-spline curve (see below for an explanation of weights).

B-spline with control point weights displayed in brackets

## Применение

1. Select a B-spline and use the toolbar button .

## Weight Explanation

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

The Bézier curve is calculated using this formula:

${\displaystyle \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 is hereby the degree of the curve. So a Bézier curve of degree n is a polygon with order n. The factors ${\displaystyle P_{i}}$ are hereby in fact the coordinates of the Bézier curves' control points. For a visualization see this page.

The term weight in FreeCAD is a bit misleading because in literature the factors ${\displaystyle P_{i}}$ are often called weights as well. FreeCAD's weights are something different. The idea of these weights is to modify the spline so that the different control points are "weighted". The idea is that a point with weight 2 should have twice as much influence than a point with weight 1. This is achieved by using this different formula to calculate the spline:

${\displaystyle \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 ${\displaystyle w_{i}}$ is the weight for the point ${\displaystyle 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:

Same B-spline as in first image but with different absolute weight values

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:

Same B-spline with an almost zero weight control point

## Changing Weights

How to change weights is described in this Wiki page.