mirror of
https://github.com/Pomax/BezierInfo-2.git
synced 2025-08-30 11:40:27 +02:00
ru-RU Aligning (#334)
* ru-RU Aligning curves translation of Aligning curves chapter to Russian * Automated build * Automated build Co-authored-by: Mammoth <echo@mammothnotes.com> Co-authored-by: Bezierinfo CI <action@github.com> Co-authored-by: Pomax <pomax@nihongoresources.com>
This commit is contained in:
47
docs/chapters/aligning/content.ru-RU.md
Normal file
47
docs/chapters/aligning/content.ru-RU.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Выравнивание (пересчет) кривых
|
||||
|
||||
В то время как есть бесконечное множество кривых мы можем задать перемещая x и y кооординаты контрольных точек, не все кривые являются различными между собой. К примеру, если мы зададим кривую, затем повернем ее на 90 градусов, это будет все та же кривая, и все свойста, как, к примеру, точки экстримов, будут на тех же ее участках, только зарисованы на полотне координат в другой точке. Таким образом, одним из способов убедится, что мы работаем с "уникальными" кривыми, является выравнивание их с осями координат.
|
||||
|
||||
Выравнивание так же упрощает уравнение кривой. Мы можем транслитерировать (переместить) кривую таким образом, что первая ее точка будет лежать на точке начала координат (0,0), что, в свою очередь, переведет наш полиноминальную функцию *n* порядка, на порядок ниже, *(n-1)*. Последовательность останется такой же, но у нас будет меньше условий. Далее мы развернем кривую так, чтобы последняя точка тоже лежала на оси координат, переводя ее значение в (..., 0). Это далее упрощает ф-цию для ее формулы по Y переводя ее еще на порядок ниже. Так, если у нас была кубическая ф-ция:
|
||||
|
||||
\[
|
||||
\left \{ \begin{matrix}
|
||||
x = BLUE[120] \cdot (1-t)^3 BLUE[+ 35] \cdot 3 \cdot (1-t)^2 \cdot t BLUE[+ 220] \cdot 3 \cdot (1-t) \cdot t^2 BLUE[+ 220] \cdot t^3 \\
|
||||
y = BLUE[160] \cdot (1-t)^3 BLUE[+ 200] \cdot 3 \cdot (1-t)^2 \cdot t BLUE[+ 260] \cdot 3 \cdot (1-t) \cdot t^2 BLUE[+ 40] \cdot t^3
|
||||
\end{matrix} \right.
|
||||
\]
|
||||
|
||||
Мы переместим первую точку в начало координат, смещая все значания x на -120 и y на -160:
|
||||
|
||||
\[
|
||||
\left \{ \begin{matrix}
|
||||
x = RED[0] \cdot (1-t)^3 BLUE[- 85] \cdot 3 \cdot (1-t)^2 \cdot t BLUE[+ 100] \cdot 3 \cdot (1-t) \cdot t^2 BLUE[+ 100] \cdot t^3 \\
|
||||
y = RED[0] \cdot (1-t)^3 BLUE[+ 40] \cdot 3 \cdot (1-t)^2 \cdot t BLUE[+ 100] \cdot 3 \cdot (1-t) \cdot t^2 BLUE[- 120] \cdot t^3
|
||||
\end{matrix} \right.
|
||||
\]
|
||||
|
||||
Затем, повернем кривую до оси X (новые значания x и y округлены в иллюстративных целях):
|
||||
|
||||
\[
|
||||
\left \{ \begin{matrix}
|
||||
x = RED[0] \cdot (1-t)^3 BLUE[- 85] \cdot 3 \cdot (1-t)^2 \cdot t BLUE[- 12] \cdot 3 \cdot (1-t) \cdot t^2 BLUE[+ 156] \cdot t^3 \\
|
||||
y = RED[0] \cdot (1-t)^3 BLUE[- 40] \cdot 3 \cdot (1-t)^2 \cdot t BLUE[+ 140] \cdot 3 \cdot (1-t) \cdot t^2 RED[+ 0] \cdot t^3
|
||||
\end{matrix} \right.
|
||||
\]
|
||||
|
||||
Итак, опуская все нулевые значения, получаем
|
||||
|
||||
\[
|
||||
\left \{ \begin{array}{l}
|
||||
x = BLUE[- 85] \cdot 3 \cdot (1-t)^2 \cdot t BLUE[- 12] \cdot 3 \cdot (1-t) \cdot t^2 BLUE[+ 156] \cdot t^3 \\
|
||||
y = BLUE[- 40] \cdot 3 \cdot (1-t)^2 \cdot t BLUE[+ 140] \cdot 3 \cdot (1-t) \cdot t^2
|
||||
\end{array} \right.
|
||||
\]
|
||||
|
||||
Как мы видим, наше изначальное определение кривой было существенно упрощено. Следущие зарисовки демострируют результат выравнивание кривой с осью X. первый рисунок соотвествует приведеному выше примеру кривой.
|
||||
|
||||
<graphics-element title="Aligning a quadratic curve" width="550" src="./aligning.js" data-type="quadratic"></graphics-element>
|
||||
|
||||
|
||||
|
||||
<graphics-element title="Aligning a cubic curve" width="550" src="./aligning.js" data-type="cubic"></graphics-element>
|
Reference in New Issue
Block a user