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

Формула 6.3. Вычисление первой Х-координаты пересечения.

Листинг 5.15. Отображение символа. | Листинг 5.16. Tombstone (TOMB.С). | ТРЕТЬЕ ИЗМЕРЕНИЕ | Листинг 6.1. Определение точки и линии в трехмерном пространстве. | Листинг 6.2. Определение трехмерного многоугольника. | Листинг 6.3. Описание трехмерного объекта на основе многоугольников. | Алгоритм Художника, Тест 1 | Время выполнения Алгоритма Художника | Использование уравнения плоскости для вершин многоугольника | Алгоритм 6.1. Алгоритм отсечения лучей. |


Читайте также:
  1. I. Этап «Военно-интеллектуальный - 1914». Посвящен памяти русских солдат участников Первой мировой войны 1914-1918 годов.
  2. II. Историческая наука России первой половины XIX века: становление профессионализма
  3. III. Консервативное направление в русской историографии первой половины XIX в.
  4. V2: Формула Эйлера для критической силы сжатого стержня и пределы ее применимости
  5. VII. Правила оказания первой помощи
  6. АБСОЛЮТНАЯ И ОТНОСИТЕЛЬНАЯ АДРЕСАЦИЯ ПРИ РАБОТЕ С ФОРМУЛАМИ
  7. АРХИТЕКТУРА САНКТ-ПЕТЕРБУРГА ПЕРВОЙ ПОЛОВИНЫ XVIII ВЕКА

 
 
Xi = M-1 * (Yi – Yp) + Xp

 


Для нахождения первого пересечения текущего луча нам надо выполнить только два умножения и сложение. Не так плохо. Мы обязательно это оптимизируем, но сделаем это позже. Переменная М — это величина наклона, которую мы уже вычислили и занесли в таблицу наклонов.

Единственное, что может нас расстроить в этих преобразованиях, это их рекурсивность: каждое преобразование требует предварительного вычисления Другого. Это несколько затруднительно. Но вы можете заметить, что Xi в первом равенстве на самом деле означает «первая граничная вертикальная линия», a Yi во втором выражении означает «первая граничная горизонтальная линия». В этом и заключена изюминка метода отсечения лучей для квадратных матриц. Далее, мы знаем, что луч пересекается с каждой из ячеек в вертикальном и горизонтальном столбце. Рисунок 6.24 поясняет это, Если мы однажды вычислим первое пересечение, то сможем найти и все остальные пересечения с лучом, а также конец его траектории.

Прежде чем рассказать вам о поиске остальных пересечений, я хочу отметить, что каждый: луч может иметь пересечения как с вертикальной, так и с горизонтальной асимптотами, и мы должны вычислять эти пересечения.

Некоторые, программисты любят это делать за два прохода: в первом вычисляются все возможные горизонтальные пересечения, а во втором — все вертикальные пересечения. Рисунок 6.25 демонстрирует эту идею.

Это нормально, но я предпочитаю делать это одновременно. Время выполнения обоих методов одинаково, а остальное - дело вкуса. Есть еще одна деталь в работе с пересечениями, для каждого из них (включая самое первое) мы проверяем наличие непрозрачного объекта. Мы должны посмотреть во все стороны от пересечения и попробовать его заметить. Направление просмотра зависит or нашего положения. Если мы находим объект, то останавливаемся и вычисляем дистанцию до пересечения (мы научимся это делать позже). Если мы не обнаруживаем пересечений, то просто продолжаем вычисления до тех пор, пока луч не упрется в какой-либо объект или не выйдет за границы нашего игрового мира.

 


Дата добавления: 2015-07-12; просмотров: 189 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Определение значения наклона| Формула 6.6. Теорема Пифагора.

mybiblioteka.su - 2015-2024 год. (0.007 сек.)