Крапка в 3d просторі»

з дисципліни «Комп'ютерна графіка»

Студент групи МО-305

Професор кафедри ВМіК

Зміст

1. Змістовна та формальна постановка задачі 3

1.1.Змістовна постановка задачі. 3

1.2.Формальна постановка задачі. 3

2.Короткі теоретичні відомості 4

4.3Отрисовка (виведення креслень на екран). 12

5.1Удосконалений алгоритм 15

5.1.1 Введення даних. 15

а) Обчислення координат для просторового креслення. 15

б) Обчислення координат для комплексного креслення. 16

5.1.3Отрисовка (виведення креслень на екран). 16

а) Відображення просторового креслення. 16

б) Відображення комплексного креслення. 16

5.2 Деталізований алгоритм 17

5.2.1 Введення даних. 17

а) Обчислення координат для просторового креслення. 17

б) Обчислення координат для комплексного креслення. 18

5.2.3Отрисовка (виведення креслень на екран). 18

а) Відображення просторового креслення. 18

б) Відображення комплексного креслення. 19

6. Керівництво програміста 21

При запуску програми створюються екземпляри класу Point3D, Point, масиви точок points3D, points3D_disp, pointsComplex_disp у конструкторі Form1. У методі input() заповнюється масив points3D. Після ініціалізації викликаються методи перерахунку координат креслень. Для просторового креслення переведення в систему екрана відбувається в методі Area(): значення записуються в масив points3D_disp, який використовує функцію перерахунку Projection3D(points3D[i]), де як параметри в функцію передаються елементи масиву points3D. Для комплексного креслення переклад у систему екрана відбувається у методі Complex(): значення записуються масив pointsComplex_disp,який використовує функцію перерахунку ProjectionComplex(x,y), де як параметри в функцію передаються елементи масиву points3D. Далі відбувається промальовування для показу початкового креслення pb3D і pbComplex за допомогою функцій Draw3D(), DrawComplex() відповідно. 24

7. Посібник користувача 25

Змістовна та формальна постановка задачі

Змістовна постановка задачі.

просторове креслення із зображенням точки T, її проекцій на координатні площини T1, T2, T3 та її проекцій на координатні осі TX, TY, TZ, а також ліній зв'язку;

комплексне креслення із зображенням проекцій точки T – T1, T2, T3, а також ліній зв'язку;

повзункові перемикачі для інтерактивної зміни координат точки T та кута між осями Ox та Oy на просторовому кресленні.

при зміні координат точки T повинні змінюватись її зображення, зображення її проекцій та ліній зв'язку як на просторовому, так і на комплексному кресленні;

при зміні кута між осями Ox та Oy просторове креслення має перемальовуватися.

Формальна постановка задачі.

точки

Короткі теоретичні відомості

В основу побудови будь-якого зображення покладено операцію проектування.

Сутність методу ортогонального проектування полягає в тому, що предмет проектується на дві взаємно перпендикулярні площині променями, ортогональними (перпендикулярними) до цих осей.

Одну з площин проекцій П1 мають горизонтально, а другу П2 - вертикально. Площина П1 називають горизонтальною площиною проекцій, П2 - фронтальною. Площини П1 та П2 нескінченні та непрозорі.

При побудові проекцій слід пам'ятати, що проекцією точки на площину називається основа перпендикуляра, опущеного з даноїточки на цю площину. Проекцію точки T на горизонтальну площину називають горизонтальною проекцією та позначають T1, проекцію точки T на фронтальну площину - фронтальною проекцією та позначають T2. Кожна є підставою перпендикуляра, опущеного з цієї точки T відповідно на площині П1 і П2. Дві проекції точки визначають її положення у просторі. Оскільки кожна фігура чи тіло є сукупність точок, можна стверджувати, що дві ортогональні проекції цілком визначають його форму.

Однак у практиці зображення будівельних конструкцій, машин та різних інженерних споруд виникає потреба у створенні додаткових проекцій. Щоб зробити проекційне креслення більш ясним і легкочитаним, використовують третю площину, перпендикулярну П1 і П2. Ця площина позначається буквою П3 і називається профільною. Проекцію точки T на площину П3 називають профільною і позначають T3.

Площини проекцій, попарно перетинаючи, визначають три осі: Ox, Oy та Oz, які можна розглядати як систему прямокутних декартових координат у просторі з початком у точці O. Три площини проекцій ділять простір на вісім тригранних кутів – це так звані октанти. Нумерація октантів дана на Мал. 1.

координат
Мал. 1 - Нумерація октантів.

Розглядаючи ортогональні проекції, припускають, що спостерігач у першому октанті. Проекційне креслення, на якому площини проекцій з усім тим, що на них зображено, поєднані певним чином одна з одною, називається епюром Монжа (просто епюром або комплексним кресленням). Для отримання епюру площини П1 і П3 обертають, як показано на Рис. 1 до поєднання з площиною П2. В результаті обертання передня напівплощина П1 виявляється поєднаною знижньою напівплощиною П2, а задня напівплощина П1 – з верхньою напівплощиною П2. Остаточний вигляд всіх суміщених площин проекцій наведено на Рис. 2.

