Короче кто хочет размять свои умы! Задача на умность.
Составить программу, реализующую трехмерное преобразование с фигурой Октаэдр отражение относительной плоскостей xoz , yoz , xoz. Для всех вариантов фигура должна отоброжаться в конторном виде без удаления неведимых линий и уметь вращаться вокруг произвольной оси. Управление преоброзование по осям осуществляеться с помощью девяти клавиш на цифровой клавиатуре.
:p2:
Если октаэдр - это то что я думаю, то я это делал... надо искать исходники.
P.S.: Выложи картинку этого октаэдра.
возьми простои восьмиугольник и получиш Октандер
BlackShadow
28.04.2004 18:07
Так а проблема-то в чём?
Берёшь 8 (если меня не подводит память и окта, это 8) точек типа
=Record
x,y,z:Real
End;
Задаёшь уравнения поворота (это можно посмотреть именно в том учебнике).
Вспоминаешь про CRT.ReadKey или что тебе там больше по душе, ждёшь кнопку, ворочаешь точки, проецируешь на экран и соединяешь в нужном порядке...
Вот и всё вроде
Вспомнил, я "поворачивал" (если не ошибаюсь) додекаэдр.
Исходников пока не нашел...

P.S.: или икосаэдр??...
Вобщем 12 вершин и 20 плоскостей.
А алгоритм этои программы
можно ли написать
что бы могло бы доити.
pascal65536
29.04.2004 13:43
pascal65536
29.04.2004 13:50
Массив с координатами точек фигуры: (X,Y,Z)=(0,0,3);(0,0,-3);(2,0,0);(0,2,0);(-2,0,0);(0,-2,0)
Ещё надо определиться спорядком прорисовывания граней.
Все так умеют писать но показать и написать алгоритм программы вам слабо докажите что вы сильный и знаете что это за программа а словами все так могут
Хм что ты пытаешся этими словами показать?
все это ОЧЕНЬ просто, потому что для поворота всего служат три функции,
которые я изложил в другой теме.
Я такое делал - если есть трудности спрашивай. А просто так я не хочу возиться
Да есть проблема у меня курсовая я не поиму как делать это и в какой ntmt ты это излогал покажи а лучше распиши алгоритм программы и все
просто у меня не получаеться что то . Блин
Здесь найдешь формулы поворота, и массив куба.
http://pascal.net.ru/forum/index.php?showtopic=1968План такой
1. преобразовать куб в октаэдр - повозись с координатами, и представь как он будет вращаться
2. написать процедуру рисования линий по массиву - думай сам. Формула преобразования 3d вида в 2d -
nx := 256*x div (z-Zoff)+Xoff
ny := 256*y div (z-Zoff)+Yoff
где Xoff Yoff это смещение объекта относительно экрана (для 13 режима - т.е. для 320*200 - и объект в центре, тогда Xoff=160 Yoff=100)
Zoff - это насколько объект далеко от нас.
3. Написать с использованием формул поворота (см. ссылку) процедуры поворота
4. Поворачивать
Забыл довавить - x,y,z - это координаты одной из точек, вот по одной точке и обрабатываешь
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.