Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.04.2010, 09:37
Cooper Cooper вне форума
Прохожий
 
Регистрация: 29.12.2009
Сообщения: 4
Репутация: 10
Сообщение Построение пиксельных объектов

У меня возникла следующая задача:
Необходимо построить/визуализировать 3-х мерный объет из точек. Какими средствами это можно сделать? Как я понимаю нужно иди в сторону пиксельной графики. Данные для построения объекта пока не имеют четкий формат, пусть это будет 3-х мерная матрица (из пикселей). В итоге это должно выглядеть как множество точек, разбросанных по пространству. В сети много примеров по работе с векторной графикой, а вот с пиксельной ничего толкового не нашел. Прошу Вашей помощи для того, чтобы сориентироваться что мне почитать.
Ответить с цитированием
  #2  
Старый 22.04.2010, 10:18
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Если объект достаточно сложен, да еще предполагается его интерактивно вращать/масштабировать, то лучше воспользоваться готовыми библиотеками например OpenGL.
Если же изображение статичное и нужно его построить один раз, то принципиального выигрыша от графической библиотеки вы вряд-ли получите и тут можно просто выводить пиксели на канву.
Проблемка может возникнуть при преобразовании координат в которых заданы ваши точки к экранным по кооторым вы и будете рисовать картинку.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 22.04.2010 в 10:20.
Ответить с цитированием
  #3  
Старый 22.04.2010, 10:44
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
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, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:02.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025