Системы координат на плоскости. Системы координат в пространстве.

Декартова прямоугольная система координат

Сферическая система координат.

Цилиндрическая система координат (трубы, туннели…).

1.  Способы задания кривых на плоскости.

2.  Способы задания кривых и поверхностей в пространстве.

Существует три основных способа задания кривых и поверхностей в пространстве:

·  Явное.

·  Неявное.

·  Параметрическое.

Способы задания поверхностей

- Явное:

Пример: График функции двух переменных (гиперболический параболоид).

Еще одним способом наглядного представления функции двух переменных, широко используемым на практике, является ее представление в виде изолинии – ГМТ на плоскости, для которых функция принимает постоянные значения: . Таким образом, каждая изолиния задается неявно с помощью уравнения .

- Неявное:

Пример: (однополостный гиперболоид), (плотность, как характеристика, распределенная в пространстве).

- Параметрическое:

Пример: боковая поверхность кругового цилиндра радиуса R и высотой H в цилиндрической СК:

Способы задания кривых

- Неявное:

Данная система имеет следующую геометрическую интерпретацию: ее решение соответствует линии пересечения двух неявно заданных поверхностей (если она существует).

- Параметрическое:

Если принять следующее параметрическое задание поверхности:

То с помощью замены можно всегда перейти к параметрическому заданию исходной поверхности:

при котором область допустимых значений параметров u и v представляет собой единый квадрат . В этом случае параметры u и v будем называть нормализованными.

НЕ нашли? Не то? Что вы ищете?

Величины U, V называют внутренними криволинейными координатами на поверхности. Также как и на плоскости, они могут использоваться для явного, неявного или параметрического задания кривой на поверхности.

Пример: если , то при подстановке в вышеуказанные уравнения получим координатную линию на поверхности (параметрически заданная пространственная кривая). Аналогично для уравнения и т. д.

3.  Преобразования симметрии относительно заданной точки.

делаем перенос мировой системы координат:

T(V)

*T(V)

Переносим систему координат обратно:

T(V)

4.  Преобразования симметрии относительно заданной прямой.

Симметрия – это то же самое отражение, поэтому задача преобразования симметрии относительно заданной прямой сводится к задаче отражения относительно произвольной прямой.

Отражение в двумерном пространстве

Задача отражения относительно произвольной прямой сводится к задаче отражения относительно прямой проходящей через начало координат посредством следующих действий:

1.  Перемещение линии и объекта таким образом, чтобы линия прошла через начало координат.

2.  Поворот линии и объекта вокруг точки начала координат до совпадения с одной из координатных осей.

3.  Отражение относительно координатной оси.

4.  Обратный поворот вокруг начала координат.

5.  Перемещение в исходное положение.

В матричном виде данное преобразование имеет представление:

,

где - матрица перемещения, R – матрица поворота вокруг начала координат, - матрица отражения.

В общем случае матрица отражения имеет следующий вид:

- отражение относительно прямой y=0.

- отражение относительно прямой x=0.

- отражение относительно прямой y=x.

У каждой из этих матриц определитель равен -1. В общем случае, если определитель матрицы преобразования равен -1, то преобразование дает полное отражение.

5.  Преобразования симметрии относительно заданной плоскости.

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

В общем случае матрица отражения имеет следующий вид:

- отражение относительно плоскости xy.

- отражение относительно плоскости yz.

- отражение относительно плоскости xz.

Симметрии относительно плоскостей Oyz, Ozx, Oxy, осей Ox, Oy, Ozи точки (начала координат) задаются матрицами

Симметрии

Симметрии относительно произвольных плоскостей и прямых можно получить по той же формуле, что и растяжения, взяв в качестве lambdajнужную комбинацию чисел и -1. Однако если мы хотим, чтобы полученное преобразование было действительно симметрией нужного вида, векторы Векторы, для которых lambdai не равно lambdaj, должны быть перпендикулярны, то есть, их скалярное произведение должно быть равно : Скалярное произведение.
При отыскании нужных векторов полезно иметь в виду, что вектор с координатами {A,B,C}перпендикулярен плоскости Ax+By+Cz+D=0.
В частности, матрица симметрии относительно плоскости Ax+By+Cz=0имеет вид

Симметрия

Симметрия относительно плоскости

Постановка задачи. Найти координаты точки 0,38 Kb, симметричной точке 0,37 Kb относительно плоскости 0,36 Kb.

План решения.

1. Находим уравнение прямой, которая перпендикулярна данной плоскости и проходит через точку 0,37 Kb. Так прямая перпендикулярна заданной плоскости, то в качестве ее направляющего вектора можно взять вектор нормали плоскости, т. е.

0,38 Kb.

Поэтому уравнение прямой будет

0,44 Kb.

2. Находим точку 0,37 Kb пересечения прямой 0,44 Kb и плоскости 0,36 Kb (см. задачу 13).

3. Точка 0,37 Kb является серединой отрезка 0,24 Kb, где точка 0,38 Kb является точкой симметричной точке 0,37 Kb, поэтому

0,49 Kb.

Задача 14. Найти точку 0,19 Kb, симметричную точке 0,18 Kb относительно плоскости.

0,47 Kb

Уравнение прямой, которая проходит через точку 0,18 Kb перпендикулярно заданной плоскости будет:

0,36 Kb.

Найдем точку пересечения прямой и плоскости.

1,18 Kb

Откуда 0,38 Kb – точка пересечения прямой и плоскости. 0,19 Kb является серединой отрезка 0,21 Kb, поэтому

1,77 Kb

Т. е. 0,35 Kb.

6.  Однородные координаты плоскости. Аффинные преобразования на плоскости.

Пусть М - произвольная точка плоскости с координатами х и у, вычисленными относительно заданной прямолинейной координатной системы. Однородными координатами этой точки называется любая тройка одновременно неравных нулю чисел х1, х2, х3, связанных с заданными числами х и у следующими соотношениями:

При решении задач компьютерной графики однородные координаты обычно вводятся так: произвольной точке М (х, у) плоскости ставится в соответствие точка Мэ (х, у, 1) в пространстве (рис. 8).

Рис. 8

Заметим, что произвольная точка на прямой, соединяющей начало координат, точку 0(0, 0, 0), с точкой Мэ (х, у, 1), может быть задана тройкой чисел вида (hx, hy, h).

Будем считать, что h ¹ 0.

Вектор с координатами hx, hy, является направляющим вектором прямой, соединяющей точки 0 (0, 0, 0) и Мэ (х, у, 1). Эта прямая пересекает плоскость z = 1 в точке (х, у, 1), которая однозначно определяет точку (х, у) координатной плоскости ху.

Тем самым между произвольной точкой с координатами (х, у) и множеством троек чисел вида

(hx, hy, h), h ¹ 0,

устанавливается (взаимно однозначное) соответствие, позволяющее считать числа hx, hy, h новыми координатами этой точки.

Замечание

Широко используемые в проективной геометрии однородные координаты позволяют эффективно описывать так называемые несобственные элементы (по существу те, которыми проективная плоскость отличается от привычной нам евклидовой плоскости). Более подробно о новых возможностях, предоставляемых введенными однородными координатами, говорится в четвертом разделе этой главы.

В проективной геометрии для однородных координат, принято следующее обозначение:

х : у : 1 , или, более обще, x1 : х2 : х3

(напомним, что здесь непременно требуется, чтобы числа х1, х2, х3 одновременно, в нуль не обращались).

Применение однородных координат оказывается удобным уже при решении простейших задач.

Рассмотрим, например, вопросы, связанные с изменением масштаба. Если устройство отображения работает только с целыми числами (или если необходимо работать только с целыми числами), то для произвольного значения h (например, h = 1) точку с однородными координатами

