Студопедия — Короткі теоретичні відомості. Конічний переріз можна описати за допомогою рівняння другого порядку:
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Короткі теоретичні відомості. Конічний переріз можна описати за допомогою рівняння другого порядку:






Конічний переріз можна описати за допомогою рівняння другого порядку:

Ax2 + By2 + Cxy + Dx + Ey + F = 0,

де значення параметрів А, В, С, D, Е і F визначають тип кривої, що зображується. Якщо цей набір коефіцієнтів відомий, тоді вид конічного перерізу, який вийде з цього рівняння, можна визначити на основі дискримінанту В2 - 4АС:

Поліноміальна функція n-го порядку по х визначається як

,

де п – від’ємне ціле число, аk – константи, ап 0. При п = 1 отримаємо пряму лінію, при п = 2 – криву другого порядку, при п = 3 – кубічний поліном, при п = 4 – криву четвертого порядку і т. д. Поліноми використовуються при проектуванні форми предметів, коли описують траєкторії в анімації, будують графіки даних.

При проектуванні форми предмета або траєкторії руху, як правило, спочатку задається декілька точок, які визначають загальний вигляд кривої та є необхідним контуром, а потім за вибраними точками підбирається відповідний поліном. Один зі способів підбору кривої – це з'єднати кожну пару заданих точок кубічною частиною кривої. Кожна така частина описується в параметричній формі:

де параметр і набуває значень від 0 до 1. Значення коефіцієнтів і в попередніх рівняннях визначаються з граничних умов для частин кривої. Одна з граничних умов полягає у тому, що кінець однієї частини кривої збігається з початком наступної, а друга умова – це збіг тангенсів кута нахилу двох кривих на спільній межі, таким чином, у результаті виходить безперервна гладка крива. Безперервні криві, які утворені з поліноміальних фрагментів, називаються онлайновими кривими або просто сплайнами.

Коли описують елементи рисунка, використовується ще одна конструкція – область, яка зафарбована одним кольором або заповнена певним узором. Такі елементи рисунка зазвичай називають кольоровими фігурами або зафарбованими областями. Як правило, вони є плоскими поверхнями, головним чином, багатокутниками.

Терміном вироджений багатокутник часто описують набір вершин, які є колінеарними або координати яких повторюються. Продовження деяких сторін увігнутого багатокутника перетинатимуть інші ребра, а деякі пари внутрішніх точок дають відрізки, що перетинають межі багатокутника. Будь-яку з цих ознак увігнутого багатокутника можна покласти в основу алгоритму розпізнавання увігнутих багатокутників. Увігнутий багатокутник можна розділити на декілька опуклих багатокутників за допомогою векторів сторін та їх векторного добутку або, використовуючи місцезнаходження вершин щодо лінії продовження однієї зі сторін, та визначити з якої сторони від цієї лінії знаходяться вершини.

Для реалізації векторного методу розділення увігнутого багатокутника, спочатку необхідно побудувати вектори сторін. Якщо відомі координати двох сусідніх вершин Vk і Vk+1, тоді вектор між ними визначається таким чином:

.

Потім потрібно знайти векторні добутки сусідніх векторів сторін на всьому периметрі багатокутника. Якщо компонент z одних векторних добутків буде додатним, а інших – від’ємними, тоді багатокутник є увігнутим.

Найчастіше об'єкти сцени описують як набори багатокутних граней поверхонь. Графічні пакети пропонують функції визначення форми поверхні у вигляді сітки багатокутних частин. Щоб описати кожний об'єкт, необхідно включити інформацію про координати, за допомогою яких задається геометрія багатокутних граней та інші параметри поверхні, такі як колір, прозорість і властивості.

Геометричну інформацію про об'єкти сцени зручно розподілити за трьома списками: таблиці вершин, таблиці сторін і таблиці граней. Координати всіх вершин об'єкта записуються до таблиці вершин. У таблиці сторін містяться посилання на таблицю вершин, що дозволяють визначити вершини, які належать кожній стороні багатокутника. У таблиці граней поверхні містяться посилання на таблицю сторін, що визначають межі кожного багатокутника.

До додаткової геометричної інформації, яка зазвичай зберігається в інформаційних таблицях, належить тангенс кута нахилу кожної сторони і координатні межі сторін багатокутників, багатокутних граней і кожного об'єкта сцени в цілому.

При створенні зображення тривимірної сцени графічна система обробляє вхідні дані за допомогою декількох процедур. До цих процедур належать: перетворення координат моделювання і зовнішніх координат при проходженні конвеєра спостереження (viewing pipeline), визначення видимих поверхонь, застосування стандартних процедур візуалізації до окремих граней поверхонь. Деяким з цих процедур необхідна інформація про просторову орієнтацію елементів поверхонь. Цю інформацію можна отримати з координат вершин і рівнянь, що описують багатокутні поверхні.

Оскільки зазвичай багатокутні поверхні, з якими доводиться мати справу в графічних додатках, є зовнішньою оболонкою об'єкта, необхідно розрізняти дві сторони кожної поверхні. Та сторона багатокутника, яка направлена всередину об'єкта, називається задньою, а видима, або зовнішня, сторона є передньою. Визначення положення точок у просторі щодо передньої та задньої сторін багатокутника є основним завданням багатьох графічних алгоритмів, наприклад, алгоритму визначення видимих частин об'єкта. Кожен багатокутник розташовано в нескінченній площині, що розділяє простір на дві частини. Будь-яка точка, що не належить цій площині, яку видно з лицьового боку поверхні багатокутника, знаходиться перед площиною (або зовні), отже, за межами об'єкта. Будь-яка точка, яку видно зі зворотного боку багатокутника, знаходиться за площиною (або всередині). Точка, яка знаходиться за всіма площинами поверхонь багатокутника, знаходиться всередині об'єкта. Класифікація "усередині-зовні" проводиться щодо площини, що містить багатокутник.

У пакеті OPENGL заповнена область повинна задаватися у вигляді опуклого багатокутника. Таким чином, список вершин для зафарбованого багатокутника повинен містити щонайменше три вершини та в ньому не повинно бути пересічних сторін, а всі внутрішні кути багатокутника повинні бути менше 180°. Зафарбована область у вигляді одного багатокутника може задаватися за допомогою одного списку вершин, і в цьому випадку неможливі конфігурації, що містять отвори у внутрішній області багатокутника.

У пакеті OPENGL колір заповнення й інші параметри можна задавати для кожної сторони окремо, визначення передньої (задньої) сторони необхідне як у двох, так і в тривимірних стандартних процедурах візуалізації. Вершини багатокутника повинні задаватися в напрямку проти годинникової стрілки, якщо дивитися на багатокутник "ззовні", таким чином визначається передня сторона цього багатокутника.

У деяких версіях OPENGL процедура glVertex може виявитися ефективнішою, ніж побудова зафарбованого прямокутника за допомогою функції.

glRect* (xl, yl, x2, y2);

Один кут цього прямокутника знаходиться в точці з координатами (x 1, y 1), а протилежний кут прямокутника – у точці з координатами 2, y 2). Індекси функції glRect позначають тип даних – i (для цілих чисел), s (для коротких цілих чисел), f (для чисел з плаваючою комою), d (для чисел подвійної точності) і v (для векторів). Прямокутник зображується таким чином, що його сторони паралельні координатним осям площини ху. Приклад функції, яка зображує квадрат.

glRecti (200, 100, 50, 250);

Якщо задавати значення координат цього прямокутника у вигляді масиву даних, той самий квадрат можна отримати за допомогою наступного коду.

int vertexl [ ] = {200, 100};

int vertex2 [ ] = {50, 250};

Решта шести примітивів зафарбованих багатокутників у пакеті OPENGL задається за допомогою символьної константи у функції glBegin разом зі списком команд glVertex. За допомогою константи OPENGL GL_POLYGON можна отримати зображення одного зафарбованого багатокутника glRectiv (vertexl, vertex2);







Дата добавления: 2015-10-19; просмотров: 431. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Studopedia.info - Студопедия - 2014-2024 год . (0.033 сек.) русская версия | украинская версия