Научная статья на тему 'Моделирование плоских кривых в среде FMSLogo'

Моделирование плоских кривых в среде FMSLogo Текст научной статьи по специальности «Математика»

CC BY
867
85
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛОГО / ЧЕРЕПАШКА ТОРТИЛА / МОДЕЛИРОВАНИЕ ПЛОСКИХ КРИВЫХ / КИНЕМАТИЧЕСКИЙ МЕТОД / АСТРОИДА / КАРДИОИДА / СПИРАЛЬ АРХИМЕДА / ЭВОЛЬВЕНТА ОКРУЖНОСТИ / КЛОФОИДА / ТРАКТРИСА / FMSLOGO / TURTLE TORTILA / MODELING OF PLANE CURVES / KINEMATIC METHOD / ASTROID / CARDIOID / ARCHIMEDES SPIRAL / INVOLUTE OF CIRCLE / KLOFOIDA / TRACTRIX

Аннотация научной статьи по математике, автор научной работы — Баглаев И. И.

Статья посвящена моделированию кривых с помощью метода, основанного на законах перемещения черепашки Тортилы исполнителя команд среды FMSLogo. Этот метод называется кинематическим методом. В статье рассмотрены 2 способа моделирования плоских кривых: пошаговый и поворотный. Приведены примеры моделирования конкретных кривых с листингом процедур на русифицированном Лого.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Modeling of plane curves in FMSLogo envinronment

The article is devoted to the modeling of curves using a method based on the laws of movement of turtle Tortilla executive of instructions of FMSLogo environment. This method is called the kinematic method. The article considers two ways of modeling of plane curves: angle-control and step-control. The examples of modeling the specific curves with the listing procedures in russified Logo are given.

Текст научной работы на тему «Моделирование плоских кривых в среде FMSLogo»

УДК 514.758.2 (004.438)

ББК 22.151.5

© И.И. Баглаев

Бурятский государственный университет, Улан-Удэ E-mail:[email protected]

Моделирование плоских кривых в среде FMSLogo

Статья посвящена моделированию кривых с помощью метода, основанного на законах перемещения черепашки Тортилы - исполнителя команд среды FMSLogo. Этот метод называется кинематическим методом. В статье рассмотрены 2 способа моделирования плоских кривых: пошаговый и поворотный. Приведены примеры моделирования конкретных кривых с листингом процедур на русифицированном Лого.

Ключевые слова: Лого, FMSLogo, черепашка Тортила, моделирование плоских кривых, кинематический метод, астроида, кардиоида, спираль Архимеда, эвольвента окружности, клофоида, трактриса.

© I.I. Baglaev

Buryat State University, Ulan-Ude E-mail:[email protected]

Modeling of plane curves in FMSLogo envinronment

The article is devoted to the modeling of curves using a method based on the laws of movement of turtle Tortilla - executive of instructions of FMSLogo environment. This method is called the kinematic method. The article considers two ways of modeling of plane curves: angle-control and step-control. The examples of modeling the specific curves with the listing procedures in russified Logo are given.

Key words: Logo, FMSLogo, turtle Tortila, modeling of plane curves, kinematic method, astroid, cardioid, Archimedes spiral, involute of circle, klofoida, tractrix.

Введение

Язык программирования Лого был разработан Сеймуром Пэйпертом первоначально для проведения исследований в области искусственного интеллекта и робототехники в Технологическом Институте Штата Массачусетс. Один из роботов, управляемых Лого, имел выпуклый защитный кожух для электронной начинки, из-за чего он напоминал черепаху. В дальнейшем физическая черепаха была заменена виртуальной черепахой на экране компьютера. Виртуальную черепаху снабдили пером, так, что, перемещаясь, она могла создавать рисунки. Но рисование пером посредством перемещений черепашки, конечно, специфично и значительно отличается от процесса рисования пером в руке. Имеется много версий языка Лого, одна из них FMSLogo - свободнораспространяемая среда программирования, которая является наиболее простой, мощной и лучшей, из всех существующих. Можно загрузить дистрибутив FMSLogo-6.25.0 с проектного портала SourceForge [5] или с сайта геометрического образования Geometrie [6] . Релиз 6.25.0 имеет русскую локализацию, выполненную сотрудниками Бурятского государственного университета под руководством автора. В локализованной версии черепаха названа Тортилой и в дальнейшем в данной статье будет использоваться это имя для исполнителя команд среды программирования FMSLogo. Тортила характеризуется позицией на экране, задаваемой декартовыми координатами х, у, и азимутом И, задаваемым углом между направлением головы Тортилы с направлением на «север” экрана. Декартовы координаты определяются датчиком место, а азимут - датчиком направление. В среде FMSLogo исходная позиция Тортилы центр экрана x = 0, у = 0, первоначальный азимут h =0. Положительное направление оси абсцисс слева-направо по горизонтали, а положительное направление оси ординат снизу-вверх по вертикали. Единицей измерения служит один пиксель.

Кинематический метод

Наличие системы координат в среде FMSLogo позволяет вычерчивать линии по их уравнениям [2]. Такой подход является традиционным при компьютерном моделировании геометрических объектов. Однако особенность рисования на экране с помощью перемещений Тортилы позволяет реализовать альтернативные подходы к генерированию геометрических образов, основанные на кинематических закономерностях перемещений реального робота-черепашки [1], [4].

Пример 1: Окружность

Пусть Тортила циклически делает 1 шаг вперед и поворачивается на 1 градус по часовой стрелке. Повернувшись на 3 600 , она сделает 360 шагов и вернется в исходное положение. При этом она опишет окружность длиной 360 ед., следовательно, радиус г этой окружности

будет равен 360 ~ 57.2957.

2 • я

повтори 360[вперед 1 направо 1 ]

Длина С окружности ш радиуса И равна 2-ж-И. Длина I дуги меры 10 окружности ш рав-2-Ж-И И

на---------~-----. Отсюда следует, что для рисования окружности радиуса И нужно в цик-

360 57.3

ле на каждый поворот на 10 перемещаться на I ед. Процедура окр рисования окружности

ш радиуса И имеет вид: это окр :И

повтори 360[вперед :И/57.29 направо 1 ] конец

Данный способ рисования окружности назовем «пошаговым».

Из дифференциальной геометрии известно, что окружность является кривой постоянной

1 2-п

кривизны к = —. Длина С окружности кривизны к равна--------- ед. Следовательно, при пе-

И к

ремещении по окружности на 1 ед. Тортила поворачивается на 57.3-к градусов. Альтернативная процедура рисования окружности по заданной кривизне к имеет вид: это окр1 :к

повтори целый 360/(:к*57.29)[вперед 1 направо 57.29*:к] конец

Этот способ рисования окружности назовем «поворотным».

1. Пошаговый способ моделирования кривой

2.

Окружность, имеющая с данной кривой в данной ее точке касание 2-го порядка, называется соприкасающейся окружностью.

Если кривая у задана параметрически

Г х = х(г),

(1)

= у&),

то радиус И соприкасающейся окружности вычисляется по формуле

R

У(X2 + у2)3

I V / // ,

X - у - у -X

(2)

Радиус соприкасающейся окружности называется радиусом кривизны кривой у в данной точке. Величина к обратная радиусу кривизны, называется кривизной кривой у в данной ее точке.

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

Пример 2: Астроида

x = a - cos —, 4

(3)

у

a - sin —. 4

Радиус кривизны астроиды в произвольной ее точке находится по формуле [3]

3

R = —■ a ■ sin 2 • t. (4)

8

В нашем случае в каждой точке M дуга астроиды апроксимируется дугой окружности радиуса (4). Пошаговый способ моделирования кривой предполагает равномерное вращение Тортилы и при каждом повороте перемещение, определяемое радиусом кривизны R.

это астр

повтори 360[вперед sin 2*счетчик направо 1] конец

Пример 3: Кардиоида

Уравнение кардиоиды в полярных координатах

р = 2 • а(1 - cos^).

Радиус кривизны кардиоиды в произвольной точке находится по формуле [3]

R=

S - a

■ 9 sin —.

2

(5)

(6)

Проводя рассуждения, аналогичные рассуждениям из предыдущего пункта, напишем процедуру рисования кардиоиды, заданной уравнение (5).

t

t

Пример 4: Спираль Архимеда

к =

р = a ■р a ■ (р2 + 1У

р2 + 2

(7)

(8)

это арх

для [1 0 720 1][вп 0.005*частное степень сумма степень 2 1 1.5 сумма степень :1 2 1 пр 2 ] конец

2. Поворотный способ моделирования кривой

Если в качестве параметра кривой взята длина 8 дуги кривой, то такая параметризация называется естественной, а уравнение, выражающее кривизну к как функцию дуги ^ вдоль кривой называется натуральным уравнением кривой. Из дифференциальной геометрии известно, что натуральное уравнение к = к(я) определяет кривую с точностью до положения на плоскости.

Пример 5: Эвольвента окружности

Эвольвента является траекторией точки прямой, катящейся без скольжения по окружности радиуса а. Параметрические уравнения эвольвенты имеют вид:

х = а ■ (cos t +1 ■ sin t),

(9)

y = a ■ (sin t -1 ■ cos t.

Натуральное уравнение эвольвенты записывается в виде [3]:

1

к = .--------- (10)

V2 ■ a ■ s

Поворотный способ моделирования кривой предполагает равномерное перемещение по кривой и поворот на угол, определяемый кривизной к. В нашем случае Тортила перемеща-

й 0 5 6 ется равномерно вперед по кривои на и.5 ед. для каждого ^ и поворачивается на угол —1=

ыs

градусов по часовоИ (против часовоИ) стрелке для 1-ой (2-ой) ветви, соответственно. это эвол

пусть "т место пусть "И направление для [8 1 360 1][вперед 0.5 лв ~ частное 6 корень :8 ] пп нм :т новк :И по для [8 1 360 1][вперед 0.5 пр ~ частное 6 корень :8 ] конец

Пример 6: Клофоида

Клофоидой называется кривая, кривизна которой прямо пропорциональна длине дуги [3].

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

к = a-s.

(11)

это клоф

пусть "т место пусть "И направление пр 90 для [1 0 36 1][вперед 5 лв :1 ] пп нм :т новк :И по лв 90 для [1 0 36 1][вперед 5 лв :1 ] конец

Пример 7: Трактриса

Трактрисой называется плоская трансцендентная кривая, для которой длина отрезка касательной от точки касания до точки пересечения с фиксированной прямой является постоянной величиной.

Параметрические уравнения трактрисы имеют вид

х = a ■ ln tg — + a ■ cos t, 2 y = a ■ sin t.

Натуральное уравнение трактрисы записывается в виде [3]

(12)

к(s) = a • tg arcsin e

(1З)

это трак пр 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

25б

Литература

1. Abelson H., DiSessa A. Turtle Geometry. Изд.5-е."1Ъе MIT Press", 1983.- 480 с.

2. Баглаев И.И., Очирова Н.В. ЛОГО-ПРОГРАММИРОВАНИЕ: учеб.-метод. пособие. - Улан-Удэ: Издательство Бурятского госуниверситета, 2006.- 111 с.

3. Савелов А.А. Плоские кривые. Систематика, свойства, применения. (Справочное руководство). -М.: Физ.-мат. лит., 1960. - 293 с.

4. Rowe N.S. Some links between turtle geometry and analytic geometry// Int. J. Sci. Math. Edu. 16: 1, 1985, p. 101-112

5. http://sourceforge.net/projects/fmslogo

i Надоели баннеры? Вы всегда можете отключить рекламу.