Кинематический метод моделирования кривых Баглаев И.И. ОДТО
Кинематический метод Наличие системы координат в среде FMSLogo позволяет вычерчивать линии по их уравнениям. Такой подход является традиционным при компьютерном моделировании геометрических объектов. Однако особенность рисования на экране с помощью перемещений Тортилы позволяет реализовать альтернативные подходы к генерированию геометрических образов, основанные на кинематических закономерностях перемещений реального робота-черепашки.
Окружность это окр :s если :s = 360 [стоп] вп 1 пр 1 окр :s + 1 Конец Радиус r этой окружности будет равен 360/2π
это окр1 :r :s если :s = 360 [стоп] вп :r/57.3 пр 1 окр1 :r :s + 1 Конец Длина C окружности ω радиуса R равна 2·π·R. Длина l дуги меры 1 0 окружности ω равна. Отсюда следует, что для рисования окружности радиуса R нужно в цикле на каждый поворот на 1 0 перемещаться на l ед. Окр Пошаговый способ
это окр2 :k :s если :s > 2*пи/:k [стоп] вп 1 пр 57.3*:k окр2 :k :s + 1 Конец Из дифференциальной геометрии известно, что окружность является кривой постоянной кривизны k = 1/R. Длина C окружности кривизны k равна 2π/k ед. Следовательно, при перемещении по окружности на 1 ед. Тортила поворачивается на 57.3·k градусов. Окр Поворотный способ
Соприкасающаяся окружность Окружность, имеющая с данной кривой в данной ее точке касание 2-го порядка, называется соприкасающейся окружностью. Если кривая γ задана параметрически то радиус R соприкасающейся окружности вычисляется по формуле. Радиус соприкасающейся окружности называется радиусом кривизны кривой γ в данной точке. Величина k обратная радиусу кривизны называется кривизной кривой γ в данной ее точке.
Апроксимация кривой соприкасающейся окружностью В окрестности точки кривой дуга соприкасающейся окружности аппроксимирует дугу кривой, поэтому можно рисовать соответствующую дугу кривой как дугу окружности радиуса R или кривизны k пошаговым или поворотным способами, соответственно. Нас интересует только форма кривой, а не размер или ориентация, т.е. определяем кривые с точностью до подобия. Таким образом, мы игнорируем постоянные множители перед формулами радиуса кривизны, кроме знака. Является также несущественным место, с которого на экране начинает рисоваться фигура.
Астроида Радиус кривизны астроиды в произвольной ее точке находится по формуле. это астр повтори 360[вперед sin 2*счетчик ~ направо 1] конец
Кардиоида Уравнение кардиоиды в полярных координатах Радиус кривизны кардиоиды в произвольной точке находится по формуле. это кард1 для [t /3][вперед 2*sin :t/2 ~ пр 1 ] конец
Спираль Архимеда это арх для [t ][вп 0.005*частное ~ степень сумма степень :t ~ сумма степень :t 2 1 пр 2 ] конец
Натуральное уравнение кривой Если в качестве параметра кривой взята длина s дуги кривой, то такая параметризация называется естественной, а уравнение выражающая кривизну k как функцию дуги s вдоль кривой называется натуральным уравнением кривой. Из дифференциальной геометрии известно, что натуральное уравнение k = k(s) определяет кривую с точностью до положения на плоскости. Поворотный способ моделирования кривой предполагает равномерное перемещение по кривой и поворот на угол, определяемый кривизной k.
Клофоида Клофоидой называется кривая кривизна, которой прямо пропорциональна длине дуги. k = a·s. это клоф пусть "m место пусть "h направление пр 90 для [t ][вперед 5 лв :t ] пп нм :m новк :h по лв 90 для [t ][вперед 5 лв :t ] конец
Трактриса это трак пр 180 для [s ][вперед 2 ~ лв tg arcsin exp -:s] пп домой пр 180 по для [s ][вперед 2 ~ пр tg arcsin exp -:s] конец