![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() У меня возникла следующая задача:
Необходимо построить/визуализировать 3-х мерный объет из точек. Какими средствами это можно сделать? Как я понимаю нужно иди в сторону пиксельной графики. Данные для построения объекта пока не имеют четкий формат, пусть это будет 3-х мерная матрица (из пикселей). В итоге это должно выглядеть как множество точек, разбросанных по пространству. В сети много примеров по работе с векторной графикой, а вот с пиксельной ничего толкового не нашел. Прошу Вашей помощи для того, чтобы сориентироваться что мне почитать. |
#2
|
||||
|
||||
![]() Если объект достаточно сложен, да еще предполагается его интерактивно вращать/масштабировать, то лучше воспользоваться готовыми библиотеками например OpenGL.
Если же изображение статичное и нужно его построить один раз, то принципиального выигрыша от графической библиотеки вы вряд-ли получите и тут можно просто выводить пиксели на канву. Проблемка может возникнуть при преобразовании координат в которых заданы ваши точки к экранным по кооторым вы и будете рисовать картинку. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 22.04.2010 в 10:20. |
#3
|
||||
|
||||
![]() Код:
procedure LineToXYZ(x,y,z:real); begin form1.canvas.lineto(trunc(((y*cos(alf)-x*sin(alf))*cos(gam)+(z*cos(bet) +(x*cos(alf)+y*sin(alf))*sin(bet))*sin(gam))*zum+form1.Width/2), trunc(-((z*cos(bet)+(x*cos(alf)+y*sin(alf))*sin(bet))*cos(gam)-(y*cos(alf)- x*sin(alf))*sin(gam))*zum+form1.Height/2)); end; procedure MoveToXYZ(x,y,z:real); begin form1.canvas.moveto(trunc(((y*cos(alf)-x*sin(alf))*cos(gam)+(z*cos(bet) +(x*cos(alf)+y*sin(alf))*sin(bet))*sin(gam))*zum+form1.Width/2), trunc (-((z*cos(bet)+(x*cos(alf)+y*sin(alf))*sin(bet))*cos(gam)-(y*cos(alf)- x*sin(alf))*sin(gam))*zum+form1.Height/2)); end; [/code] — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |