Скачиваний:
217
Добавлен:
01.05.2014
Размер:
420.35 Кб
Скачать

Для соблюдения условия (3.3) необходимо, чтобы

Полагая, что cosи (xB-xA) не равны 0, получаем следующее выражение для определения величины угла

После поворота прямой относительно оси абсцисс на угол координаты точки B’определятся следующими выражениями

Для соблюдения условия (3.4) необходимо, чтобы

Полагая, что и не равны 0, получаем следующее выражение для величины угла

Теперь возможно окончательное определение составной матрицы преобразования поворота M(R) относительно прямой, заданной двумя произвольными точками.

где T = T(-xA, -yA, -zA) - вектор переноса;

- углы поворота, определяемые из выражений (3.6), (3.5);

- матрицы, состав и структура которых приведены в табл.3.1.

Пример 3. Определить элементы матрицы преобразования зеркальной симметрии относительно плоскости, заданной тремя точками, произвольно расположенными в пространстве и не лежащими на одной прямой.

Уравнение плоскости в этом слу­чае имеет вид

Для реализации последующего решения определим нормаль N (рис.3.1,а) к заданной плоскости, исходя из (2.4).

Компоненты нормали Nсоставят

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

  1. преобразование переноса на вектор T(-xK, -yK, -zK) до совмещения точки K с началом координат (рис.3.1,б). Направляющие косинусы нормали N при этом составят

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

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

  1. преобразование зеркальной симметрии относительно плоскости YOZ;

  2. преобразование поворота относительно оси аппликат на угол ;

  3. преобразование поворота относительно оси ординат на угол .

  4. преобразование переноса на вектор –T для возврата в исходное положение.

Теперь возможно окончательное определение матрицы преобразования зеркальной симметрии M(S) относительно плоскости, заданной тремя произвольными точками, не лежащими на одной прямой.

После несложных преобразований искомая матрица может быть представлена произведением трех матриц

Признаки симметрии средней из полученных матриц свидетельствуют о правильности преобразований. Проведение дальнейших преобразований (3.13) с использованием (3.10), (3.11) и (3.12) возможно, но в данном случае производиться не будет.

Пример 4. Определить параметры двух плоскостей, последовательное преобразование зеркальной симметрии относительно которых может заменить преобразование поворота относительно оси ординат.

Так как рассматриваемое преобразование поворота не приводит к изменению ординат, то искомые плоскости должны, как минимум, проходить через начало координат. Следовательно, в выражении (3.13) можно исключить матрицы преобразований переноса. Дальнейший анализ показывает, что искомые плоскости должны проходить через ось ординат. То есть нормали к этим плоскостям будут перпендикулярны оси ординат и выражения (3.10), (3.11) и (3.12) примут вид

С учетом вышесказанного и (3.14) матрица зеркальной симметрии относительно плоскости, проходящей через ось ординат будет иметь вид

Гораздо удобнее выражение (3.15) представить в зависимости от угла

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

где - соответственно углы поворота и отклонения нормалей первой и второй плоскостей симметрии относительно плоскостиXOY.

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

решение которого дает следующий результат:

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

Пример 5. Определить элементы матрицы преобразования произвольной треугольной пирамиды ABCD, заданной координатами своих вершин, в равный ей по объему тетраэдр.

Объем пирамиды ABCD составит

где -площадь грани ABC пирамиды; H – расстояние от вершины D до грани ABC.

где - направляющий косинус нормали плоскостиABC.

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

Теперь

Объем тетраэдра составляет

где a – сторона тетраэдра.

Так как по условию положение тетраэдра не определено, то для упрощения решения используем следующие допущения:

  • тетраэдр KLMN как преобразованный объект гранью KLM лежит на плоскости XOZ, так что вершина K совпадает с началом координат, а вершина L лежит на оси абсцисс;

  • вершины A, B, C и D исходной пирамиды будут преобразованы в вершины K, L, M и N тетраэдра соответственно.

Соседние файлы в папке Конспект по компьютерной графике