roboforum.ru

Технический форум по робототехнике.

Визуализация трехмерного массива точек

Визуализация трехмерного массива точек

executer » 25 июн 2010, 10:05

Недолго думая не придумал как малой кровью можно отображать массива точек (трехмерный массив в котором ячейка либо =0 - точки нету, либо =1 - точка есть) в окошке, зная относительные координаты камеры и массива. Сначала думал трассировать каждый луч влетающий в камеру - но лучи не будут проходить точно в пространстве через ячейки массива - нужно как то определять далеко луч прошел от ячейки или близко.
А перебирать каждую ячейку и проверять видно ее или нет - сильно долго.


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

Re: Визуализация трехмерного массива точек

=DeaD= » 25 июн 2010, 10:13

Возьми алгоритм брезенхема для рисования линии и адаптируй для поиска всех пикселей пересекаемых воображаемой линией :)

Re: Визуализация трехмерного массива точек

executer » 25 июн 2010, 11:43

Блин, точно! Камеру же тоже можно рассматривать в координатах массива! Благодарю!

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

Re: Визуализация трехмерного массива точек

=DeaD= » 25 июн 2010, 11:50

Ключевое слово в моём сообщении - адаптируй. Т.е. определись, какие окружающие ячейки должна захватить твоя линия, для этого с каждой линией веди 8 соседних, если ячейка ближе к одной из них или совсем далеко от твоей линии, то отрисуешь её там, иначе отрисуй здесь.

Re: Визуализация трехмерного массива точек

Ku6opr » 25 июн 2010, 12:32

Можно воспользоваться стандартными возможностями языка программирования, который позволяет работать с 3D графикой. Например, GDI+, DirectX, XNA под С# имеют возможность отрисовать массив точет и вращать камерой вокруг них.

Re: Визуализация трехмерного массива точек

executer » 25 июн 2010, 14:01

да, полистал форумы - по-ходу можно видеокарточке передать массив а она уже пущай малюет на 1000 ФПС 8). И не надо парится где там луч проходит а где не проходит.

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

Re: Визуализация трехмерного массива точек

=DeaD= » 25 июн 2010, 14:03

try OpenGL?

Re: Визуализация трехмерного массива точек

idmasystems » 08 фев 2016, 23:34

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


cron
Rambler\'s Top100 Mail.ru counter