Спираль Эйлера

редактировать
Двусторонняя спираль Эйлера. Кривая продолжает сходиться к отмеченным точкам, поскольку t стремится к положительной или отрицательной бесконечности.

Спираль Эйлера - это кривая, кривизна которой изменяется линейно с длиной кривой ( кривизна круговой кривой равна обратной величине радиуса). Спирали Эйлера также обычно называют спиралями, клотоидами или спиралями Корну .

Спирали Эйлера имеют приложения для дифракционных вычислений. Они также широко используются в качестве переходных кривых в железнодорожном строительстве / дорожном строительстве для соединения и перехода геометрии между касательной и круговой кривой. Аналогичное применение также можно найти в фотонных интегральных схемах. Принцип линейного изменения кривизны переходной кривой между касательной и круговой кривой определяет геометрию спирали Эйлера:

  • Ее кривизна начинается с нуля на прямом участке (касательной) и линейно увеличивается с увеличением длины кривой..
  • Там, где спираль Эйлера встречается с круговой кривой, ее кривизна становится равной кривизне последней.
Содержание
  • 1 Приложения
    • 1.1 Кривая перехода трека
    • 1.2 Оптика
    • 1.3 Интегрированная оптика
    • 1.4 Автогонки
    • 1.5 Типографика и цифровая векторная графика
    • 1.6 Проекция карты
    • 1.7 Формы усов
  • 2 Формулировка
    • 2.1 Символы
    • 2.2 Расширение интеграла Френеля
    • 2.3 Нормализация и заключение
      • 2.3.1 Иллюстрация
    • 2.4 Другие свойства нормализованных спиралей Эйлера
  • 3 Код для создания спирали Эйлера
  • 4 См. Также
  • 5 Ссылки
  • 6 Дополнительная литература
  • 7 Внешние ссылки
Приложения

Кривая перехода трека

Анимация, изображающая эволюцию Cornu sp Параллельно с тангенциальным кругом с таким же радиусом кривизны, что и на его вершине, также известный как соприкасающийся круг.

Чтобы двигаться по круговой траектории, объект должен подвергаться центростремительному ускорению (например: луна вращается вокруг земли под действием силы тяжести; автомобиль поворачивает свои передние колеса внутрь, чтобы создать центростремительную силу). Если транспортное средство, движущееся по прямой дороге, внезапно перейдет на тангенциальную круговую траекторию, это потребует внезапного переключения центростремительного ускорения в точке касания с нуля на требуемое значение; Этого было бы трудно достичь (представьте себе водителя, который мгновенно переводит рулевое колесо из прямого положения в положение поворота, и машина фактически делает это), оказывая механическую нагрузку на детали автомобиля и вызывая сильный дискомфорт (из-за бокового рывок ).

На ранних железных дорогах это мгновенное приложение поперечной силы не было проблемой, поскольку использовались низкие скорости и повороты с широким радиусом (поперечные силы на пассажиров и поперечное колебание были небольшими и допустимыми). По мере того как скорость рельсовых транспортных средств с годами увеличивалась, стало очевидно, что необходим сервитут, так что центростремительное ускорение увеличивается линейно с пройденным расстоянием. Учитывая выражение центростремительного ускорения V² / R, очевидным решением является создание кривой сервитута, кривизна которой, 1 / R, увеличивается линейно с пройденным расстоянием. Эта геометрия представляет собой спираль Эйлера.

Не зная о решении геометрии Леонарда Эйлера, Ранкин процитировал кубическую кривую (полиномиальная кривая степени 3), которая представляет собой приближение спирали Эйлера для малых угловых изменений так же, как парабола является приближением круговой кривой.

Мари Альфред Корню (а позже и некоторые инженеры-строители) также независимо решила исчисление спирали Эйлера. Спирали Эйлера теперь широко используются в строительстве железных дорог и шоссе для обеспечения перехода или облегчения между касательной и горизонтальной круговой кривой.

Оптика

Спираль Корню может использоваться для описания дифракционной картины. Рассмотрим плоскую волну с амплитудой фазора E oe - jkz {\ displaystyle E_ {o} e ^ {- jkz}}{ \ displaystyle E_ {o} e ^ {- jkz}} , которая дифрагирует на «острие лезвия» высотой h { \ displaystyle h}h выше x = 0 {\ displaystyle x = 0}x=0на z = 0 {\ displaystyle z = 0}{\ displaystyle z = 0} самолет. Тогда поле дифрагированной волны можно выразить как

E (x, z) = E oe - jkz F r (∞) - F r (2 λ z (h - x)) F r (∞) - F r ( - ∞) {\ displaystyle {\ textbf {E}} (x, z) = E_ {o} e ^ {- jkz} {\ frac {Fr (\ infty) -Fr ({\ sqrt {\ frac {2}) {\ lambda z}}} (hx))} {Fr (\ infty) -Fr (- \ infty)}}}{\ displaystyle {\ textbf {E}} ( x, z) = E_ {o} e ^ {- jkz} {\ frac {Fr (\ infty) -Fr ({\ sqrt {\ frac {2} {\ lambda z}}} (hx))} {Fr (\ infty) -Fr (- \ infty)}}} ,

где F r (x) {\ displaystyle Fr (x)}{\ displaystyle Fr (x)} - интегральная функция Френеля, которая образует спираль Корню на комплексной плоскости.

Итак, чтобы упростить расчет затухания плоской волны при ее дифрагировании от острия ножа, можно использовать диаграмму спирали Корню, представив величины F r (a) - F r (b) {\ displaystyle Fr (a) -Fr (b)}{\ displaystyle Fr (a) -Fr (b)} как физические расстояния между точками, представленные F r (a) {\ displaystyle Fr (a)}{\ displaystyle Fr (a)} и F r (b) {\ displaystyle Fr (b)}{\ displaystyle Fr (b)} для соответствующих a {\ displaystyle a}a и b {\ displaystyle b}b . Это облегчает грубое вычисление затухания плоской волны на острие высоты h {\ displaystyle h}h в местоположении (x, z) {\ displaystyle (x, z)}{\ displaystyle (x, z)} за острием ножа.

Интегральная оптика

Изгибы с непрерывно изменяющимся радиусом кривизны, следующие по спирали Эйлера, также используются для снижения потерь в фотонных интегральных схемах, либо в одномодовых волноводах, чтобы сгладить резкое изменение кривизны и связь с модами излучения, или в многомодовых волноводах, чтобы подавить связь с модами более высокого порядка и обеспечить эффективную одномодовую работу. Новаторское и очень элегантное применение спирали Эйлера к волноводам было сделано еще в 1957 году с полым металлическим волноводом для микроволн. Идея заключалась в том, чтобы использовать тот факт, что прямой металлический волновод можно физически согнуть, чтобы естественным образом принять форму постепенного изгиба, напоминающую спираль Эйлера.

Автогонки

Автор автоспорта Адам Бруйяр продемонстрировал использование спирали Эйлера для оптимизации гоночной трассы на участке входа в поворот.

Типографика и цифровая векторная графика

Raph Levien выпустил Spiro в качестве инструментария для дизайна кривых, особенно шрифтов, в 2007 году под бесплатной лицензией. Этот набор инструментов был довольно быстро реализован впоследствии в инструменте разработки шрифтов Fontforge и цифровом векторном рисунке Inkscape.

Картографическая проекция

Вырезание сферы по спирали шириной 1 / N и сглаживание получившейся формы дает спираль Эйлера, когда N стремится к бесконечности. Если сфера является глобусом, это создает проекцию карты, искажение которой стремится к нулю, когда N стремится к бесконечности.

Форма усов

Естественные формы вибрисс мистициальных подушечек крысы (усы ) хорошо аппроксимируются кусочками спирали Эйлера. Когда все эти части одной крысы собраны вместе, они охватывают интервал, простирающийся от одной спиральной области спирали Эйлера до другой.

Формулировка

Символы

R {\ displaystyle R}RРадиус кривизны
R c {\ displaystyle R_ {c}}R_{c}Радиус круговой кривой в конце спирали
θ {\ displaystyle \ theta}\ theta Угол кривой от начала спирали (бесконечное R {\ displaystyle R}R) до определенной точки спирали.
Это также можно измерить как угол между начальной касательной и касательной в соответствующей точке.
θ s {\ displaystyle \ theta _ {s}}{\ displaystyle \ theta _ {s}} Угол полной спиральной кривой
L, s {\ displaystyle L, s}{\ displaystyle L, s} Длина, измеренная вдоль спиральной кривой от ее исходного положения
L s, поэтому {\ displaystyle L_ {s}, s_ {o}}{\ displaystyle L_ {s}, s_ {o}} Длина спиральной кривой