(

представить нельзя. Однако при разумном выборе h можно добиться того, чтобы координаты этой точки были целыми числами. В частности, при h = 10 для рассматриваемого примера имеем

(5, 1, 25).

Рассмотрим другой случай. Чтобы результаты преобразования не приводили к арифметическому переполнению, для точки с координатами (80можно взять, например, h=0,001. В результате получим

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

При помощи троек однородных координат и матриц третьего порядка можно описать любое аффинное преобразование плоскости.

В самом деле, считая h = 1, сравним две записи: помеченную символом * и нижеследующую, матричную:

Нетрудно заметить, что после перемножения выражений, стоящих в правой части последнего соотношения, мы получим обе формулы (*) и верное числовое равенство 1=1.

Тем самым сравниваемые записи можно считать равносильными.

Замечание

Иногда в литературе используется другая запись – запись по столбцам:

Такая запись эквивалентна приведенной выше записи по строкам (и получается из нее транспонированием).

Элементы произвольной матрицы аффинного преобразования не несут в себе явно выраженного геометрического смысла. Поэтому чтобы реализовать то или иное отображение, то есть найти элементы соответствующей матрицы по заданному геометрическому описанию, необходимы специальные приемы. Обычно построение этой матрицы в соответствии со сложностью рассматриваемой задачи и с описанными выше частными случаями разбивают на несколько этапов.

На каждом этапе ищется матрица, соответствующая тому или иному из выделенных выше случаев А, Б, В или Г, обладающих хорошо выраженными геометрическими свойствами.

Выпишем соответствующие матрицы третьего порядка.

А. Матрица вращения, (rotation)

Б. Матрица растяжения (сжатия) (dilatation) •

В. Матрица отражения (reflection)

Г. Матрица переноса (translation)

Рассмотрим примеры аффинных преобразований плоскости.

Пример 1.

Построить матрицу поворота вокруг точки А (а, b) на угол j (рис. 9).

Рис. 9.

1-й шаг. Перенос на вектор – А (-а, - b) для совмещения центра поворота с началом координат;

матрица соответствующего преобразования.

2-й шаг. Поворот на угол j

матрица соответствующего преобразования.

3-й шаг. Перенос на вектор А(а,b) для возвращения центра поворота в прежнее положение;

матрица соответствующего преобразования.

Перемножим матрицы в том же порядке, как они выписаны:

 
 

В результате получим, что искомое преобразование (в матричной записи) будет выглядеть следующим образом:

Элементы полученной матрицы (особенно в последней строке) не так легко запомнить. В то же время каждая из трех перемножаемых матриц по геометрическому описанию соответствующего отображения легко строится.

Пример 3

Построить матрицу растяжения с коэффициентами растяжения a вдоль оси абсцисс и d вдоль оси ординат и с центром в точке А(а, b).

1-й шаг. Перенос на вектор - А(-а, - b) для совмещения центра растяжения с началом координат;

матрица соответствующего преобразования.

2-й шаг. Растяжение вдоль координатных осей с коэффициентами a и b соответственно; матрица преобразования имеет вид

3-й шаг. Перенос на вектор А(а, b) для возвращения центра растяжения в прежнее положение; матрица соответствующего преобразования –

Перемножив. матрицы в том же порядке

получим окончательно

Замечание

Рассуждая подобным образом, то есть разбивая предложенное преобразование на этапы, поддерживаемые матрицами [R],[D],[M],[T], можно построить матрицу любого аффинного преобразования по его геометрическому описанию.

Пусть М - произвольная точка плоскости с координатами х и у, вычисленными относительно заданной прямолинейной координатной системы. Однородными координатами этой точки называется любая тройка одновременно неравных нулю чисел х1, х2, х3, связанных с заданными числами х и у следующими соотношениями:

При решении задач компьютерной графики однородные координаты обычно вводятся так: произвольной точке М (х, у) плоскости ставится в соответствие точка Мэ (х, у, 1) в пространстве (рис. 8).

Рис. 8

Заметим, что произвольная точка на прямой, соединяющей начало координат, точку 0(0, 0, 0), с точкой Мэ (х, у, 1), может быть задана тройкой чисел вида (hx, hy, h).

Будем считать, что h ¹ 0.

Вектор с координатами hx, hy, является направляющим вектором прямой, соединяющей точки 0 (0, 0, 0) и Мэ (х, у, 1). Эта прямая пересекает плоскость z = 1 в точке (х, у, 1), которая однозначно определяет точку (х, у) координатной плоскости ху.

Тем самым между произвольной точкой с координатами (х, у) и множеством троек чисел вида

(hx, hy, h), h ¹ 0,

устанавливается (взаимно однозначное) соответствие, позволяющее считать числа hx, hy, h новыми координатами этой точки.

Замечание

Широко используемые в проективной геометрии однородные координаты позволяют эффективно описывать так называемые несобственные элементы (по существу те, которыми проективная плоскость отличается от привычной нам евклидовой плоскости). Более подробно о новых возможностях, предоставляемых введенными однородными координатами, говорится в четвертом разделе этой главы.

В проективной геометрии для однородных координат, принято следующее обозначение:

х : у : 1 , или, более обще, x1 : х2 : х3

(напомним, что здесь непременно требуется, чтобы числа х1, х2, х3 одновременно, в нуль не обращались).

Применение однородных координат оказывается удобным уже при решении простейших задач.

Рассмотрим, например, вопросы, связанные с изменением масштаба. Если устройство отображения работает только с целыми числами (или если необходимо работать только с целыми числами), то для произвольного значения h (например, h = 1) точку с однородными координатами

(

представить нельзя. Однако при разумном выборе h можно добиться того, чтобы координаты этой точки были целыми числами. В частности, при h = 10 для рассматриваемого примера имеем

(5, 1, 25).

Рассмотрим другой случай. Чтобы результаты преобразования не приводили к арифметическому переполнению, для точки с координатами (80можно взять, например, h=0,001. В результате получим

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

При помощи троек однородных координат и матриц третьего порядка можно описать любое аффинное преобразование плоскости.

В самом деле, считая h = 1, сравним две записи: помеченную символом * и нижеследующую, матричную:

Нетрудно заметить, что после перемножения выражений, стоящих в правой части последнего соотношения, мы получим обе формулы (*) и верное числовое равенство 1=1.

Тем самым сравниваемые записи можно считать равносильными.

Замечание

Иногда в литературе используется другая запись – запись по столбцам:

Такая запись эквивалентна приведенной выше записи по строкам (и получается из нее транспонированием).

Элементы произвольной матрицы аффинного преобразования не несут в себе явно выраженного геометрического смысла. Поэтому чтобы реализовать то или иное отображение, то есть найти элементы соответствующей матрицы по заданному геометрическому описанию, необходимы специальные приемы. Обычно построение этой матрицы в соответствии со сложностью рассматриваемой задачи и с описанными выше частными случаями разбивают на несколько этапов.

На каждом этапе ищется матрица, соответствующая тому или иному из выделенных выше случаев А, Б, В или Г, обладающих хорошо выраженными геометрическими свойствами.

Выпишем соответствующие матрицы третьего порядка.

А. Матрица вращения, (rotation)

Б. Матрица растяжения (сжатия) (dilatation) •

В. Матрица отражения (reflection)

Г. Матрица переноса (translation)

Рассмотрим примеры аффинных преобразований плоскости.

Пример 1.

Построить матрицу поворота вокруг точки А (а, b) на угол j (рис. 9).

Рис. 9.

1-й шаг. Перенос на вектор – А (-а, - b) для совмещения центра поворота с началом координат;

матрица соответствующего преобразования.

2-й шаг. Поворот на угол j

матрица соответствующего преобразования.

3-й шаг. Перенос на вектор А(а,b) для возвращения центра поворота в прежнее положение;

матрица соответствующего преобразования.

Перемножим матрицы в том же порядке, как они выписаны:

 
 

В результате получим, что искомое преобразование (в матричной записи) будет выглядеть следующим образом:

Элементы полученной матрицы (особенно в последней строке) не так легко запомнить. В то же время каждая из трех перемножаемых матриц по геометрическому описанию соответствующего отображения легко строится.

Пример 3

Построить матрицу растяжения с коэффициентами растяжения a вдоль оси абсцисс и d вдоль оси ординат и с центром в точке А(а, b).

1-й шаг. Перенос на вектор - А(-а, - b) для совмещения центра растяжения с началом координат;

матрица соответствующего преобразования.

2-й шаг. Растяжение вдоль координатных осей с коэффициентами a и b соответственно; матрица преобразования имеет вид

3-й шаг. Перенос на вектор А(а, b) для возвращения центра растяжения в прежнее положение; матрица соответствующего преобразования –

Перемножив. матрицы в том же порядке

получим окончательно

Замечание

Рассуждая подобным образом, то есть разбивая предложенное преобразование на этапы, поддерживаемые матрицами [R],[D],[M],[T], можно построить матрицу любого аффинного преобразования по его геометрическому описанию.

Сдвиг реализуется сложением, а масштабирование и поворот - умножением.

Преобразование масштабирования (дилатация) относительно начала координат имеет вид:

или в матричной форме:

где Dx, Dy – коэффициенты масштабирования по осям, а

- матрица масштабирования.

При D > 1-происходит расширение, при 0<=D<1- сжатие

Преобразование поворота относительно начала координат имеет вид:

или в матричной форме:

где φ – угол поворота, а

- матрица поворота.

Замечание: Столбцы и строки матрицы поворота представляют собой взаимно ортогональные единичные векторы. В самом деле квадраты длин векторов-строк равны единице:

cosφ·cosφ+sinφ·sinφ = 1 и (-sinφ) ·(-sinφ)+cosφ·cosφ = 1,

а скалярное произведение векторов-строк есть

cosφ·(-sinφ) + sinφ·cosφ= 0.

Так как скалярное произведение векторов A ·B = |A| ·|B| ·cosψ, где |A| - длина вектора A, |B| - длина вектора B, а ψ – наименьший положительный угол между ними, то из равенства 0 скалярного произведения двух векторов-строк длины 1 следует, что угол между ними равен 90°.

Преобразование сдвига

Tx, Ty  -  величина сдвига по осям, а матрица Т имеет вид:

Преобразование зеркальное отображение:

Замечание: следует помнить, что результат преобразования зависит от порядка выполнения операций. Свойством мультипликативности обладают только матрицы [D] и [M].

Однородные координаты - мощный математический инструмент, находящий свое применение в различных разделах компьютерной графики - геометрическом моделировании, визуализации, машинном зрении и т. д. Однородные координаты явно или неявно используются в любом графическом пакете на этапах преобразования и затенения геометрии, например, в OpenGL или DirectX

Однородные координаты - это математический механизм, связанный с определением положения точек в пространстве. Привычный аппарат декартовых координат, не подходит для решения некоторых важных задач в силу следующих соображений:

    В декартовых координатах невозможно описать бесконечно удаленную точку. А многие математические и геометрические концепции значительно упрощаются, если в них используется понятие бесконечности. Например, "бесконечно удаленный источник света". С точки зрения алгебраических операций, декартовы координаты не позволяют провести различия между точками и векторами в пространстве. Действительно, (1,2,5) - это направление или точка? Невозможно использовать унифицированный механизм работы с матрицами для выражения преобразований точек. С помощью матриц 3x3 можно описать вращение и масштабирование, однако описать смещение (xў=x+a) нельзя. Аналогично, декартовы координаты не позволяют использовать матричную запись для задания перспективного преобразования (проекции) точек.

Для решения этих проблем используются однородные координаты. Существуют различные способы определения однородных координат. Будем исходить из задачи унифицированного представления координат точек в пространстве, включающего бесконечно удаленные точки.

Пусть заданы действительные числа a и w. Рассмотрим их отношение a/w. Зафиксируем значение a, и будем варьировать значение w. При уменьшении w, значение a/w будет увеличиваться. Заметим, что если w стремится к нулю, то a/w стремится к бесконечности. Таким образом, чтобы включить в рассмотрение понятие бесконечности, для представления значения v используется пара чисел (a,w), таких, что v=a/w. Если w не равно 0, значение v в точности равно a/w. В противном случае v = a/0, т. е. равно бесконечности.

Таким образом, координаты трехмерной точки v=(x, y) можно представить через координаты (wx, wy, w). При w=1 эти координаты описывают точку с конечными координатами (x, y), а при w=0 - точку, бесконечно удаленную в направлении (x, y). Как было сказано выше, обычным представлением через декартовы коодинаты (x, y) это сделать невозможно.

Рассмотрим двумерную плоскость, некоторую точку (x, y) на ней и заданную функцию f(x, y). Если заменить x и y на x/w и y/w, то выражение f(x, y)=0 заменится на f(x/w, y/w)=0. Если f(x, y) – многочлен, то его умножение на wn (n – степень многочлена) уберет все знаменатели.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4