Моделирование циклических процессов в графике
Задача «Муаровый эффект»
Нилова Юлия Николаевна
Учитель информатики ГБОУ СОШ № 501 Санкт-Петербурга
Ход урока
- Организационный момент
- Проверка домашнего задания
- Постановка проблемы
Iэтап. Постановка задачи
Описание задачи
Денежные знаки необходимо защищать от подделок, для чего используются различные защитные признаки. На российских купюрах от 10 до 1000 рублей используется защитный признак - скрытый муаровый узор.
Цель
Исследовать эффект возникновения муарового узора.
Формализация
Муарили муаровый узор – это узор, который возникает при наложении сетчатых рисунков из равноудаленных параллельных линий. Повторяющиеся элементы рисунков следуют с разной частотой и накладываются друг на друга, образуя промежутки.
Понятие «муар» происходит от ткани муар, при создании которой использовалось данное явление.
Уточняющий вопрос |
Ответ |
Что моделируется |
Эффект возникновения узора. |
Что является условием появления узора? |
Наложение сеток из равноудаленных параллельных линий под углом. |
Каковы параметры сетки параллельных линий? |
Значения координат начала и конца линии, шаг изменения между линиями. |
Как будут располагаться параллельные линии? |
Горизонтально. |
Линии будут иметь одинаковый размер? |
Да, равный ширине экрана. |
Сколько горизонтальных линий можно построить? |
Сколько поместится на экране по высоте. |
Может ли шаг быть равным единице? |
Нет, такие линии сольются в сплошной прямоугольник. |
Как упростить построение сетки из параллельных линий под углом? |
Построить множество концентрических окружностей. |
Каковы параметры концентрических окружностей? |
Координаты центра, радиус, шаг изменения радиуса. |
Где должен располагаться центр окружности? |
В центре экрана. |
С каким шагом должен изменяться радиус? |
С шагом равным или близким шагу изменения координаты по вертикали параллельных прямых. |
IIэтап Разработка модели
1. Информационная модель
Моделируется система: множество горизонтальных параллельных линий и множество концентрических окружностей, наложенных друг на друга. Отношения, образующие систему – это отношение взаимного расположения, в котором в зависимости от параметров линий, окружностей и их расположения по отношению друг к другу создается разный узор.
Объект моделирования |
Параметры |
|||||
реального объекта |
для среды программирования |
|||||
название |
значение |
имя/ значение |
переменна/ константа |
тип |
||
система |
множество горизонтальных линий |
координата по горизонтали начала линии |
0 |
0 |
константа |
целое число |
координата по горизонтали конца линии |
640 |
640 |
константа |
целое число |
||
координата линии по вертикали |
результат расчета |
y |
переменная |
целое число |
||
начальное значение координаты линий по вертикали |
0 |
0 |
константа |
целое число |
||
конечное значение координаты линий по вертикали |
480 |
480 |
константа |
целое число |
||
шаг изменения по вертикали |
3 |
3 |
константа |
целое число |
||
множество концентрических окружностей |
координаты центра |
320, 240 |
320,240 |
константа |
целое число |
|
радиус окружности |
результат расчета |
r |
переменная |
целое число |
||
начальное значение радиуса |
0 |
0 |
константа |
целое число |
||
конечное значение радиуса |
320 |
320 |
константа |
целое число |
||
шаг изменения радиуса∆r |
3 |
3 |
константа |
целое число |
- Модель последовательности действий
Программа
BASIC |
Pascal |
CLS SCREEN12
REMРисуем множество линий FORy=0 TO479 STEP3 LINE(0,y) – (639,y) NEXTy
REMРисуем множество окружностей FORr=0 TO320 STEP3 CIRCLE(320,240), r NEXTr
|
uses Graph; var grDriver: Integer; grMode: Integer; y,r : integer; begin grDriver := Detect; InitGraph(grDriver, grMode,''); {Рисуем множество линий} fory:=0 to159 do line(0,y*3,639,y*3); {Рисуем множество окружностей} for r:=0 to 106 do circle(320,240,r*3); readln; closeGraph; end. |
Совет программиста
Пишите комментарии в программе, они помогут вам структурировать программу, понять или не забыть какое действие выполняет фрагмент программы.
Транслятор игнорирует текст, содержащийся в комментариях, поэтому комментарии не влияют на скорость выполнения программы.
|
BASIC |
Pascal |
Синтаксис оператора |
REM[] ‘ [] |
{} (**) |
Примеры |
REMэто комментарий ‘ это комментарий |
{ٍэто комментарий} (* это комментарий *) |
III этап. Компьютерный эксперимент
Эксперимент 1
Протестируйте программу, визуально оценив появление узора.
Эксперимент 2
Подберите значения ∆y, ∆r наглядно поясняющие физическую сущность муар-эффекта.
4.Домашнее задание
Проведите эксперименты 3 - 7
Эксперимент 3
Установите зависимость появления муар-эффекта от соотношения между ∆y и ∆r, сделайте вывод.
№ |
∆y постоянная величина |
∆r изменяемая величина |
узор есть/нет |
1 |
3 |
3 |
|
2 |
3 |
10 |
|
3 |
3 |
20 |
|
4 |
3 |
50 |
|
Эксперимент 4
Исследуйте муаровый эффект в сочетании с изменением цвета. Сделайте вывод.
№ |
цвет линии |
цвет окружности |
новый цвет есть/нет |
1 |
красный |
синий |
|
2 |
красный |
желтый |
|
3 |
синий |
желтый |
|
4 |
синий |
зеленый |
|
Эксперимент 5
Исследуйте возникновение муар-эффекта при наложении друг на друга 2-х множеств вертикальных полос, отличающихся шагом ∆x. Сделайте вывод.
№ |
∆x1 для первого множества вертикальных полос |
∆x2 для второго множества вертикальных полос |
узор есть/нет |
1 |
10 |
10 |
|
2 |
2 |
5 |
|
3 |
2 |
3,5 |
|
4 |
3,5 |
4,8 |
|
Эксперимент 6
Исследуйте возникновение муар-эффект при наложении друг на друга 2-х множеств полос: вертикальных полос и полос под небольшим углом. Сделайте вывод.
№ |
∆x1 для первого множества вертикальных полос |
∆x2 для второго множества вертикальных полос |
узор есть/нет |
1 |
10 |
10 |
|
2 |
2 |
5 |
|
3 |
2 |
3,5 |
|
4 |
3,5 |
4,8 |
|
Эксперимент 7
Придумайте возможные области применения муарового эффекта.
Известны ли вам ситуации, когда появление муар-эффекта нежелательно.