Разложение интеграла Френеля

Если a = 1, что имеет место для нормализованной кривой Эйлера, то декартовы координаты задаются интегралами Френеля (или интегралами Эйлера):

C (L) = ∫ 0 L соз ⁡ (s 2) ds S ​​(L) знак равно ∫ 0 L грех ⁡ (s 2) ds {\ displaystyle {\ begin {align} C (L) = \ int _ {0} ^ {L} \ cos ( s ^ {2}) \, ds \\ S (L) = \ int _ {0} ^ {L} \ sin (s ^ {2}) \, ds \ end {align}}}{\ displaystyle {\ begini n {выровнено} C (L) = \ int _ {0} ^ {L} \ cos (s ^ {2}) \, ds \\ S (L) = \ int _ {0} ^ {L} \ sin (s ^ {2}) \, ds \ end {align}}}

Нормализация и заключение

Для данной кривой Эйлера с:

2 RL = 2 R c L s = 1 a 2 {\ displaystyle 2RL = 2R_ {c} L_ {s} = {\ frac {1} {a ^ {2}}}}{\ displaystyle 2RL = 2R_ {c} L_ {s} = {\ frac {1} {a ^ {2}}}}

или

1 R = LR c L s = 2 a 2 L {\ displaystyle {\ frac {1} {R}} = {\ frac {L} {R_ {c} L_ {s}}} = 2a ^ {2} L}{\ displaystyle {\ frac {1} {R}} = { \ frac {L} {R_ {c} L_ {s}}} = 2a ^ {2} L}

, тогда

x = 1 a ∫ 0 L ′ cos ⁡ s 2 ds {\ displaystyle x = {\ frac {1} {a }} \ int _ {0} ^ {L '} \ cos s ^ {2} \, ds}x={\frac {1}{a}}\int _{0}^{{L'}}\cos s^{2}\,ds
y = 1 a ∫ 0 L ′ sin ⁡ s 2 ds {\ displaystyle y = {\ frac {1 } {a}} \ int _ {0} ^ {L '} \ sin s ^ {2} \, ds}{\displaystyle y={\frac {1}{a}}\int _{0}^{L'}\sin s^{2}\,ds}

где L ′ = a L {\ displaystyle L '= aL}{\displaystyle L'=aL}и a = 1 2 R c L s {\ displaystyle a = {\ frac {1} {\ sqrt {2R_ {c} L_ {s}}}}}a = {\ frac {1} {{\ sqrt {2R_ {c} L_ {s) }}}}} .

Таким образом, процесс получения решения (x, y) спирали Эйлера можно описать как:

  • Отображение L исходной спирали Эйлера путем умножения на множитель a в L ′ нормализованной спирали Эйлера;
  • Найти (x ′, y ′) из интегралов Френеля; и
  • Сопоставить (x ′, y ′) с (x, y) путем увеличения (денормализации) с коэффициентом 1 / a {\ displaystyle 1 / a}1/a. Обратите внимание, что 1 / a>1 {\ displaystyle 1 / a>1}1/a>1 .

В процессе нормализации

