Теория и алгоритмы системы
В этой части книги мы разработаем методологию создания графической системы для построения в трехмерном пространстве широко распространенных плоских и пространственных геометрических объектов (тел, фигур и поверхностей): прямые и кривые линии; плоскости и поверхности; объемные тела, например, многогранники и т.д. Эти геометрические тела могут быть частью какой-либо детали (изделия, конструкции) или инструмента, при помощи которого обрабатывается заданная заготовка из какого-нибудь материала.
Главное достоинство нашей методологии заключается в том, что мы спроектируем типичные приложения для построения различных пространственных изображений только на одной открытой (последней версии) платформе Visual Studio 2005 (без использования закрытых побочных библиотек типа DirectX и OpenGL, которые к тому же очень сложны в изучении).
Чтобы на экране монитора отобразить какой-либо объект, у нас должны быть (рис. 31.1):
точка наблюдения E (E – первая буква одного из ключевых, в данной теории, английских слов Eye – глаз (наблюдателя));
объект наблюдения, который отождествлен с множеством точек; одна из этих точек P показана на рис. 31.1 (P – это первая буква английского слова Point – точка);
экран монитора; на этом экране точку объекта P мы видим в точке экрана P’, которая находится на пересечении прямой EP с плоскостью экрана.
Отметим, что мы приводим ключевые английские слова по данной тематике с целью, чтобы далее легче было разобраться со сложными программами на Visual C#, Visual Basic и Visual C++ 2005, где имена переменных, массивов, процедур, функций, методов и других элементов программирования записаны с использованием этих ключевых слов.
В трехмерном пространстве вводим неподвижную правую прямоугольную систему координат x, y, z, а также сферическую систему координат r,
, (рис. 31.2), в которой определяются положения и размеры точки наблюдения, объекта и экрана. Эта прямоугольная система координат в литературе называется по-разному, например, глобальной (global coordinates) или мировой (world coordinates) в отличие от локальной (local coordinates). Такую глобальную систему координат можно задать, например, в центре изображаемого объекта.Для реалистичного изображения пространственного объекта на плоском экране целесообразно выполнить следующие основные этапы работ.