креслення
Мал. 2 - Епюр Монжа.

Координатами називають числа, які ставлять у відповідність точці визначення її положення у просторі чи поверхні.

У тривимірному просторі положення точки встановлюють за допомогою прямокутних координат декартових x, y, z. Абсциса x визначає відстань від цієї точки до площини П3, ордината y – до площини П2 та аплікату z – до площини П1.

Побудову зображення самої точки та її проекцій на просторовій моделі рекомендується здійснювати за допомогою координатного прямокутного паралелепіпеда. Насамперед на осях координат від точки O відкладають відрізки, відповідно рівні одиницям довжини. На цих відрізках (OTX, OTY, OTZ), як на ребрах, будують прямокутний паралелепіпед. Вершина його, протилежна початку координат, і визначатиме задану точку T.

Побудова паралелепіпеда дозволяє визначити не тільки точку T, а й усі три її ортогональні проекції.

Променями, проецирующими точку на площині П1, П2 і П3, є три ребра паралелепіпеда, які перетинаються у точці T.

креслення
Мал. 3 - Просторовий макет точкиT.

На епюрі, де всі площини проекцій поєднані, проекції T1 і T2 виявляться на одному перпендикулярі до осі OX, а проекції T2 і T3 - на одному перпендикулярі осі OZ. Що стосується проекцій T1 і T3, то вони пов'язані прямими T1TY і T3TX, перпендикулярними осі OY. Але оскільки ця вісь на епюрі займає два положення, то відрізок T1TY не може бути продовженням відрізка T3TY.

Побудову проекцій точки T на епюрі за заданими координатами виконують у такійпослідовності: насамперед на осі абсцис від початку координат відкладають відрізок OTX = x, а потім через точку TX проводять перпендикуляр до осі Ox, на якому з урахуванням знаків відкладають відрізки TXT1 = y (отримуємо T1) і TXT2 = z (отримуємо T2). Залишається збудувати профільну проекцію точки T3. Так як профільна та фронтальна проекції точки повинні бути розташовані на одному перпендикулярі до осі Oz, через T2 проводять пряму T2TZ перпендикулярно Oz. Зрештою, виникає останнє питання: на якій відстані від осі Oz має бути T3? Розглядаючи координатний паралелепіпед, ребра якого TZT3 = OTY = TXT1 = y, укладаємо, що відстань TZT3, що шукається, дорівнює y. Відрізок TZT3 відкладають праворуч від осі Oz якщо y > 0, і вліво, якщо y

Щоб зобразити просторове креслення, необхідно провести перетворення тривимірних координат на двовимірну систему координат екрану. Крапка початку координат екрана – лівий верхній кут. Ширина і висота екрана записані константи w, h. (рис. 5)

проекцій
Мал. 5. - Екранна система координат.

Координати початку відліку просторового креслення O у найпростішому випадку можна знайти таким чином:

Таким чином, потрібно вивести формули для перекладу заданих тривимірних координат довільної точки T x, y, z в двомірні екранні координати xе, yе, враховуючи заданий кут angle і координати початку відліку – x0, y0.

Розглянемо наступний рисунок.

просторі
Мал. 6. – Знаходження екранних координат довільної точкиA.

З цього малюнка видно, що і де ∆x і ∆y знаходяться з відповідних прямокутних трикутників за формулами:

Отже, ми отримали формули для обчислення екранних координат довільної точки за заданими тривимірними координатами, кутом angle і координатами початкувідліку. За цими формулами можна обчислити координати точок, необхідних побудови просторового креслення - T, T1, T2, T3, TX, TY, TZ.

Обчислити екранні координати точки початку відліку просторового креслення за формулами (1);

Обчислити координати самої точки, її проекцій на координатні осі та площині П1, П2, П3 за формулами (2).

Обчислення координат для комплексного креслення.

координати точки T у тривимірній декартовій системі координат – x, y, z

ширина та висота креслення – w та h.

екранні координати початку відліку комплексного креслення;

координати точок комплексного креслення: T1, T2, T3 (проекції точки T на П1, П2, П3), Tx, Ty1, Ty2, Tz (проекції точки T на осі, для осі Y – дві такі точки, тому що на комплексному кресленні вона представлена ​​двічі).

Координати початку відліку x0, y0 перебувають за формулою (1).

Розглянемо наступний малюнок, відстані x, y, z на якому позначені відповідно до побудови комплексного креслення.

просторі
Мал. 7. – Знаходження екранних координат точок для побудови комплексного креслення.

З малюнка видно, що:

Зауважимо, що координати всіх точок, що цікавлять нас, можна знайти зі значень x0, y0, tx, tz, ty1, ty2:

обчислити координати початку відліку за формулами (1).

обчислити тимчасові змінні за формулами (3).

обчислити координати проекцій точки за формулами (4).