roboforum.ru

Технический форум по робототехнике.
Текущее время: 18 фев 2025, 20:15

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Визуализация трехмерного массива точек
СообщениеДобавлено: 25 июн 2010, 10:05 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
Недолго думая не придумал как малой кровью можно отображать массива точек (трехмерный массив в котором ячейка либо =0 - точки нету, либо =1 - точка есть) в окошке, зная относительные координаты камеры и массива. Сначала думал трассировать каждый луч влетающий в камеру - но лучи не будут проходить точно в пространстве через ячейки массива - нужно как то определять далеко луч прошел от ячейки или близко.
А перебирать каждую ячейку и проверять видно ее или нет - сильно долго.


Пока писал подумал - были в геометрии какие то формулы для проверки проходит ли прямая через прямоугольник (сторону ячейки) в пространстве - может можно будет как то рассчитать где луч через массив проходит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Визуализация трехмерного массива точек
СообщениеДобавлено: 25 июн 2010, 10:13 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Возьми алгоритм брезенхема для рисования линии и адаптируй для поиска всех пикселей пересекаемых воображаемой линией :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Визуализация трехмерного массива точек
СообщениеДобавлено: 25 июн 2010, 11:43 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
Блин, точно! Камеру же тоже можно рассматривать в координатах массива! Благодарю!

Добавлено спустя 15 минут 51 секунду:
НО, я много раз рисовал в школе линии плотно расходящиеся веером из одной точки - в итоге получался не полностью залитый сектор а сектор с кучей дырок - т.е. в моем случае много ячеек могут не отобразится :( т.к. через них не пройдет ни один трассирующий луч из камеры


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Визуализация трехмерного массива точек
СообщениеДобавлено: 25 июн 2010, 11:50 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Ключевое слово в моём сообщении - адаптируй. Т.е. определись, какие окружающие ячейки должна захватить твоя линия, для этого с каждой линией веди 8 соседних, если ячейка ближе к одной из них или совсем далеко от твоей линии, то отрисуешь её там, иначе отрисуй здесь.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Визуализация трехмерного массива точек
СообщениеДобавлено: 25 июн 2010, 12:32 
Не в сети
Аватара пользователя

Зарегистрирован: 19 май 2008, 12:04
Сообщения: 50
Откуда: Украина, г. Харьков
прог. языки: C#, C++
Можно воспользоваться стандартными возможностями языка программирования, который позволяет работать с 3D графикой. Например, GDI+, DirectX, XNA под С# имеют возможность отрисовать массив точет и вращать камерой вокруг них.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Визуализация трехмерного массива точек
СообщениеДобавлено: 25 июн 2010, 14:01 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
да, полистал форумы - по-ходу можно видеокарточке передать массив а она уже пущай малюет на 1000 ФПС 8). И не надо парится где там луч проходит а где не проходит.

У меня приложение в вижуал Си++ - что легче всего будет туда интегрировать для быстрой черновой 3Д визуализации?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Визуализация трехмерного массива точек
СообщениеДобавлено: 25 июн 2010, 14:03 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
try OpenGL?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Визуализация трехмерного массива точек
СообщениеДобавлено: 08 фев 2016, 23:34 
Не в сети

Зарегистрирован: 08 фев 2016, 20:14
Сообщения: 12
Откуда: Москва
ФИО: Дмитрий
один из моих проектов - стериокамера - решал такую задачу - если интересно - пиши. ну или вспомни школьный курс геометрии и вперёд программить)) мне школьной программы хватило (можно обойтись без матриц)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO