Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Graphica_12_Kulikov_Ovchinnikova.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
6.04 Mб
Скачать

2.10. Вопросы и упражнения

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

  2. Что такое вектор?

  3. Какие векторы считаются равными?

  4. Какие векторы называются линейно независимыми?

  5. Как выразить длину вектора, используя операцию скалярного произведения?

  6. Как определить косинус угла между векторами, используя операцию скалярного произведения?

  7. Докажите, что векторное произведение удовлетворяет соотношению: .

  8. Как из произвольного вектора получить единичный вектор, совпадающий с ним по направлению? (Эта операция называется нормировкой вектора).

  9. Каково максимальное число линейно независимых векторов в пространстве?

  10. Что такое орты?

  11. Как построить параметрическое уравнение прямой, проходящей через две заданные точки плоскости или пространства?

  12. Докажите, что если в формуле (3.7) заменить координаты координатами любой другой точки плоскости, то уравнение будет описывать ту же самую плоскость. Указание: возьмите произвольную точку, удовлетворяющую уравнению (3.7), напишите новое уравнение плоскости и покажите, что любая точка второй плоскости принадлежит первой и наоборот.

  13. В каких случаях луч с плоскостью не пересекаются?

  14. В каких случаях луч пересекает сферу только в одной точке?

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

  16. Докажите, что для любого вектора , числа и матрицы справедливо соотношение .

  17. При каком условии масштабирование сохраняет углы между отрезками?

  18. Какую траекторию описывают точки объекта при повороте?

  19. Вокруг чего осуществляется поворот на плоскости?

  20. Вокруг чего осуществляется поворот в пространстве?

  21. Какие шаги выполняются в алгоритме поворота относительно произвольной оси в пространстве?

  22. Докажите, что если матрица является матрицей поворота, то .

3. Представление геометрической информации

3.1. Геометрические примитивы

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

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

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

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

Любая графическая библиотека определяет свой набор примитивов. Так, например, широко распространенная интерактивная система трехмерной графики OpenGL включает в список своих примитивов точки (вершины), отрезки, ломаные, многоугольники (среди которых особо выделяются треугольники и четырехугольники), полосы (группы треугольников или четырехугольников с общими вершинами) и шрифты. Кроме того, в нее входят и некоторые геометрические тела: сфера, цилиндр, конус и др.

Понятно, что для изображения таких примитивов должны быть разработаны эффективные и надежные алгоритмы, поскольку они являются конструктивными элементами. Исторически сложилось так, что первые дисплеи были векторными, поэтому базовым примитивом был отрезок. Но, как уже было отмечено в первой главе нашего курса, самая первая интерактивная программа Sketchpad А. Сазерленда в качестве одного из примитивов имела прямоугольник, после чего этот объект уже традиционно входил в различные графические библиотеки.

Здесь мы рассмотрим такие примитивы, как вершина, отрезок, воксель и модели, строящиеся на их основе, а также функциональные модели.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]