R c ′ = R c 2 R c L s = R c 2 L s {\ displaystyle { \ begin {align} R '_ {c} = {\ frac {R_ {c}} {\ sqrt {2R_ {c} L_ {s}}}} \\ = {\ sqrt {\ frac {R_ { c}} {2L_ {s}}}} \\\ конец {выровнено}}}{\begin{aligned}R'_{c}={\frac {R_{c}}{{\sqrt {2R_{c}L_{s}}}}}\\={\sqrt {{\frac {R_{c}}{2L_{s}}}}}\\\end{aligned}}
L s ′ = L s 2 R c L s = L s 2 R c {\ displaystyle {\ begin {align} L '_ {s} = {\ frac {L_ {s}} {\ sqrt {2R_ {c} L_ {s}}}} \\ = {\ sqrt {\ frac {L_ {s}} {2R_ { c}}}} \ end {align}}}{\begin{aligned}L'_{s}={\frac {L_{s}}{{\sqrt {2R_{c}L_{s}}}}}\\={\sqrt {{\frac {L_{s}}{2R_{c}}}}}\end{aligned}}

Тогда

2 R c ′ L s ′ = 2 R c 2 L s L s 2 R c = 2 2 = 1 {\ displaystyle {\ begin { выровнено} 2R '_ {c} L' _ {s} = 2 {\ sqrt {\ frac {R_ {c}} {2L_ {s}}}} {\ sqrt {\ frac {L_ {s}} { 2R_ {c}}}} \\ = {\ tfrac {2} {2}} \\ = 1 \ end {align}}}{\begin{aligned}2R'_{c}L'_{s}=2{\sqrt {{\frac {R_{c}}{2L_{s}}}}}{\sqrt {{\frac {L_{s}}{2R_{c}}}}}\\={\tfrac {2}{2}}\\=1\end{aligned}}

Обычно нормализация уменьшает L 'до небольшого значения (<1) and results in good converging characteristics of the Fresnel integral manageable with only a few terms (at a price of increased числовая нестабильность расчета, особенно для больших θ {\ displaystyle \ theta}\ theta значений.).

.

Иллюстрация

Дано:

R c = 300 м L s = 100 м {\ displaystyle {\ begin {align} R_ {c} = 300 {\ t_dv {m}} \\ L_ {s} = 100 {\ t_dv {m}} \ конец {выровнен}}}{\ begin {align} R_ {c} = 300 {\ t_dv {m}} \\ L_ {s} = 100 {\ t_dv {m}} \ end {align}}

Тогда

θ s = L s 2 R c = 100 2 × 300 = 0,1667 радиан {\ displaystyle {\ begin {align} \ theta _ {s} = {\ frac { L_ {s}} {2R_ {c}}} \\ = {\ frac {100} {2 \ times 300}} \\ = 0,1667 \ {\ t_dv {радиан}} \\\ конец {выровнено}} }{\ begin {align} \ theta _ {s } = {\ frac {L_ {s}} {2R_ {c}}} \\ = {\ frac {100} {2 \ times 300}} \\ = 0,1667 \ {\ t_dv {radian}} \ \\ конец {выровнен}}

И

2 R c L s = 60 000 {\ displaystyle 2R_ {c} L_ {s} = 60 000}{\ displaystyle 2R_ {c} L_ {s} = 60 000}

Мы уменьшаем спираль Эйлера на √60 000, т.е. 100√6 до нормализованного Спираль Эйлера, имеющая:

R c '= 3 6 м L s' = 1 6 м {\ displaystyle {\ begin {align} R '_ {c} = {\ tfrac {3} {\ sqrt {6} }} {\ t_dv {m}} \\ L '_ {s} = {\ tfrac {1} {\ sqrt {6}}} {\ t_dv {m}} \\\\\ конец {выровнено}}}{\begin{aligned}R'_{c}={\tfrac {3}{{\sqrt {6}}}}{\t_dv{m}}\\L'_{s}={\tfrac {1}{{\sqrt {6}}}}{\t_dv{m}}\\\\\end{aligned}}
2 R c ′ L s ′ = 2 × 3 6 × 1 6 = 1 {\ displaystyle {\ begin {align} 2R '_ {c} L' _ {s} = 2 \ times {\ tfrac { 3} {\ sqrt {6}}} \ times {\ tfrac {1} {\ sqrt {6}}} \\ = 1 \ end {align}}}{\begin{aligned}2R'_{c}L'_{s}=2\times {\tfrac {3}{{\sqrt {6}}}}\times {\tfrac {1}{{\sqrt {6}}}}\\=1\end{aligned}}

И

θ s = L s ′ 2 R c ′ = 1 6 2 × 3 6 = 0,1667 радиан {\ displaystyle {\ begin {align} \ theta _ {s} = {\ frac {L '_ {s}} {2R' _ {c} }} \\ = {\ frac {\ tfrac {1} {\ sqrt {6}}} {2 \ times {\ tfrac {3 } {\ sqrt {6}}}}} \\ = 0,1667 \ {\ t_dv {radian}} \\\ end {align}}}{\begin{aligned}\theta _{s}={\frac {L'_{s}}{2R'_{c}}}\\={\frac {{\tfrac {1}{{\sqrt {6}}}}}{2\times {\tfrac {3}{{\sqrt {6}}}}}}\\=0.1667\ {\t_dv{radian}}\\\end{aligned}}

Два угла θ s {\ displaystyle \ theta _ {s}}\ theta _ {s} такие же. Таким образом, это подтверждает, что исходная и нормализованная спирали Эйлера геометрически подобны. Геометрическое место нормализованной кривой может быть определено с помощью интеграла Френеля, а геометрическое место исходной спирали Эйлера может быть получено путем масштабирования назад / вверх или денормализации.

Другие свойства нормализованных спиралей Эйлера

Нормализованные спирали Эйлера могут быть выражены как:

x = ∫ 0 L cos ⁡ s 2 ds {\ displaystyle x = \ int _ {0} ^ {L} \ cos s ^ {2} ds}x = \ int _ {0} ^ {L} \ cos s ^ {2} ds
y = ∫ 0 L sin ⁡ s 2 ds {\ displaystyle y = \ int _ {0} ^ {L} \ sin s ^ {2} ds}y = \ int _ {0 } ^ {L} \ sin s ^ {2} ds

Или выражается как степенной ряд :

x = ∑ i = 0 ∞ (- 1) i (2 i)! s 4 i + 1 4 i + 1 | 0 L знак равно ∑ я знак равно 0 ∞ (- 1) я (2 я)! L 4 я + 1 4 я + 1 {\ displaystyle x = \ left. \ Sum _ {i = 0} ^ {\ infty} {\ frac {(-1) ^ {i}} {(2i)!}} {\ frac {s ^ {4i + 1}} {4i + 1}} \ right | _ {0} ^ {L} = \ sum _ {i = 0} ^ {\ infty} {\ frac {(-1) ^ {i}} {(2i)!}} {\ frac {L ^ {4i + 1}} {4i + 1}}}{\ displaystyle x = \ left. \ Sum _ {i = 0} ^ {\ infty} {\ frac {( -1) ^ {i}} {(2i)!}} {\ Frac {s ^ {4i + 1}} {4i + 1}} \ right | _ {0} ^ {L} = \ sum _ {i = 0} ^ {\ infty} {\ frac {(-1) ^ {i}} {(2i)!}} {\ Frac {L ^ {4i + 1}} {4i + 1}}}
y = ∑ i = 0 ∞ (- 1) i (2 i + 1)! с 4 я + 3 4 я + 3 | 0 L знак равно ∑ я знак равно 0 ∞ (- 1) я (2 я + 1)! L 4 я + 3 4 я + 3 {\ displaystyle y = \ left. \ Sum _ {i = 0} ^ {\ infty} {\ frac {(-1) ^ {i}} {(2i + 1)! }} {\ frac {s ^ {4i + 3}} {4i + 3}} \ right | _ {0} ^ {L} = \ sum _ {i = 0} ^ {\ infty} {\ frac {( -1) ^ {i}} {(2i + 1)!}} {\ Frac {L ^ {4i + 3}} {4i + 3}}}{\ displaystyle y = \ left. \ Sum _ {i = 0} ^ {\ infty} {\ frac {(-1) ^ {i}} {(2i + 1)!}} {\ frac {s ^ {4i + 3}} {4i + 3}} \ right | _ {0} ^ {L} = \ sum _ {i = 0} ^ {\ infty} {\ frac {(-1) ^ {i}} {(2i + 1)!}} {\ Frac {L ^ {4i + 3} } {4i + 3}}}

Нормализованная спираль Эйлера сходится к одной точке в предел, который может быть выражен как:

x ′ = lim L → ∞ ∫ 0 L cos ⁡ (s 2) ds = 1 2 π 2 ≈ 0,6267 {\ displaystyle x ^ {\ prime} = \ lim _ { L \ to \ infty} \ int _ {0} ^ {L} \ cos (s ^ {2}) ds = {\ frac {1} {2}} {\ sqrt {\ frac {\ pi} {2} }} \ приблизительно 0,6267}{\ displaystyle x ^ {\ prime} = \ lim _ {L \ to \ infty} \ int _ {0} ^ {L} \ cos (s ^ {2}) ds = {\ frac {1} {2}} {\ sqrt {\ frac {\ pi} {2}}} \ приблизительно 0,6267}
y ′ = lim L → ∞ ∫ 0 L sin ⁡ (s 2) ds = 1 2 π 2 ≈ 0,6267 {\ displaystyle y ^ {\ prime} = \ lim _ {L \ to \ infty} \ int _ {0} ^ {L} \ sin (s ^ {2}) ds = {\ frac {1} {2}} {\ sqrt {\ frac {\ pi} {2}}} \ приблизительно 0,6267}{\ displaystyle y ^ {\ prime} = \ lim _ { L \ to \ infty} \ int _ {0} ^ {L} \ sin (s ^ {2}) ds = {\ frac {1} {2}} {\ sqrt {\ frac {\ pi} {2} }} \ приблизительно 0,6267}

Нормализованные спирали Эйлера обладают следующими свойствами:

2 R c L s = 1 {\ displaystyle 2R_ {c} L_ {s} = 1}{\ displaystyle 2R_ {c} L_ {s} = 1}
θ s = L s 2 R c = L s 2 {\ displaystyle \ theta _ {s} = {\ frac {L_ {s}} {2R_ {c}}} = L_ {s} ^ {2}}\ theta _ {s} = {\ frac {L_ {s}} {2R_ {c}}} = L_ {s} ^ {2}

и

θ = θ s ⋅ L 2 L s 2 знак равно L 2 {\ Displaystyle \ theta = \ theta _ {s} \ cdot {\ frac {L ^ {2}} {L_ {s} ^ {2} }} = L ^ {2}}\ theta = \ theta _ {s} \ cdot {\ frac {L ^ {2}} {L_ {s} ^ {2}}} = L ^ {2}
1 R = d θ d L = 2 L {\ displaystyle {\ frac {1} {R}} = {\ frac {d \ theta} {dL}} = 2L }{\ frac {1} {R}} = {\ frac {d \ тета } {dL}} = 2L

Обратите внимание, что 2 R c L s = 1 {\ displaystyle 2R_ {c} L_ {s} = 1}2R_ {c} L_ {s} = 1 также означает 1 / R c = 2 L s { \ displaystyle 1 / R_ {c} = 2L_ {s}}1 / R_ {c} = 2L_ {s} в соответствии с последним математическим утверждением.

Код для создания спирали Эйлера

Следующий код SageMath создает второй график выше. Первые четыре строки выражают компонент спирали Эйлера. Функции Френеля найти не удалось. Вместо этого приняты интегралы двух расширенных рядов Тейлора. Остающийся код выражает, соответственно, касательную и окружность, включая вычисление координат центра.

var ('L') p = интеграл (taylor (cos (L ^ 2), L, 0, 12), L) q = интеграл (taylor (sin (L ^ 2), L, 0, 12), L) r1 = параметрический_площадь ([p, q], (L, 0, 1), color = 'красный') r2 = line ([(- 1.0, 0), (0,0)], rgbcolor = 'синий ') x1 = p.subs (L = 1) y1 = q.subs (L = 1) R = 0,5 x2 = x1 - R * sin (1.0) y2 = y1 + R * cos (1.0) r3 = circle (( x2, y2), R, rgbcolor = 'green') show (r1 + r2 + r3, aspect_ratio = 1, axes = false)

Далее следует код Mathematica для компонента спирали Эйлера (it работает непосредственно в wolframalpha.com):

ParametricPlot [{FresnelC [Sqrt [2 / \ [Pi]] t] / Sqrt [2 / \ [Pi]]], FresnelS [Sqrt [2 / \ [Pi]] t ] / Sqrt [2 / \ [Pi]]}, {t, -10, 10}]

Далее следует код Xcas для компонента спирали Эйлера:

plotparam ( [int (cos (u ^ 2), u, 0, t), int (sin (u ^ 2), u, 0, t)], t, -4,4)

Ниже приводится SageMath код для полной двусторонней спирали Эйлера:

s = var ('s') Parametric_plot ((lambda s: numerical_integral (cos (x ** 2), 0, s) [0]), лямбда s: числовой_интеграл (sin (x ** 2), 0, s) [0]), (-3 * pi / 2, 3 * pi / 2))

Ниже приведен код JavaScript для рисования спирали Эйлера на элементе холста :

function drawEulerSpiral (canvas, T, N, scale) {ctx = canvas.getContext ("2d"); var dx, dy, t = 0, prev = {x: 0, y: 0}, current; var dt = T / N; ctx.beginPath (); а (N--) {dx = Math.cos (t * t) * dt; dy = Math.sin (t * t) * dt; t + = dt; текущий = {x: предыдущий x + dx, y: предыдущий y + dy}; ctx.lineTo (current.x * scale, current.y * scale); пред = текущий; } ctx.stroke (); } drawEulerSpiral (document.getElementById ("myCanvas"), 10,10000,100)

Ниже приводится код логотипа (язык программирования) для рисования спирали Эйлера с использованием спрайта черепахи.

rt 90 repeat 720 [fd 10 lt repcount]
См. Также
Ссылки

Примечания

Источники

Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-05-19 06:32:30
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте