|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.06.2010, 09:52 | #1 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Алгоритм проектирования 3D на 2D
Всем привет!
Экспериментирую с Аттракторами Вот что у меня получилось. Но хочу посмотреть на него в объёме. Ну, т.е.мне нудна функция, которая преобразовывала-бы 3-х мерные координаты в 2-х мерные в зависимосте от вертикального и горизонтального углов. Написал шаблон функции Код:
3DTesting.rar - Это просто наработка временная Сам проект в Attractor3D.rar |
25.06.2010, 12:06 | #2 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
Это проектирование с 3д на 2д с перспективой(n-ее коэффициент).
x`= 0.5 * screen_width + N * x/z y`= 0.5 * screen_width + N * y/z Но у тебя, насколько я понял у тебя все угловой системе координат? |
25.06.2010, 13:11 | #3 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Да, я хочу, чтобы фигуру можно было бы вращать в 2-х измерениях, по вертелале и по горизонтале.
|
25.06.2010, 22:48 | #4 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
http://programmersforum.ru/showthread.php?t=97522
Полярная система координат! Угол по горизонтали есть широта(latitude = [0, 2*pi)) а угол по вертикали есть долгота(longitude = [0, pi]) latitude - угол фи longitude - угол тета Код:
Возможно можно проще, надо подумать... Последний раз редактировалось Kostia; 25.06.2010 в 22:51. |
25.06.2010, 23:47 | #5 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Спасибо, Kostia, буду разбираться. Ну просто очень хочется реализовать алгоритм.
|
26.06.2010, 08:58 | #6 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
|
27.06.2010, 09:04 | #7 | |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Цитата:
|
|
29.06.2010, 09:57 | #8 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Блин, всё равно не получается. Проблема в переводе координат из декартовой системы в сферическую.
Там четверти надо учитывать. Вроде сделал всё как надо, но нормально не получается. По горизонтали крутит ещё более менее неплохо а вот по вертикале, просто метаморфозы какие-то.... Функция получения четверти Код:
Код:
|
29.06.2010, 11:38 | #9 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Попробовал разобраться, но быстро запутался в математических выкладках. С матрицами все получается гораздо проще. В архиве простой пример вращения куба (работают две клавиши - right, up). Если отбросить матричные преобразования, то кода всего 90 строк. Можно, конечно, развернуть умножения матриц и получить явные формулы, но лучше сразу привыкать к матрицам. Так будет проще переход на DirectX/OpenGL
|
29.06.2010, 12:33 | #10 | |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Цитата:
Вот по вертикале всегда вращается правильно Помое-му ничего сложного в моих математических выкладках нету. Вот что не понятного например? Последний раз редактировалось Altera; 29.06.2010 в 12:37. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Описание и обсуждение шаблонов проектирования (паттерны) | atomicxp | Общие вопросы по программированию, компьютерный форум | 35 | 20.01.2018 21:42 |
использование платного ПО для проектирования | Domanoff | Свободное общение | 4 | 11.06.2010 13:33 |
Волновой алгоритм (алгоритм Ли) | MrRockchip | Общие вопросы C/C++ | 4 | 10.05.2010 13:26 |
Case инструменты проектирования. | Levsha100 | Свободное общение | 5 | 06.12.2009 03:12 |
Занесение данных в StringGrid на этапе проектирования формы | program123 | Компоненты Delphi | 2 | 16.02.2009 23:00 |