Урок "Створення простих 3D зображень в Processing"

Про матеріал
Розглядаються функції за допомогою яких можна створювати прості 3D зображення в Processing.
Перегляд файлу

Урок інформатики  11 клас.

Тема:  Створення простих 3D зображень в Processing.

 

Мета: Навчити створювати прості 3D зображення в Processing; розвивати творчі здібності учнів, комунікативну та інформаційну компетентності;

виховувати політехнічне мислення, інтерес до предмету.

Обладнання: ПК, програма для демонстрації екрану NSS, мова     програмування Processing .

План уроку

I. Повідомлення теми і мети уроку.

II. Мотивація вивчення теми.

Ми вже розглянули як малювати лінії і фігури в 2D, ми навчилися це робити в двомірному просторі. Зараз ми вивчимо основи малювання в 3D.  Почнемо з вивчення інструментів тривимірного малювання і простих тривимірних фігур.

 

III. Вивчення нового матеріалу.

Для роботи в тривимірному просторі Processing потрібно додати до функції size() третій параметр, встановивши рендерер.  В цьому випадку цим параметром буде OPENGL. Ви могли помітити, що функції типу rect() або ellipse() мають тільки координати x і y.  Для малювання цих фігур в тривимірному просторі координата z не використовується.  Якщо ви хочете намалювати ці двовимірні фігури в трьох вимірному просторі, змістите систему координат за допомогою функції translate(). 

Використовуючи функцію translate() між функціями pushMatrix() і popMatrix() робимо обертання графічних блоків. Функція pushMatrix() зберігає поточний стан системи координат.  Вона використовується в парі з функцією popMatrix(), що відновлює положення системи координат, збережене за допомогою функції pushMatrix(). Функція translate(), коли ви з нею працюєте в 3D, має три параметри.  Це координати x, y і z нової опорної точки, яку будемо використовувати.  Для анімації кольорових квадратів використовували змінну depth для вказівки z-координати в функції translate(). 

Функція box() використовується як з одним, так і з трьома параметрами.  Якщо ми застосуємо її з одним параметром, у нас вийде куб.  Використання цієї функції з трьома параметрами дозволяє встановлювати різні значення ширини, глибини і висоти отриманого паралелепіпеда.

У функції sphere() є тільки один параметр: радіус сфери.  Можна регулювати відображення сфери, використовуючи функцію sphereDetail() перед функцією sphere().  Роздільна здатність сфери встановлена за замовчуванням і дорівнює 30. При зменшенні цього значення наша сфера буде менш деталізована;  при збільшенні - навпаки.  Використовуючи цю функцію з двома параметрами, ми можемо встановити розмір сфери по горизонталі і по вертикалі.  Підставляючи невелике значення в перший параметр і велике в другій, ми будемо отримувати абсолютно різні сфери.

 

floatdepth; floatzSpeed;

voidsetup()

{

size( 640, 480, OPENGL );

depth = 0;

zSpeed = -1;

}

voiddraw()

{

depth += zSpeed;

if ( depth<= -1000 || depth>= 0 ) { zSpeed *= -1;}

}

background( 255 );

lights();

floatangleY = radians( frameCount );

pushMatrix();

translate( width * 0.3, height* 0.3 ); rotateY( angleY );

fill( 0, 255, 255 );

box( 100 ); popMatrix();

pushMatrix();

translate( width * 0.5, height* 0.5 ); rotateY( angleY );

fill( 0, 255, 0 );

box( 100, 40, 50 );

popMatrix();

pushMatrix();

translate( width * 0.7, height * 0.3 ); rotateY( angleY );

fill( 255, 0, 0 );

sphereDetail( 30 );

sphere( 75 ); popMatrix();

pushMatrix();

translate( width * 0.3, height * 0.7 ); rotateY( angleY );

fill( 255, 255, 0 );

sphereDetail( 6 );

sphere( 75 ); popMatrix();

pushMatrix();

 

IV. Виконання завдання з застосуванням нового матеріалу.

Створити 3D зображення заданої вчителем фігури.

V. Підведення підсумків уроку.

 Перегляд та оцінювання створених програм.

VI. Домашнє завдання: Опрацювати конспект.

 

doc
Додано
31 березня 2021
Переглядів
830
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку