TGViewer
Компьютерная математика Weekly Компьютерная математика Weekly @compmathweekly · 1.49K subscribers
Post #136 1.48K
Черепашка Фурье и черепашка Гаусса

Была такая популярная форма программирования для начинающих «черепашка». У нас будет базовая версия, которая умеет 1) двигаться прямо, оставляя след; 2) поворачиваться (на месте) на указанный угол.

Можно написать что-нибудь типа

import math
import matplotlib.pyplot as plt

x, y, phi = 0, 0, 0

def move(s=1,color='blue'):
global x, y
x0, y0 = x, y
x = x0 + s*math.cos(phi)
y = y0 + s*math.sin(phi)
plt.plot([x0,x],[y0,y],color=color)

def turn(s):
global phi
phi += s*2*math.pi

for k in range(100):
move()
turn(1/100)

plt.gca().set_aspect('equal')
plt.show()

и увидеть на экране окружность. Ну… тоже приятно, но не особо интересно.

Забавно, что содержательные вещи буквально в одном шаге от такого. Например, можно вместо move() написать move(<функция от k>) и смотреть, как черепашка занимается преобразованием Фурье.

Но мы лучше оставим сдвиги одинаковыми, а вот поворот пусть растет линейно со временем. Вот на картинке результат

p = 101
for k in range(p):
move()
turn((2*k+1)/p)

Можно задавать вопросы… например, далеко ли черепашка уйдет от начала координат при разных p? Тут есть несколько уровней 1) экспериментальный; 2) эмпирическая прикидка в вероятностном духе для большого p; 3) точный ответ для произвольного p.

Можно, кстати, от 2) пойти чуть-чуть в другую сторону и смотреть для больших p на всю форму кривой (а не только на то, далеко ли мы уйдем). Видим мы, на самом деле, спирали Корню (=кривизна пропорциональна пройденному расстоянию).

***

Напомнил о таком сюжете недавно коллега Гусарев, а еще чуть раньше про это писал Гаусс коллега Клепцын.
  • 🔥 9
  • ❤ 5
More from @compmathweekly
  1. Sep 20, 2026краткий апдейт на тему t.me/compmathweekly/141
  2. Aug 15, 2026just for fun на каникулах: purplesyringa.moe/blog/log-is-non-monotonic-in-php-and-lua/ — р…
  3. Aug 6, 2026история про Rowland'а и Sinkhorn limit немного повисла в воздухе — вернемся ненадолго матр…
  4. Jul 25, 2026будем переходить от многоугольника к новому многоугольнику с вершинами в серединах сторон…
  5. Jul 21, 2026во время ЛШСМ на компьютерные развлечения не хватает энергии, так что вот пока вместо моег…
  6. Jul 16, 2026упомянутый в прошлом посте Rowland (относительно) недавно рассказывал, оказывается, на сем…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →