Гипоциклоида построение в excel

Построение
графиков 3-х видов в электронной таблице
Excel

1.
Построить несколько графиков параметрически
заданной функции при разных значениях
конcтант
а, b,
.
Оси графика – х и y,
которые зависят от аргумента t
или .

Название

кривой

Вид
графика

Параметри­ческие
уравнения

Диапазон

аргумента

Кол-во

граф.

Значения
констант

1

Циклоида

x = a(t — sin
t)

y = a(1 — cos
t)

t  0  6

шаг
0,5

5

a = 1;
1.25;
1.5; 1.75; 2

2

Циклоида

x = a(t — sin
t)

y = a(1 — cos
t)

t  0  6

шаг
0,5

6

a = 2

 = 0.4;
0.7; 1.0;
1.3; 1.6; 2.0

3

Трохоида

x = at — bsin
t

y = a — bcos
t

t  0  10

шаг
0,1

5

a = -1

b
= 0.1; 1; 2; 3; 4

4

Эпитрохоида

x = acos
(t)
— bcos
(t + t)

y = asin
(t)
— bsin
(t + t)

t  0  10

шаг
0,5

6

a = 0;
1; 2; 3; 10; 15

b = 2
 = 0.25

5

Гипотрохоида

x = acos
(t)
— bcos
(t — t)

y = asin
(t)
— bsin
(t — t)

t  0  10

шаг
0,5

6

a = 0;
1; 2; 3; 10; 15

b = 2
 = 0.25

6

Декартов

лист

x = at   / (1 + t3)

y = a
t2 / (1 + t3)

t  -6  6

шаг
0,3

6

a = 1;
2; 3; 4; 5; 6

7

Циссоида
Диоклеса

x = a
t2 / (1 + t2)

y = a
t3 / (1 + t2)

t  -6  6

шаг
0,2

6

a = 1;
2; 3; 4; 5; 6

8

Строфоида

x = a
 (t2 — 1) / (t2 + 1)

y = at(t2 — 1) / (t2 + 1)

t  -6  6

шаг
0,2

6

a = 1;
2; 3; 4; 5; 6

9

Конхоида

Никомеда

x = a + bcos
t

y = atg
t + bsin
t

t  0

10

шаг
0,2

5

a = 2

b
= 1; 10; 30; 50; 90

10

Улитка

Паскаля

x = acos2
t + bcos
t

y = a
cos

t sin
t + bsin
t

t  0  2

шаг
0,1

6

a = 1;
2; 3; 4; 5; 6

b
= 3

11

Эпици­клоида

x = (a + b)cos

— acos[(a + b)/a]

y = (a + b)
sin 
— a sin[(a + b)/a]

  0  2

Шаг
0,1

6

a
= 1

b = 1;
2; 3; 4; 5; 6

12

Эпици­клоида

x = (a + b)cos

— acos[(a + b)/a]

y = (a + b)
sin 
— a
sin[(a + b)/a]

  0  10

Шаг
0,2

6

a = 3;
b = 4

 = 0.5;
0.7; 1;
1.5; 2; 3

13

Эпици­клоида

x = (a + b)cos

— acos[(a + b)/a]

y = (a + b)
sin 
— a
sin[(a + b)/a]

  0  2

Шаг
0,1

6

a = 1;
b = 4

 = 0.5;
1; 1.5; 2; 4; 6

14

Эпици­клоида

x = (a + b)cos

— acos[(a + b)/a]

y = (a + b)
sin 
— a
sin[(a + b)/a]

  0  2

Шаг
0,1

6

a = 7;
b = 4

 = 0.5;
1; 2; 4; 6; 8

15

Гипоци­клоида

x = (b — a)cos

— acos[(b — a)/a]

y = (b — a)
sin 
— a sin[(b — a)/a]

  0  2

Шаг
0,1

6

a
= 1

b = 1.5;
2.5; 3;
3.5; 4; 5

16

Гипоци­клоида

x = (b — a)cos

— acos[(b — a)/a]

y = (b — a)
sin 
— a sin[(b — a)/a]

  0  6

Шаг
0,5

6

a
= 1.5; 2; 2.5;
3; 3,5; 4

b = 1

17

Гипоци­клоида

x = (b — a)cos

— acos[(b — a)/a]

y = (b — a)
sin 
— a
sin[(b — a)/a]

  0  2

Шаг
0,1

6

a = 1;
b = 4

 = 0.5;
1; 1.5; 2; 3; 4

18

Гипоци­клоида

x = (b — a)cos

— acos[(b — a)/a]

y = (b — a)
sin 
— a
sin[(b — a)/a]

  0  10

Шаг
0,2

6

a = 5;
b = 2

 = 0.2;
0.5; 0.7;
1; 1.5; 2

19

Спираль

x = atcos
t

y = btsin
t

t  0  10

Шаг
0,5

6

a
= 2

b = -2;
-1; 1; 2; 3; 4

20

Гиперболич.

спираль

x = (acos
t) / t

y = (b
sin
t) / t

t  -6  6

Шаг
0,3

5

a = 2

b = 1;
2; 3; 4; 5

21

Гиперболич.

спираль

x = (acos
t) / t

y = (b
sin
t) / t

t  0.5  20

Шаг
0,5

5

a = 3

b = 1;
2; 3; 4; 5

22

Астроида

x = acos3
(t / 4)

y = b
sin3
(t / 4)

t  0  8

Шаг
0,1

5

a
= 2

b = 1;
2;
3;
4;
5

23

Астроида

x = acos3
(t – b)

y = a
sin3
t

t  0  8

Шаг
0,2

5

a
= 2

b = 0;
1; 2; 3; 4

24

Астроида

x = acos3
(bt
)

y = a
sin3
t

t  0  8

Шаг
0,1

5

a
= 2

b = 0.5;
1; 1.5; 3; 3.5

25

Эволь­вента

x = acos
t + at
sin
t

y = a
sin
t + atcos
t

t  -10 10

Шаг
0,5

4

a
= -2;
-1; 1; 2

26

Эволь­вента

x = acos
t + at
sin
t

y = a
sin
t + atcos
t

t  0 20

Шаг
0,5

4

a
= -2;
-1; 1; 2

27

Эллипс

x = acos
t

y = b
sin
t

t  0  2

Шаг
0,5

5

a
= 7

b = 1;
4; 7; 10; 13

28

Эллипс

x = acos(c
+ t)

y = b
sin(c
— t)

t  0  2

Шаг
0,11

5

a
= 3 b = 2

b = 1;
2; 3; 4; 5

29

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Практическая работа: Построение графиков средствами приложения Excel.

Цель: научиться
строить графики в Excel; развить самостоятельность при получении практических
навыков на ПК; развить навыки мыслительной деятельности.

Построение
графиков функций, заданных в параметрическом виде или в полярной системе
координат
.

Параметрическое
представление кривой на плоскости – это две функции, явно выражающие обе
координаты
x и y через значение
некоторого производящего параметра:

Задание 1:
Построить окружность, координаты точек которой вычисляются по формулам:

1)     
Для построения полной окружности радиуса R=100 необходимо создать таблицу, в которой
значение параметра
t меняется от 0 до 2π с шагом 0,1 (для заполнения ячеек используйте функцию Автозапонения).

2)     
В соответствующие ячейки ввести формулы для
нахождения координат
x и y (см. выше) и скопировать формулу для всех значений  t

3)     
Для построения графика выделить столбцы x и y таблицы и выбрать тип диаграммы Точечная.
Получаем диаграмму:

Подпишите
название диаграммы Окружность.

ЗАДАНИЯ для
самостоятельного выполнения:

Спираль

   x=t*sin(t)

  
y=t*cos(t)

t[0;5π]

Астроида

   x=2sin3(t)

   y=2cos3(t)

t[0;2π]

Дельтоида

 х=2cos(t)+cos(2t)

 y=2sin(t)−sin(2t)

t[0;2π]

Сердечко

 x=16sin3(t)

y=13cos(t)−5cos(2t)−2cos(3t)−cos(4t)

t[0;2π]

Гипоциклоида
1

x=4,4(cos(t)+cos(1,1t)/1,1)

y=4,4(sin(t)−sin(1,1t)/ 1,1)

t[0;20π]

Гипоциклоида 2

x=24,8(cos(t)+cos(6,2t)/6,2)

y=24,8(sin(t)−sin(6,2t)/6,2)

t[0;10π]

Эпициклоида

x=6,2(cos(t)−cos(3,1t)/3,1)

y=6,2(sin(t)−sin(3,1t)/ 3,1)

t[0;20π]

Бабочка

x=sin(t)(ecos(t)−2cos(4t)+sin5(1t/12))

y=cos(t)(ecos(t)−2cos(4t)+sin5(1t/12))

t[0;12π]

n- лепестковая
роза

n – определяет число лепестков

Фигура Лиссажу

   x=sin(5t+π/2)

   y=sin(6t)

t[0;2π]

Указания
к оформлению работы
:

1)     
Расчёты функций делать на одном Листе,
обозначая функции для разных фигур:
x1,y1; x2,y2; x3,y3 и т.д.

2)     
Все графики подписать и расположить каждый на
отдельном Листе. Листы переименовать по названию фигуры: Окружность,
Спираль, Астроида
и т.д.


Построим в MS EXCEL несколько плоских алгебраических кривых: кардиоиду, эпициклоиду, логарифмическую спираль и лемнискату Бернулли.

Кривые будем строить с помощью уравнений в параметрической форме, где х и y зависят от одного парамеметра t. Например, для кардиоиды запишем уравнения в виде (см.

файл примера

):

х=2*а*cos(t)-а*cos(2*t)

y=2*а*sin(t)-а*sin(2*t)

Для построения использован тип диаграммы Точечная с гладкими кривыми.

В статье

Эллипс и окружность в MS EXCEL

построены окружность и эллипс.


СОВЕТ

: Для начинающих пользователей EXCEL советуем прочитать статью

Основы построения диаграмм в MS EXCEL

, в которой рассказывается о базовых настройках диаграмм, а также

статью об основных типах диаграмм

.


Может ли Excel строить сложные кривые?

Меня трудно чем-то удивить в Excel, но когда я впервые увидел вот этот сайт, то у меня чуть глаз не выпал на клавиатуру. Очень рекомендую вам пройти по ссылке и поглазеть. В моём личном рейтинге эта команда (там двое мужчин и девушка) является №1 в мире по Excel.

Сегодня я вам покажу нечто из их арсенала (с моими некоторыми адаптациями). Посмотрим на то, как при помощи точечной диаграммы с гладкими кривыми строить ТАКИЕ сложные вещи, что, когда глядишь на это в первый раз, просто не веришь, что это вообще можно нарисовать в Excel. Ну, например, как вам это:

Дело в том, что мы все привыкли, что такие графики строятся по точкам, которые рассчитываются в ячейках таблицы. Тут же используется реально очень крутой трюк, который позволяет строить графики любых сложнейших функций, не используя ни диапазоны с точками XY, ни какие-либо макросы. Всё что вам нужно — это точечная диаграмма с гладкими кривыми, несколько констант и несколько именованных формул.

Те граждане, кто пока плохо понимает, зачем это всё надо, сейчас просто откроют файлик, включат макросы и нажмут кнопку Старт, потому что это ПРОСТО КРАСИВО. На это можно смотреть минут 15 и всё равно будет интересно. Дольше смотреть не рекомендую, так как глаза и мозг устанут.

Смотреть красоту ТУТ

А с теми, кому интересно, как это устроено, продолжаем разговор.

В принципе абсолютно без разницы, какой график строить. Я взял циклоидальные кривые, так как они очень красивы, разнообразны и сложны.

Эпициклоиды и гипоциклоиды (подмножество циклоидальных кривых) строятся по следующим параметрическим формулам:

Эпициклоиды строятся так:

Гипоциклоиды так:

Знаки у R1 и R2 относительно друг друга определяют тип кривой (по какой поверхности круга R1 — по внутренней или внешней — будет катиться круг R2). Обратите внимание, что t — это угод в радианах. Напоминаю, что углы в 5′ и 365′ — разные углы.

Если мы заглянем в ряды данных диаграммы, то увидим это:

Сердце решения располагается тут:

Как видите, большинство именованных диапазонов просто сылаются на конкретные ячейки и ничего сложного из себя не представляют. Кроме трёх диапазонов: arr, x_e, y_e. Можно заметить, что x_e и y_e — это то, на что ссылается ряд данных в диаграмме, и, что это формулы, описывающие кривые, которые я приводил выше. А вот ИД arr надо осмыслить:

