Графический способ преобразования координат

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

Содержание:

Преобразования декартовой системы координат

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

1. Параллельный перенос системы координат. Пусть на плоскости две декартовы системы координат, причем соответствующие оси параллельны и сонаправлены (Рис.46):

Рис. 46. Параллельный перенос одной системы координат относительно другой системы.

Систему координат

Пример:

Дана точка М(3;2) и начало новой системы координат Вычислить положение точки М в новой системе отсчета.

Решение:

Используя формулы, определяющие параллельный перенос одной системы отсчета относительно другой, получим Следовательно, точка М в новой системе отсчета имеет координаты М(4; -1).

2. Поворот системы координат. Пусть даны две системы координат (старая и новая), имеющие общее начало отсчета и повернутые относительно друг друга на угол (Рис. 47):

Рис. 47. Поворот одной системы координат относительно другой системы с общим началом координат двух систем.

Получим формулы, связывающие старые и новые координаты произвольной точки М(х; у). Из рисунка видно, что в новой системе координат координаты точки равны а координаты этой точки в старой системе координат равны Таким образом формулы перехода от новых координат произвольной точки М к старым имеет вид В матричном виде эти равенства можно записать в виде где матрица перехода

Найдем обратное преобразование системы координат, найдем матрицу обратную к матрице А:

Найдем алгебраические дополнения всех элементов

Запишем обратную матрицу

Определение: Унитарными преобразованиями называются такие преобразования, для которых определитель матрицы преобразования равен 1.

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

Таким образом, имеем Следовательно, формулы перехода от старой системы отсчета к новой системе отсчета имеют вид:

Пример:

Найти координаты точки М(1; 2) в новой системе координат, повернутой относительно старой системы отсчета на угол

Решение:

Воспользуемся полученными формулами т.е. в новой системе координат точка имеет координаты М(2; -1).

Рассмотрим применение преобразования координат:

а) Преобразовать уравнение параболы к каноническому виду. Проведем параллельный перенос системы координат получим Выберем начало отсчета новой системы координат так, чтобы выполнялись равенства тогда уравнение принимает вид Выполним поворот системы координат на угол тогда Подставим найденные соотношения в уравнение параболы где параметр параболы

Пример:

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

Решение:

Найдем начало отсчета новой системы координат после параллельного переноса т.е. точка — начало координат новой системы отсчета. В этой системе уравнение параболы имеет вид Проведем поворот системы отсчета на угол тогда

следовательно, параметр параболы р = 1/4.

б) Выяснить, какую кривую описывает функция

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

и новые координаты получим уравнение которое описывает равнобочную гиперболу.

Полярные координаты. Замечательные кривые

Пусть полярная ось совпадает с осью абсцисс Ох, а начало полярной оси (полюс полярной системы координат) совпадает с началом координат декартовой системы отсчета (Рис. 48). Любая точка М(х;у) в полярной системе координат характеризуется длиной радиус-вектора, соединяющего эту точку с началом отсчета и углом между радиус-вектором и полярной осью (угол отсчитывается против часовой стрелки).

Рис. 48. Полярная система координат.

Главными значениями угла являются значения, лежащие в интервале Из рисунка видно, что декартовы и полярные координаты связаны формулами

Рассмотрим замечательные кривые в полярной системе координат:

1. Спираль Архимеда где число (Рис. 49). Для построения кривой в полярной системе координат, разобьем декартову плоскость лучами с шагом по углу и на каждом луче отложим ему соответствующее значение р.

Рис. 49. Спираль (улитка) Архимеда.

2. Уравнение окружности: уравнение описывает окружность с центром в точке A(R; 0) и радиусом R (Рис. 50). В полярной системе координат уравнение принимает вид

Рис. 50. Окружность с центром в точке A(R; 0) и радиусом R.

3. Уравнение описывает окружность с центром в т. А(0; R) и радиусом R (Рис. 51). В полярной системе координат уравнение принимает вид

Рис. 51. Окружность с центром в точке А(0; R) и радиусом R.

4. Кардиоиды:

Рис. 52. Кардиоида

Рис. 53. Кардиоида

Аналогично выглядят кардиоиды но они вытянуты вдоль оси абсцисс Ох.

5. Петля: Величина равна нулю при

Для первого корня у = 0, а для второго и третьего — у = 9 . Следовательно, петля имеет вид

Рекомендую подробно изучить предметы:
  1. Математика
  2. Алгебра
  3. Линейная алгебра
  4. Векторная алгебра
  5. Высшая математика
  6. Дискретная математика
  7. Математический анализ
  8. Математическая логика
Ещё лекции с примерами решения и объяснением:
  • Бесконечно малые и бесконечно большие функции
  • Замечательные пределы
  • Непрерывность функций и точки разрыва
  • Точки разрыва и их классификация
  • Экстремум функции
  • Методы решения систем линейных алгебраических уравнений (СЛАУ)
  • Скалярное произведение и его свойства
  • Векторное и смешанное произведения векторов

При копировании любых материалов с сайта evkova.org обязательна активная ссылка на сайт www.evkova.org

Сайт создан коллективом преподавателей на некоммерческой основе для дополнительного образования молодежи

Сайт пишется, поддерживается и управляется коллективом преподавателей

Whatsapp и логотип whatsapp являются товарными знаками корпорации WhatsApp LLC.

Cайт носит информационный характер и ни при каких условиях не является публичной офертой, которая определяется положениями статьи 437 Гражданского кодекса РФ. Анна Евкова не оказывает никаких услуг.

Читайте также:  Фитомуцил бад способ применения

Источник

Конспект лекций по компьютерной графике. Конспект лекций по дисциплине Компьютерная графика

Название Конспект лекций по дисциплине Компьютерная графика
Анкор Конспект лекций по компьютерной графике.doc
Дата 22.04.2017
Размер 16.3 Mb.
Формат файла
Имя файла Конспект лекций по компьютерной графике.doc
Тип Конспект лекций
#5372
страница 4 из 46
Подборка по базе: Проект по дисциплине консалтинг в образовательной организации Ле, План конспект подготовки суточного наряда (2).doc, Задание к практическому занятию №1 по дисциплине «Ценообразовани, Конусно-лучевая компьютерная томография в эндодонтии.pptx, Сибирская язвая конспект.docx, вопросы для экзамена по Дисциплине Бухгалтерский учет.pdf, Технические регламенты конспект.docx, Домашнее задание по дисциплине.docx, узагальнюючий конспект.doc, энп 2 конспекты.docx

Глава 2. Координаты и преобразования

2.1 Координатный метод

Координатный метод был введен в XVII веке французскими математиками Р. Декартом и П. Ферма. На этом методе основывается аналитическая геометрия, которую можно считать фундаментом КГ. В современной КГ координатный метод широко используется.

2.1.1. Преобразование координат

Сначала рассмотрим общие вопросы преобразования координат. Пусть задана п-мерная система координат в базисе (k1, k2. kn), которая описывает положение точки в пространстве с помощью числовых значений кi. В КГ наиболее часто используются двумерная (n = 2) и трехмерная (n = 3) системы координат.

Если задать другую, N-мерную, систему координат в базисе (m1, m2. т) и поставить задачу определения координат в новой системе, зная координаты в старой, то решение (если оно существует) можно записать в таком виде:

где Fi— функции обратного преобразования.

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

Линейные преобразования наглядно записываются в матричной форме:

Здесь матрица коэффициентов (аij) умножается на матрицу-столбец (ki), и в результате будем иметь матрицу-столбец (mi ).

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

матричным произведением является матрица С = АВ размерами (m х р):

С = для которой элементы cij рассчитываются по формуле

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

Точки на xy-плоскости можно перенести в новые позиции путем добавления к координатам этих точек констант переноса. Для каждой точки Р(х, у), которая перемещается в новую точку Р'(х, у), сдвигаясь на Dxединиц параллельно оси xи наDyединиц параллельно оси у, можно написать уравнения:

На рис. 2.1 показана точка с координатами (1, 2), которая смещается на расстояние (5, 7), преобразуясь в точку (6, 9). Определяя векторы-строки

можно переписать это уравнение в векторной форме или более кратко

Объект можно перенести, применяя вышевыведенное уравнения к каждой его точке. Однако, поскольку каждый отрезок, описывающий объект, состоит из бесконечного числа точек, такой процесс длился бы бесконечно долго. К счастью, все точки, принадлежащие отрезку, можно перенести путем перемещения одних лишь крайних точек отрезка и последующего вычерчивания нового отрезка между получившимися в результате точками. Это справедливо также для масштабирования (растяжения) и поворота. На рис. 2.1 показан результат действия на контур домика операции переноса на расстояние (3, -4).

Рис. 2.1 Простейший перенос

Точки можно промасштабировать (растянуть) в Sxраз вдоль оси x: и в Sy раз вдоль оси у, получив в результате новые точки, с помощью умножения


Определяя S как , можно записать в матричной форме


или

На рис. 2.2 отдельная точка (6, 6) масштабируется с коэффициентами 1/2 по оси Xи 1/3 по оси у. На этом же рисунке показан контур домика, промасштабированный с коэффициентами 1/2 по оси xи 1/4 по оси у. Отметим, что масштабирование производится относительно начала координат; в результате преобразования домик стал меньше и ближе к началу координат. Если бы масштабные множители были больше 1, то домик увеличился бы и отдалился от начала координат. Способы проведения масштабирования относительно других точек, отличных от начала координат, рассматриваются в одном из последующих разделов главы. Пропорции домика также изменились· было применено неоднородное масштабирование, при котором SхSу. Однородное масштабирование, для которого Sx=Sy, не влияет на пропорции.

Точки могут быть повернуты на угол θ относительно начала координат, как показано на рис. 2.2 для точки Ρ (6, 1) и угла θ = 30°. Математически поворот определяется следующим образом:

В матричной форме мы имеем

или

где через Rобозначена матрица поворота. На рис. 2.2 показан квадрат, повернутый на 45°. Как и в случае масштабирования, поворот производится относительно начала координат.

Рис. 2.2 Простейшие поворот и масштабирование

Однородные координаты и матричное представление двумерных преобразований

Преобразования переноса, масштабирования и поворота в матричной форме записываются в виде

К сожалению, перенос реализуется отдельно (с помощью сложения) от масштабирования и поворота (с помощью умножения). Хотелось бы представить их таким способом, чтобы все эти три элементарных преобразования можно было легко объединять вместе. Ниже в этом разделе показано, как это можно сделать.

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

В однородных координатах точка Р (х, у) записывается как P(W x, W y, W) для любого масштабного множителя W≠0. При этом если для точки задано ее представление в однородных координатах Р(Х, Y, W), то можно найти ее двумерные декартовы координаты как x=X/Wи y=Y/W. В этой главе Wвсегда будет равно 1, поэтому операция деления не требуется. Однородные координаты можно представить как вложение промасштабированной с коэффициентом Wдвумерной плоскости в плоскость z=W(здесь z= 1) в трехмерном пространстве.

Точки теперь описываются трехэлементными вектор-строками, поэтому матрицы преобразований, на которые умножается вектор точки, чтобы получить другой вектор точки, должны иметь размер 3×3. Уравнения переноса записываются в виде матрицы преобразования однородных координат следующим образом:

где

Что будет, если точку Ρ перенести в точку Р’ на расстояние (Dx1, Dy1), а затем в Р» на расстояние (Dx2Dy2). Интуитивно ожидаемый результат в этом случае представляет собой суммарный перенос на расстояние (Dx1+Dx2, Dy1+Dy2). Чтобы доказать это, запишем данные в виде

Теперь получим:

Матричное произведение Τ(Dx1, Dy1) T(Dx2, Dy2) есть

Уравнения масштабирования в матричной форме записываются в виде

Определяя

имеем

Так же как последовательные переносы являются аддитивными, можно ожидать, что последовательные масштабирования будут мультипликативными. Если заданы

Таким образом, масштабирования в самом деле мультипликативны. И, наконец, уравнения поворота можно представить в виде:

Имеем

Композиция двумерных преобразований

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

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

1. Перенос, при котором точка Piперемещается в начало координат.

3. Перенос, при котором точка из начала координат возвращается в первоначальное положение Ρi.

Эта последовательность показана на рис. 2.3, на котором вокруг точки Ρi(x, у) поворачивается контур домика. Первый перенос производится на (-x1, y1), в то время как последующий — на (x1, y1) — является обратным ему. Результат существенно отличается от того, который получился бы, если бы применялся один только поворот.

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

Используя аналогичный подход, можно промасштабировать объект относительно произвольной точки Рi: перенести Ρi в начало координат, промасштабировать, перенести назад в точку Ρi. Результирующее преобразование в этом случае будет иметь вид

Предположим, что нам необходимо промасштабировать, повернуть и расположить в нужном месте домик, показанный на рис.2.3, где центром поворота и масштабирования является точка Ρ1. Последовательность преобразований заключается в переносе точки Ρ1 в начало координат, проведении масштабирования и поворота, а затем переносе из начала координат в новую позицию Р2, в которой домик должен оказаться (эта последовательность показана на рис. 2.3). В структуре данных, в которой содержится это преобразование, могут находиться масштабный множитель (множители), угол поворота и величины переноса или может быть записана матрица результирующего преобразования:

Если известно, что M1 и M2 представляют собой элементарные перенос, масштабирование или поворот, то при каких условиях Μ1и Μ2коммутативны? В общем случае умножение матриц некоммутативно. Однако легко показать, что в следующих частных случаях коммутативность имеет место (в этих случаях можно не беспокоиться о порядке перемножения матриц – см. Таблицу 2.1).


Рис. 2.3 Композиция преобразований

Таблица 2.1

M1 М2
Перенос Перенос
Масштабирование Масштабирование
Поворот Поворот
Масштабирование (при Sx = Sy) Поворот

Матричное представление трехмерных преобразований

Аналогично тому, как двумерные преобразования описываются матрицами размером 3×3, трехмерные преобразования могут быть представлены в виде матриц размером 4×4. И тогда трехмерная точка (x, у, z) записывается в однородных координатах как (Wx, Wy, Wz, W), где W≠0. Если W1, для получения трехмерных декартовых координат точки (х, у, z) первые три однородные координаты делятся на W. Отсюда, в частности, следует, что две точки Η1 и H2 в пространстве однородных координат описывают одну и ту же точку трехмерного пространства в том и только в том случае, когда H1=cH2для любой константы с, не равной нулю.

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

Рис. 2.4. Правосторонняя система координат
Таблица 2.2. Правосторонняя система координат

Если ось вращения Положительным будет направление поворота
x

z

от у к z

от x к y

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

Трехмерный перенос является простым расширением двумерного:


Масштабирование расширяется аналогичным образом:

В самом деле,

Двумерный поворот является в то же время трехмерным поворотом вокруг оси z. В трехмерном пространстве поворот вокруг оси zописывается выражением

Это легко проверить: в результате поворота на 90° вектора [1 0 0 1], являющегося единичным вектором оси х, должен получиться единичный вектор [0 1 0 1] оси y. Вычисляя произведение

получаем предсказанный результат [0 1 0 1]. Матрица поворота вокруг оси xимеет вид

Матрица поворота вокруг оси у записывается в виде

Столбцы (и строки) верхней левой подматрицы размером 3×3 матриц Rz, Rx и Ry представляют собой взаимно ортогональные единичные векторы, интерпретация которых такая же, что и в двумерном случае.

Все эти матрицы преобразований имеют обратные матрицы. Матрица, обратная Т, получается подстановкой знака минус перед Dx, Dyи Dz; обратная S — заменой Sx, Syи Szна обратные им значения, а для каждой из трех матриц поворота — выбором отрицательного угла поворота.

Композиция трехмерных преобразований

