3.2.3. Пространственные системы координат.
Трехмерная прямоугольная система.
Рис. 28 Трехмерная прямоугольная система координат
Она образуется тремя взаимноперпендикулярными
осями. Положение точки в пространстве в этой системе может быть задано
тремя координатами - проекциями на эти оси (рис.28).
В играх в этой системе координат задают
конструкцию кораблей Возьмите лист бумаги в клеточку, вычертите на ией
конструкцию своего корабля и для каждой вершины проставьте ее
координаты (см. рис.29). Всякий раз, когда в поле Вашего зрения
попадает посторонний объект (корабль, станция, астероид), он
вычерчивается на экране по координатам.
взятый из таблиц. А в таблицах они заданы
именно в этой систе ме. За начало координат принимается центр тяжести
или геометрический центр корабля. Сколько бы кораблей Вы ни
использовали в своей программе, задать координаты конструкции каждого
Вам придется .
Рис. 29 Изображение кораблей в пространственной прямоугольной системе координат
Сферическая система координат.
Это аналог полярной системы координат, но в пространстве. Положение
объекта задается во-первых радиусом-вектором, направленным от начала
координат к объекту, а во-вторых, двумя углами, которые образуются
между этим радиусом-вектором и главными осями (см. рис. 30).
Если в программе ELITE Вы ведете карьеру бойца,
то проводите в этой системе координат основную долю времени. В этой
системе координат задают положение объектов относи тельно наблюдателя в
прост ранстве. Так, например, в этой системе координат происходят сцены
космических боев и операции причалива ния к космической станции
Предположим, Вам надо изобразить иа экране вражеский корабль. Вопрос,
как его изображать, решается по его Рис 30 Сферическая система
конструкции, заданной в координат прямоугольной системе, а
вот вопрос, где его изображать, уже решается в
трехмерной сферической системе. За начало системы координат принимается
положение наблюдателя.
Те, кто играют в игру ELITE, знают, что
использование JUMP-двигателя невозможно, если в поле зрения локатора
корабля есть какие-либо объекты (астероиды, корабли и т.п ). Это очень
мешает двигаться быстро и вынуждает даже миролюбивых пилотов уничтожать
все то, что находится в зоне видимости И наложено ограничение на
использование 3UMP-двигателя отнюдь не случайно. Так устроена программа
именно потому, что процедуры, имитирующие 3UMP-двигатель, обрабатывают
координаты Вашего корабля в полярной системе, начало которой
"привязано" к планете. Когда же появляется какой либо объект, то надо
переключаться на про цедуры, работающие в сферической системе
координат, "привязан ной" к Вам Это и делает программа, а Вам же
сообщают, что использовать OUMP-переход нельзя, потому что якобы он
может пройти ненормально из-за помех, вносимых посторонним телом в
геометрию пространства. Кстати, это пример того, как тонко обыгры
ваются программные ограничения в сценарной поддержке. Игра от этого
становится даже интереснее.
Прочие системы. Существует бесконечное количество и иных видов систем координат, но для наших задач уже достаточно выше-рассмотренных четырех.