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

Определение значения наклона

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


Читайте также:
  1. A) Определение обстоятельств
  2. B6 - Ударные Инструменты General MIDI - Назначения Нот
  3. CASE-технологии: определение и описание.
  4. I.3. Определение активности
  5. II. Определение общих черт
  6. II. УСЛОВНЫЕ ОБОЗНАЧЕНИЯ И ЗНАКИ
  7. II. УСЛОВНЫЕ ОБОЗНАЧЕНИЯ И ЗНАКИ

Теперь нам надо вычислить каждый из элементов таблицы наклонов. Это должны быть действительные значения наклонов всех возможных линий, отсекаемых от точки наблюдения игрока. Поскольку мы разбили окружность на 1920 секторов, то каждый из них будет по 360/1920 = 0.1875 градусов. Таким образом, мы нашли способ вычисления наклона для всех линий окружности с шагом в 0.1875 градуса. Все это выглядит довольно сложным для вычисления. К счастью, проблему поможет решить функция tg (). Если вы забыли определение тангенса, то напомним, что для прямоугольного треугольника он равен отношению синуса к косинусу угла:

 

 
 
SinQ противоположная_сторона TgQ = -------- = ------------------------------------ CosQ прилегающая_сторона

 

 


Если это так, то

М = tg q

Создав таблицу значений наклонов из 1920 элементов, где каждый наклон равен tg q, все остальные расчеты значительно упрощаются. Мы используем эти наклоны для построения лучей. Но есть несколько проблем:

§ Только в первом квадранте значения тангенса будут корректны. В других квадрантах он может быть как отрицательным, так и положительным, но вы не сможете узнать знак наклона, поскольку сама функция является частным. Таким образом, при программировании надо на это обратить внимание и выполнять вычисления в условном операторе;

§ Функция tg() имеет вертикальные асимптоты при углах в 90 и 270 градусов. Поэтому надо быть внимательным, чтобы избежать в этих точках деления на ноль или ошибок с плавающей запятой.


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


<== предыдущая страница | следующая страница ==>
Алгоритм 6.1. Алгоритм отсечения лучей.| Формула 6.3. Вычисление первой Х-координаты пересечения.

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