=СТРОКА( СМЕЩ( Лепота!$A$1; ; ; x) )

X у нас равен 5400. Функция СМЕЩ() сформирует диапазон A1:A5400. А формула СТРОКА() будет вычислена для каждой строки данного диапазона, поэтому в результате мы получим массив чисел от 1 до 5400. Этот массив, будучи переданным в x_e, y_e тоже породит соответствующие массивы. Обратите внимание, что arr пропускается через функцию РАДИАНЫ(). Таким образом мы градусы (1..5400) переводим в радианы. Если честно, то я не знал, что ТАК можно :)

Вот собственно и всё. А тот макрос, который у меня есть в книге, он просто случайным образом, но плавно меняет параметры R1, R2, D в пределах от From до To с шагом Step.

P.S. Любителям WinAPI с его Sleep рекомендую обратить внимание на конструкцию Application.Wait Now + 1 / 24 / 60 / 60 / 2 :)

Ну а теперь залипайте дальше на лицезрение циклоид :)

  • 1
  • 2
  • 3
  • 4
  • 5

Категория: Графики и диаграммы | Добавил: dsb75 (18.09.2015)
|

Просмотров: 13708 | Комментарии: 13
| Теги: гипоциклоиды, именованные диапазоны, Диаграммы, циклоиды, СМЕЩ, эпициклоиды
| Рейтинг: 4.3/6
Всего комментариев: 12

Порядок вывода комментариев:

Здравствуйте, Денис.
«Позалипал» на циклоиды. Красиво, но в процессе возникли замечания.

1. Вообще-то, X = R * cos (t); Y = R * sin (t). В вашем примере оси X и Y перепутаны местами, если брать за основу картинку из статьи, циклоида на диаграмме строится от вертикальной оси против часовой стрелки. Попробуйте ввести на листе разные значения угла, меньше 360 (45, 90, 180, 270) — увидите, о чём я. На красоту не влияет, конечно.

2. Попробуйте ставить в ячейку х значения 1 и 5400 и сохранять книгу, размер файла изменится в несколько раз. Диапазоны значений не хранятся на листе, но диаграмма хранит весь диапазон значений в файле. Для уменьшения размера можно кодом VBA присваивать x 5400 после открытия и 1 перед закрытием.

3. Ни в одной из статей вашего сайта нет ни одного вызова Windows API, да и фраза «Любителям WinAPI с его Sleep» позволяет предположить, что сами вы к его любителям не относитесь. Можно полюбопытствовать, откуда у вас такое принципиальное (практически — религиозное :-) ) избегание Windows API? Просто потому, что это «не совсем Excel»? Не хотите вступать на территорию, которую в принципе невозможно исследовать целиком?
Я тут немного дополнил ваш пример, оставив его «как есть» и дополнительно сделав всё то же самое, но на форме и кодом VBA (кнопка «форма»). 
С WinAPI 32, естественно. Буду благодарен, если вы его посмотрите и выскажете своё мнение. Сайт не позволяет прикреплять файлы, поэтому ссылка: https://yadi.sk/i/UjUOP-hG3KqPYN

Для корректности сравнения скоростей из вашего кода выкинуты строки:

Код

ActiveSheet.Calculate ‘ не нужна, если есть  DoEvents

Application.Wait Now + 1 / 24 / 60 / 60 / 2 ‘ просто не нужна :-)

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

0

Здравствуйте.
1. Видимо вы правы
2. Интересный факт, но для цели статьи не особо важен.
3. Пальцем в небо smile Зачем делать столь глубокие выводы на единичных фактах? Я дурачился. Но вы правы в том, что WinAPI я не знаю, но никаких религиозных запретов на этой почве перед собой не воздвигаю. Просто часто sleep — единственное, что видишь у VBA-шников, но в Excel особой необходимости в нем нет. То есть, если вам нужно сделать паузу, то нефиг городить огород с winapi. Файл ваш посмотрел — офигенно. Дома посмотрю подробнее. Вот для этого и winapi не грех применять smile

Спасибо за содержательный комментарий. Успехов вам!

Использование Sleep вместо Application.Wait является шагом вперёд, осознанным или нет — второй вопрос.

При выполнении програмной задержки состояние приложения можно разделить:

— по загрузке процессора: грузит / не грузит;
— по реакции на события: не реагирует / реагирует;

Так вот, Application.Wait находится в худшем из четырёх возможных сочетаний этих состояний.

Пусть надо выполнить програмную задержку dDelay сек. Тогда варианты:

‘ вариант 0: не реагирует на события, загрузка процессора (в современном мире — одного из ядер) — 100%
Application.Wait Now + dDelay / (24 * 60 *60)

‘ вариант 1: не реагирует на события, загрузка процессора — 0%
Sleep 1000 * dDelay

‘ вариант 2: реагирует на события, загрузка процессора — 100%
dWhaitFor = Timer + dDelay
Do 
    DoEvents
Loop Until Timer > dWhaitFor

‘ вариант 3: сочетает достоинства и недостатки двух предыдущих, (не мгновенно) реагирует на события, загрузка процессора — больше 0%
dWhaitFor = Timer + dDelay
Do
    Sleep 50
    DoEvents
Loop Until Timer > dWhaitFor

Ни один из этих вариантов не является идеальным с точки зрения потоков, обработки сообщений, машинного времени и пр.
В этой статье http://www.smsoft.ru/ru/vbwait.htm описан полностью корректный вариант.
Статья «загрузочная» wacko , так что лучше прочитать её «по диагонали» и никогда так не делать.  smile

0

Вдвойне похвально. Чем занимаетесь?

Долгая история  wacko 
Прямо сейчас моя работа не связана с ИТ. Собираюсь её поменять на программиста VBA в ближайшие несколько месяцев.

0

Забавно. У меня сейчас тоже не связана. VBA программист? Вы серьёзно? 
Мягко говоря, не самый перспективный язык… На себя хотите работать или как?

Давайте, о себе любимом напишу подробно позже и в почту.

Пока в догонку об убогости Application.Wait: https://yadi.sk/i/7NQT-OFN3Kv2BK
Комментировать там нечего, просто текст программы посмотрите.

Коротко: Application.Wait не предназначен для организации задержек, не кратных 1 сек., в частности — менее 1 сек. Поэтому он у вас в Beauty на самом деле не работал, можно было апостроф в начале строки не ставить   smile .Добавить
И чтоб совсем добить тему. Посмотрите загрузку процессора в task manager при работе Application.Wait и Sleep.

0

Ну вы просто уничтожили бедный wait smile
Странно, что они его реализовали не через sleep…

Ещё раз про морковь или возвращаясь к непечатному. Доброго здоровья, Денис.

Глядя на процедуру расчёта и вывода циклоиды (Sub DrawCycloide) я задался вопросом: какую часть времени занимает расчёт значений для её вывода, а какую — собственно, графический вывод. Профилировать процедуру напрямую по таймеру в контрольных точках смысла не имело: слишком маленькие интервалы приведут к слишком большим погрешностям. Поэтому решено было нивелировать (свести к нулю) время расчёта, чтобы осталось только время, занимаемое графическим выводом. Как нивелировать? Перевести в машинный код, естественно smile . Но всё по порядку.

1. Первым делом к ранее выложенному здесь Beauty free.xlsm был прикручен «спидометр» — код, отображающий на форме количество выводимых циклоид в секунду.
Результат здесь: https://yadi.sk/i/EtolJiGL3LhgpJ

2. Далее, через экспорт-импорт, форма из книги Beauty free speed.xlsm была перемещена в «классический» проект VB. Что понравилось: форма встала в проект VB сразу «как влитая», никаких допиливаний и танцев с бубном не понадобилось. Естественно, ссылки на ячейки рабочего листа заменены константами.
Исходник: https://yadi.sk/d/YsNL93Ph3MxWPV
Результат: https://yadi.sk/d/T3u021U-3MxWRv

3. Наконец, была проведена переработка проекта с целью замены объекта UserForm VBA объектом Form VB:
Исходник: https://yadi.sk/d/KCgRKEN33MxYGC
Результат: https://yadi.sk/d/6Odb1BKA3MxYHB

4. И её дальнейшая оптимизация:
Исходник: https://yadi.sk/d/1Gq5UPJ83MxYHt
Результат: https://yadi.sk/d/Ny2y-81d3MxYJN

