Прості об’єкти в 3D Processing

У попередньому розділі ми навчилися малювати прості фігури в 2D У Processing також є функції простих фігур в 3D, за замовчуванням це прямокутний паралелепіпед і сфера У цьому прикладі ми порисуємо їх

Як це робиться

У цьому прикладі я не буду приводити код з функції setup () Зараз ви вже знаєте, як її застосовувати Імпортуйте бібліотеку OpenGL так, як ви робили це в прикладі Треерное простір і створіть вікно здатністю 640 x 480 пікселів Не забудьте додати параметр OPENGL до функції size ()

Наступний код додайте в функцію draw () Функції pushMatrix (), popMatrix () і translate () ми залишимо з попереднього прикладу Для обертання наших фігур ми додамо функцію rotateY () Фігури будуть виведені на екран за допомогою функцій box () і sphere () Функція sphereDetail () буде змінювати форму сфери

background( 255 ) lights()

float angleY = radians( frameCount )

pushMatrix()

translate( width * 03, height* 03 ) rotateY( angleY )

fill( 0, 255, 255 )

box( 100 ) popMatrix()

pushMatrix()

translate( width * 05, height* 05 ) rotateY( angleY )

fill( 0, 255, 0 )

box( 100, 40, 50 )

popMatrix()

pushMatrix()

translate( width * 07, height * 03 ) rotateY( angleY )

fill( 255, 0, 0 )

sphereDetail( 30 )

sphere( 75 ) popMatrix()

pushMatrix()

translate( width * 03, height * 07 ) rotateY( angleY )

fill( 255, 255, 0 )

sphereDetail( 6 )

sphere( 75 ) popMatrix()

pushMatrix()

translate( width * 07, height * 07 ) rotateY( angleY )

fill( 255, 0, 255 )

sphereDetail( 4, 20 )

sphere( 75 ) popMatrix()

Після складання коду для функції draw () запустіть скетч Результат повинен виглядати так, як на цьому скріншоті:

Як це працює

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

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

Додатково

На початку функції draw () ми оголосили змінну angleY Ця змінна використовується для обертання кожного 3D-обєкта навколо осі Y В кожному кадрі обєкти будуть повернені на один градус Для цього ми застосували вбудовану змінну frameCount оскільки значення цієї змінної збільшується на 1 з кожним кадром Ми конвертуємо цю величину в радіани, так як для вимірювання кутів в Processing потрібні саме вони

Джерело: Ян Вантомм, Processing 2: креативне програмування, переклад з англійської Олександри Мішутіної, Published by Packt Publishing Ltd, 2012, BIRMINGHAM – MUMBAI

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*