Циклоида как построить в excel

Циклоида как построить в excel

Коткова Лидия Леонидовна

учитель информатики

ГОУ СОШ № 728 г.Москвы

Урок по теме «Моделирование физического процесса.Циклоида»

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

Необходимые знания и умения к данному уроку.

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

  1. Организационный момент.
  2. Постановка задачи.
  3. Эксперимент.
  4. Историческая справка о циклоиде.
  5. Практическая работа: построение графика кривой в Excel .
  6. Повторение.
  7. Задание на дом.

1. Организационный момент (учащиеся сидят за партами). Мы продолжаем изучение темы моделирование. Напомните, что означает моделирование, что называется моделью? Сегодня вы будете строить графическую модель, но сначала вспомним, какие графические модели нам известны? (графы, графики, чертежи, схемы и т.д.).

2. Постановка задачи. Возьмём колесо, обруч, круг. Зафиксируем точку круга. Будем катить круг по прямой. Какую кривую опишет зафиксированная точка круга? Следите внимательно за траекторией точки (в большинстве учащиеся отвечают, что точка опишет окружность , но кто-то догадается и скажет, что точка опишет дугу ).

У читель показывает на большом экране :

( нажмите кнопку "Движение" )

3. Эксперимент. Проверим наше предположение. Прикрепим к обручу или кругу кусок мела и покатим вдоль стены, мел будет вычерчивать «кругообразную» кривую, называемую циклоидой . Одному обороту обруча соответствует одна «арка» циклоиды, если обруч будет катиться дальше, то будут получаться еще и еще арки той же циклоиды.

У читель показывает на большом экране :

( нажмите кнопку "Движение" )

4. Историческая справка о циклоиде. Первым из учёных обратил внимание на циклоиду Николай Кузанский в XV веке, но серьёзное исследование этой кривой началось только в XVII веке. Название циклоида придумал Галилей (во Франции эту кривую сначала называли рулеттой). Содержательное исследование циклоиды провёл современник Галилея Мерсенн.

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

Эта кривая быстро завоевала популярность и подверглась глубокому анализу, в котором участвовали Декарт, Ферма, Ньютон, Лейбниц, братья Бернулли и другие корифеи науки XVII—XVIII веков.

Циклоида имеет ряд удивительных свойств:

ü «Перевёрнутая» циклоида является кривой скорейшего спуска. Более того, она имеет также свойство таутохронности: тяжёлое тело, помещённое в любую точку арки циклоиды, достигает горизонтали за одно и то же время.

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

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

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

x = a ( t — sin t ) ,

y = a (1- cos t ) ,

где а — радиус окружности.

Обратите внимание на то, как надо правильно ввести формулу (это для ячейки В2).

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

ü Как называется эта к ривая?

ü Какие интересные свойства циклоиды вы запомнили?

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

7. Домашнее задание . Поищите в справочниках, интернете, какие существуют ещё интересные кривые. Модели каких кривых мы можем построить в электронной таблице Excel ?

Циклоида как построить в excel

0 Спам

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

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

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

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

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

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

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

0
Аналогично

Ссылка на основную публикацию