Примечания.
1. Шаги 3 и 4 не имеют отношения к поднятому вопросу, но, раз были проделаны — решил выложить smile
2. Если у вас нет установленного VB, можно сразу смотреть результаты, вирусов в них нет smile

Итоги.
Преимущество в скорости компилятора над интерпретатором в доказательствах не нуждалось, вопрос был в количественной оценке. Считая, что время графического вывода в любом случае превалирует над временем расчёта, ожидал прироста быстродействия в 20%-30%. После запуска откомпилированного на шаге 2 проекта получил прирост в скорости в 2,5 раза на своей системе. Медленно: в два с половиной раза. То есть, в коде книги Excel расчёт шёл, примерно, в 1,5 раза дольше вывода. Во сколько именно раз поднялась скорость вычислений данные действия не показывают, но, оценочно — в 8 — 10 раз.

Практический вывод.
Если ваш код VBA содержит сложные расчёты — вынести их в отдельную внешнюю процедуру, подключаемую как DLL или OCX ещё как имеет смысл.

P. S. Всё вышенаписанное стоило писать месяца полтора назад. Руки дошли только сейчас, однако.

Добавлять комментарии могут только зарегистрированные пользователи.

[

Регистрация

|

Вход

]

В недавней публикации [1] была
приведена программа, с помощью которой можно
получить на экране изображение двух кривых —
улитки Паскаля и кардиоиды. Существуют и другие
кривые, которые называют “замечательными”. Они
носят, как правило, “звучные” имена, например,
“астроида”, “локон Аньези”, “окружность
Аполлония”, “трактриса” и т.п.

В этой статье мы рассмотрим две
замечательные кривые — эпициклоиду и
гипоциклоиду. Они изображены соответственно на рис.
1 и 2.

37-1.gif (7240 bytes)

Рис. 1                                            
Рис
. 2

Заметим, что это не просто красивые
картинки. Оба изображения имеют
“геометрический” смысл, — это линия, которую
образует точка, закрепленная в плоскости
некоторого круга радиуса r (производящий
круг), когда круг катится без скольжения по
неподвижной окружности радиуса R (направляющая).
На рис. 3 показана часть АМ эпициклоиды, по
которой перемещается точка М производящего
круга.

37-2.gif (2505 bytes)

Рис. 3

Когда окружности касаются внешним
образом, линия называется “эпициклоидой” (от
греческих слов 37-5.gif (452 bytes)на, над, при
и37-6.gif (499 bytes)
круг, окружность), когда касание
внутреннее — “гипоциклоидой” (от gipo — на,
над, при и 37-6.gif (499 bytes)).

Обе кривые имеют также варианты в
зависимости от того, где находится точка М [2].
Обозначим расстояние от этой точки до центра
производящего круга — d. Если d = r (точка М
расположена на окружности производящего круга),
то такие эпициклоида и гипоциклоида называются
“обыкновенными” (на рис. 3 как раз и показан
такой вариант). Когда точка М взята внутри
производящего круга (d < r) — линии называются
“укороченными”, когда вне его (d < r) —
“удлиненными”.

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

Как и в случае с улиткой Паскаля [1], это
удобно делать с помощью параметрических
уравнений кривой. Для эпициклоиды они следующие:

37-3.gif (2488 bytes)

Напомним, что параметрическими такие
уравнения называются потому, что определяют
значения координат х и у каждой точки кривой в
зависимости от некоторого параметра, в нашем
случае от параметра j — угла
наклона отрезка, соединяющего эту точку с
началом координат.

Кроме того, в уравнениях есть величины R,
r и d, смысл которых раскрыт выше.

Используя параметрические уравнения
линии, можно получить ее изображение в программе
— для этого надо рассчитать значения координат х
и у для всех углов, скажем от 1 до 360 градусов через
1 градус, и поставить точку в соответствующем
месте экрана. Программа на школьном
алгоритмическом языке, решающая такую задачу для
эпициклоиды, имеет вид:

алг Эпициклоида


нач цел x, y, угол, x0, y0,

вещ R, r, d, угол2

|Характеристики кривой

R := 100

r := 10

d := 20

|Устанавливаем графический режим

|работы экрана

видео(17)

|Координаты центра экрана

x0 := цел(максX/2); y0 := цел(максY/2)

|Для всех целых значений углов

нц для угол от 1 до 360

|Переводим угол в радианы

угол2 := 6.28 * угол/360

|Рассчитываем координаты

|соответствующей точки кривой

x := x0 + цел((R + r) *

cos(угол2) – d *

cos((R + r)/r * угол2))

y := y0 + цел((R + r) * sin(угол2) –

d * sin((R + r)/r * угол2))

|и изображаем эту точку

точка(x, y)

кц

кон

Примечания

1. В школьном алгоритмическом языке
учитывается регистр символов в именах
переменных величин (r и R — разные
величины).

2. х0 и у0 — координаты центра
экрана (с учетом этих координат рассчитываются
значения х и у); значения х0 и у0 зависят от
величин максХ и максУ, равных соответственно
максимальному значению координат х и у в
выбранном режиме работы экрана.

3. угол2 — величина угла в радианах.

4. Функция цел
возвращает целую часть ее вещественного
аргумента.

Для построения эпициклоид и
гипоциклоид можно использовать также
электронную таблицу Microsoft Excel. Верхняя часть
листа, на котором можно сделать это
применительно к эпициклоиде, показана на рис.
4.

38-0.gif (12768 bytes)

Рис. 4

Задание для самостоятельной работы

1. На изучаемом вами языке
программирования разработайте программу, с
помощью которой можно получить изображение
гипоциклоиды. Ее параметрические уравнения:

38-1.gif (1317 bytes)

38-2.gif (1291 bytes)

2. Оформите листы электронной таблицы
Microsoft Excel для получения эпициклоид и гипоциклоид.
Необходимые формулы и тип графика определите
самостоятельно.

3. Установите, что определяют значения
величин R, r и d на изображении наших линий.

4. Определите особенности
обыкновенных, укороченных и удлиненных
эпициклоид и гипоциклоид (см. выше).

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

В заключение приведем краткую
историческую справку о рассмотренных
замечательных кривых [2].

Чтобы объяснить попятные движения
планет, древнегреческие астрономы, следуя
Гиппарху (II в. до н.э.), приписывали им равномерное
движение по окружности (эпицикл), центр
которой равномерно движется по другой
окружности (деферент). Линия, описываемая
точкой при этих условиях, является эпициклоидой.
Мы не знаем, однако, какие геометрические ее
свойства были известны ученым древности. В
середине XIII века выдающийся арабский астроном и
математик Мухаммед Насирэддин ат-Туси (1201–1274)
установил, что точка окружности, катящейся по
неподвижной окружности, вдвое большего радиуса,
касаясь ее изнутри, описывает диаметр
неподвижной окружности. Это свойство независимо
от Насирэддина было найдено великим польским
астрономом Николаем Коперником (1473–1543); оно
содержится в его знаменитом труде “Об
обращениях небесных кругов”, опубликованном в
1543 г. Теорема Насирэддина – Коперника нашла
широкое применение в прикладной механике.

Начало систематического изучения
эпициклоид и гипоциклоид было положено в 1525 г.
знаменитым немецким художником Альбрехтом
Дюрером (1471–1528), широко применявшим
геометрические методы в изобразительном
искусстве. Однако математикам исследования
Дюрера остались неизвестными.

В середине XVII века Ж.Дезарг (1593–1662), у
которого глубина математических идей сочеталась
с талантами конструктора, изучал свойства
эпициклоид в связи с задачей создания зубчатых
колес с наименьшим трением. Результаты этих, как
и многих других, исследований Дезарга не были им
опубликованы, но они были известны в кругу его
друзей.

Ла Гир, продолживший исследования
Дезарга, опубликовал в 1675 г. “Трактат об
эпициклоидах и их применении в механике”. Здесь
установлен ряд важных свойств эпициклоид.

Литература

1. Как выглядит кардиоида? / “В мир
информатики” № 119 (“Информатика” № 1/2009).

2. Выгодский М.Я. Справочник по высшей
математике. М.: Наука, 2000.

Понравилась статья? Поделить с друзьями:
  • Гипертекстовый документ word практическая работа
  • Гипертекстовое представление информации в word
  • Гипертекст практическая работа в word
  • Гипертекст в документе ms word это
  • Гиперссылка на диапазон ячеек в excel