Путем объединения элементарных трехмерных преобразований можно получить другие преобразования. В этом разделе показано, как это сделать. Задача состоит в том, чтобы преобразовать отрезки P1P2 и P1P3 (рис. 2.5) из начальной позиции в конечную. Точка Piпереносится в начало координат,P1P2 располагается вдоль отрицательной полуоси x, а P1P3 помещается в плоскости yzв той ее половине, где ось у положительна. На длины отрезков преобразование не воздействует.

Как и прежде, разобьем сложную задачу на более простые. В данном случае преобразование можно выполнить за четыре шага:

1. Перенос точки Piв начало координат.

Шаг 1. Перенос Ρ1 в начало координат:

Шаг 2. Поворот вокруг оси у. На рис. 2.5 показаны отрезки P1P2 после шага 1 и проекция P1P2 на плоскость xz. Поворот производится на положительный угол θ, для которого

где

Как и ожидалось, x-компонента Р2равна нулю.
Шаг 3. Поворот вокруг оси х. На рис. 2.6 показан отрезок P1P2

Рис. 2.5. Композиция преобразований
после шага 2. Поворот производится на отрицательный угол φ, для которого

где

Записьобозначает длину Результатом поворота на шаге 3 является

т. е. теперь совпадает с отрицательной полуосью z.

Шаг 4. Поворот вокруг оси z. На рис. 2.6 показаныи после шага 3, когда Р2‘» лежит на отрицательной полуоси z, а Р3‘» — в точке

Поворот производится на

положительный угол , для которого Шаг 4 является последним шагом, после которого получается конечный результат, показанный на рис. 2.6. Результирующая матрица

описывает искомое преобразование, где

Рис. 2.6. Окончание композиции преобразований

Преобразование объектов

Преобразование объектов можно описать так. Пусть любая точка, принадлежащая определенному объекту, имеет координаты (k1, k2. , kn ) в n-мерной системе координат. Тогда преобразование объекта можно определить как изменение положения точек объекта. Новое положение точки пространства соответствует новым значениям координат (т1, т2,. тn).

Классифицировать преобразования объектов можно согласно типу функции преобразования и типу системы координат.

Например, преобразование объектов на плоскости можно определить так:

В трехмерном пространстве:

Преобразование как изменение систем координат

Мы рассматриваем преобразование множества точек, принадлежащих объекту, в некоторое другое множество точек, причем оба этих множества описаны в одной и той же системе координат. Таким образом, система координат остается неизменной, а сам объект преобразуется относительно начала координат до получения желаемого размера. Другим эквивалентным способом описания преобразования является смена систем координат. Такой подход оказывается полезным, когда желательно собрать вместе много объектов, каждый из которых описан в своей собственной локальной системе координат, и выразить их координаты в одной глобальной системе координат. Существует и еще один, третий подход, при котром происходит изменение глобальной системы координат по отношению к локальной системе координат объекта (см. рис.2.7).

Рис. 2.7. Преобразования как изменение системы координат

Рис. 2.8. Пример преобразования с изменением системы координат

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

Подход, основанный на изменении систем координат, удобен в тех случаях, когда задается дополнительная информация для подобъектов в их локальных системах координат. Например, если к переднему колесу трехколесного велосипеда (рис. 2.8) приложить крутящий момент, то все его колеса повернутся. Нам необходимо определить, насколько велосипед переместится в пространстве как единое целое. Эта задача более сложная, чем та, которая связана с размещением символов, поскольку здесь требуется несколько последовательных изменений систем координат. В начальный момент системы координат велосипеда и его переднего колеса заданы относительно мировой системы координат. При движении велосипеда вперед переднее колесо поворачивается вокруг оси zсистемы координат колеса, и одновременно системы координат колеса и велосипеда перемещаются относительно мировой системы координат. Системы координат колеса и велосипеда связаны с мировой системой координат с помощью зависящих от времени переносов вдоль осей xи у иповорота вокруг оси у. Координатные системы велосипеда и колеса между собой связаны с помощью зависящего от времени поворота вокруг оси у, вызываемого поворотом руля. (Система координат велосипеда связана с рамой велосипеда, а не с рулем).

Источник

Читайте также:  Способы обработки различных материалов
Оцените статью
Разные способы