Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2008, 14:36   #1
natasha
Пользователь
 
Регистрация: 21.01.2007
Сообщений: 15
Восклицание Трехмерный график

Пожалусто помогите!!!
Как средствами Delphi построить трехмерный график
natasha вне форума Ответить с цитированием
Старый 24.08.2008, 18:46   #2
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

ННу первое, что приходит в голову - средства OpenGl. Если его не знаешь, то это дело не одного дня. Еще для ускорения работы могут помочь компоненты GLScene. Я с ними работал в 7-ой версии Делфи. Замечательно работают.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 24.08.2008, 21:38   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Да нет, не нужно OpenGL. Нужно делать проекцию на плоскость. Погуглите на эту тему.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 27.08.2008, 19:49   #4
sejay
 
Регистрация: 07.08.2008
Сообщений: 5
По умолчанию

Это достаточно трудоёмкий проект. Я делал аналог Line 3d в TChart.
В основе юзал следущий код проекции 3D на плоскость
Код:
result.x:=trunc(((y*ca-x*sa)*cg+(z*cb+(x*ca+y*sa)*sb)*sg)*zum+x0;
result.y:=trunc(-((z*cb+(x*ca+y*sa)*sb)*cg-(y*ca-x*sa)*sg)*zum+y0;
где ca=cos(alfa) sb=sin(betta) cg=cos(gamma) и тп - углы поворота
zum=зум
x0,y0 - начало координат на канве
x,y,z - координаты точки в 3D
От наложения дальних полос на ближние избавлялся логическим условием- тупо и быстро)

Последний раз редактировалось sejay; 27.08.2008 в 19:54.
sejay вне форума Ответить с цитированием
Старый 27.08.2008, 21:28   #5
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Можно попробывать компонент TOpenGL - это ActiveX компонент работающий с библиотекой от MathCad - исходников в сети конечно нет или я просто не видел, но строит красиво и функционал большой
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 27.08.2008, 22:19   #6
sejay
 
Регистрация: 07.08.2008
Сообщений: 5
По умолчанию

Вообще, если рисовать всё самому и сложный график то можно встретиться с большими сложностями(удаление невидимых граней, свет и т п). Так что лучше обойтись готовыми инструментами, которые тут предлагают
sejay вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
График Droid Общие вопросы Delphi 6 25.05.2008 23:40
график Димарик Помощь студентам 2 30.06.2007 09:12
График Oksana БД в Delphi 3 12.02.2007 20:05
График xsexrexga Общие вопросы Delphi 1 27.01.2007 21:26