Ієрархічна структура матричного стека – РОЗРОБКА ІГОР ДЛЯ ОС ANDROID

Що таке ієрархічна структура Прикладом подібної структури є Сонячна система У центрі розташовується Сонце Навколо нього знаходяться планети, які обертаються навколо нього на певній відстані Навколо деяких планет є супутники, які обертаються навколо цих планет І Сонце, і планети, і супутники крутяться навколо своїх центрів (щось на зразок того) Ми можемо побудувати таку систему за допомогою матричного стека

Сонце має позицію в нашому світі і крутиться навколо себе Всі планети рухаються разом з Сонцем, тому, якщо позиція Сонця поміняється, планети також повинні змінити свої позиції Для розміщення Сонця можна використовувати метод glTranslatef, а щоб змусити його обертатися навколо своєї осі, – метод gl RotatefC

Планети мають позицію, відносну позиції Сонця, і так само, як і Сонце, обертаються навколо своєї осі Обертання планет навколо своєї осі може бути здійснено за допомогою методу gl RotatefC, а обертання навколо Сонця – з використанням методів gl Trans atef і gl Rotatef Змусити планету переміщатися разом з Сонцем можна за допомогою додаткового виклику методу glTranslatef

Супутники мають позицію щодо планет, чиїми супутниками вони є Вони також обертаються навколо своєї осі і навколо планети Обертання супутника самого по собі може бути здійснено за допомогою методу gl RotatefC), а обертання навколо планети – із застосуванням методів glTransl atef і gl RotatefC) Змусити супутник переміщатися разом з планетою можна за допомогою методу glTransl atef О

І оскільки планети переміщуються разом з Сонцем, супутники також повинні переміщатися разом з ним, чого можна досягти використанням методу glTranslatefO

Тут ми можемо спостерігати так звані взаємини предків і нащадків Сонце є предком кожної планети, а кожна планета є предком кожного супутника Кожна планета є нащадком Сонця, а кожен супутник – нащадком планети Це означає, що позиція кожного нащадка задається щодо його предка, а не початку координат світу

У Сонця немає предка, тому його позиція задана щодо початку координат Планета є нащадком Сонця, тому її позиція задана щодо Сонця Місяць є нащадком планети, тому її позиція задана щодо планети Ви можете розглядати центр кожного предка як початок системи координат, в якій визначаються його нащадки

Обертання навколо своєї осі кожного з обєктів у системі не залежить від предків Це ж вірно і в тому випадку, якщо б ми захотіли промасштабіровать обєкт Дані операції відносні лише центру самого обєкта Те ж саме відбувається всередині простору моделей

Джерело: Mario Zechner / Маріо Цехнер, «Програмування ігор під Android», пров Єгор Сидорович, Євген зазноби, Видавництво «Пітер»

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


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

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

Ваш отзыв

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

*

*