Kinematicheskiy_metod_modelirovaniya_krivih Презентация

advertisement
Кинематический метод
моделирования кривых
Баглаев И.И.
ОДТО
Кинематический метод
Наличие системы координат в среде
FMSLogo позволяет вычерчивать линии по их
уравнениям . Такой подход является
традиционным при компьютерном
моделировании геометрических объектов.
Однако особенность рисования на экране с
помощью перемещений Тортилы позволяет
реализовать альтернативные подходы к
генерированию геометрических образов,
основанные на кинематических
закономерностях перемещений реального
робота-черепашки.
Окружность
это окр :s
если :s = 360 [стоп]
вп 1
пр 1
окр :s + 1
Конец
Радиус r этой окружности
будет равен 360/2π
≈ 57.2957.
Пошаговый способ
это окр1 :r :s
если :s = 360 [стоп]
вп :r/57.3
пр 1
окр1 :r :s + 1
Конец
Длина C окружности ω
радиуса R равна 2·π·R. Длина l
2   R
R
0

дуги меры 360
1 окружности
ω равна .
57.3
Отсюда следует, что для
рисования окружности радиуса R
нужно в цикле на каждый поворот
на 10 перемещаться на l ед.
Окр1 100 0
Поворотный способ
это окр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 0.02 0
Соприкасающаяся окружность
Окружность, имеющая с данной кривой в данной ее точке
касание 2-го порядка, называется соприкасающейся
окружностью.
Если кривая γ задана параметрически
 x  x(t ),

 y  y(t ),
то радиус R соприкасающейся окружности вычисляется по
формуле
( x  y  )
R .
2
2 3
x  y  y  x
Радиус соприкасающейся окружности называется радиусом
кривизны кривой γ в данной точке. Величина k обратная радиусу
кривизны называется кривизной кривой γ в данной ее точке.
Апроксимация кривой соприкасающейся
окружностью
В окрестности точки кривой дуга
соприкасающейся окружности аппроксимирует дугу
кривой, поэтому можно рисовать соответствующую
дугу кривой как дугу окружности радиуса R или
кривизны k пошаговым или поворотным способами,
соответственно. Нас интересует только форма
кривой, а не размер или ориентация, т.е. определяем
кривые с точностью до подобия. Таким образом, мы
игнорируем постоянные множители перед
формулами радиуса кривизны, кроме знака.
Является также несущественным место, с которого
на экране начинает рисоваться фигура.
Астроида

3 t
 x  a  cos 4 ,

 y  a  sin 3 t .

4
Радиус кривизны астроиды в произвольной ее точке находится по
формуле
3
R   a  sin 2  t
8
.
это астр
повтори 360[вперед sin
2*счетчик ~ направо 1]
конец
Кардиоида
Уравнение кардиоиды в полярных координатах
  2  a(1  cos )
Радиус кривизны кардиоиды в произвольной точке находится по
формуле
R
8a

 sin
3
2
это кард1
для [t 0 360 2/3][вперед
2*sin :t/2 ~ пр 1 ]
конец
.
Спираль Архимеда
  a 
k
a  (  1)
2  2
2
это арх
для [t 0 720 1][вп
0.005*частное ~ степень
сумма степень :t 2 1 1.5
~
сумма степень :t 2 1
пр 2 ]
конец
3
2
Натуральное уравнение кривой
Если в качестве параметра кривой взята длина s
дуги кривой, то такая параметризация называется
естественной, а уравнение выражающая кривизну k
как функцию дуги s вдоль кривой называется
натуральным уравнением кривой. Из
дифференциальной геометрии известно, что
натуральное уравнение k = k(s) определяет кривую с
точностью до положения на плоскости.
Поворотный способ моделирования кривой
предполагает равномерное перемещение по кривой и
поворот на угол, определяемый кривизной k.
Клофоида
Клофоидой называется кривая кривизна, которой прямо
пропорциональна длине дуги.
k = a·s.
это клоф
пусть "m место
пусть "h направление
пр 90 для [t 0 36 1][вперед 5
лв :t ]
пп нм :m новк :h по
лв 90 для [t 0 36 1][вперед 5
лв :t ]
конец
Трактриса
t

 x  a  ln tg  a  cost ,
2

 y  a  sin t.
k ( s)  a  tg arcsin e
это трак
пр 180
для [s 0.1 1.4 0.01][вперед 2 ~
лв tg arcsin exp -:s]
пп домой пр 180 по
для [s 0.1 1.4 0.01][вперед 2 ~
пр tg arcsin exp -:s]
конец
s
a
Download