Войти
ПрограммированиеФорумГрафика

попадание точки внутрь трёхмерного симплекса (5 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#60
16:43, 20 ноя. 2012

Aslan
> а то что ты привел - это рисовать каждую грань отдельно

Нет. Он тоже рисует то, что видно и не больше.


#61
16:46, 20 ноя. 2012

TarasB
Даже полностью невидимые грани таким методом все равно придется обрабатывать
Что если линия частично перекрыта? С концов или посередине и несколько раз. Где ты будешь брать горизонтальные границы, если считаешь что не придется перебирать перекрытые пикселы?

#62
16:53, 20 ноя. 2012

Aslan
Да нет же. Движок нормально определяет, какие полы видны, а какие - нет.

#63
18:04, 20 ноя. 2012

Статья с видео-примерами пошаговой отрисовки в Doom:
http://fabiensanglard.net/doomIphone/doomClassicRenderer.php

Если нет QuickTime плагина, то вот первое видео:
http://prboom-plus.sourceforge.net/doom_01.mov.zip

#64
7:01, 21 ноя. 2012

TarasB
меня тут забанили немножко... :)...
кароче, во первых - приношу свои извинения, не сразу понял что ты говорил про наложения тетраэдров, потом понял - ты прав, геометрия движка позволяет сделать такое наложение и действительно вырисовываться будет не правильно, однако при использовании движка так как я его предполагаю использовать, а именно для реконструкции трёхмерки при помощи прогрессивной видеокамеры, такая ситуация возникнуть всё-же не может, ни как... ну вот представь - наблюдатель появляется внутри сферы построенной из тетраэдров, а потом при перемещении наблюдателя, растаскиваем вершины непрозрачных граней и генерим новые тетераэдры...

#65
10:06, 21 ноя. 2012

glukh
В твоем конкретном случае циклического перерытия быть не может
Кстати как ты делишь тетраэдр? TarasB верно заметил, что в центре получается октаэдр

#66
10:13, 21 ноя. 2012

Aslan
> твоем конкретном случае
всё верно, в моей сцене не может быть перекрытия, но TarasB говорил не о ней, а о сцене вообще, любой возможной, я сперва на него нарычал, что мол фигня всё это движка такого не позволит сделать, нарисовал примеры, и потом увидел что всё-же может... :(... ну то есть понятно что такая ситуация не возникнет пока ну ни как, но чисто гипотетически он всё-же прав, и не рассматривать такую ситуацию нельзя, так что реальное ему спасибо! вот...

#67
10:19, 21 ноя. 2012

Aslan
> TarasB верно заметил, что в центре получается октаэдр
неа, он не верно заметил... :)... есть куча способов как поделить куб на тетраэдры, но если добавить условие - "на наименьшее количество", то получится, что куб можно разбить минимум на пять тетраэдров, ещё раз повторю картинку:
симплексный воксель | попадание точки внутрь трёхмерного симплекса

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

#68
10:30, 21 ноя. 2012

glukh
> кароче, во первых - приношу свои извинения

Да не надо. Я вообще удивлён, что модераторы заметили одно матное слово и за такую фигню (по местным меркам) забанили.

glukh
> есть куча способов как поделить куб на тетраэдры, но если добавить условие -
> "на наименьшее количество", то получится, что куб можно разбить минимум на пять
> тетраэдров, ещё раз повторю картинку:

Ну ты же вроде не только куб разбиваешь, но и тетраедры бьёшь на меньшие. Вот у нас и возникает вопрос -  а как ты разбиваешь этот самый тетраэдр?

#69
10:33, 21 ноя. 2012

glukh
Мне кажется, проще все сделать из кубов

#70
10:55, 21 ноя. 2012

TarasB
> Вот у нас и возникает вопрос - а как ты разбиваешь этот самый тетраэдр?
пока ни как... придумал несколько вариантов, но потом пришёл к выводу что это всё пустое, при реальном моделировании нужно будет сделать функцию оптимизации, которая переразбивает указанную область заново снося нафиг текущее разбиение... ну тоесть, добавил точку, нашёл симплекс внутр которого попала точка, находишь все тетраэдры которые опираются на вершины этого тетраэдра (а может и больше нужно брать), убиваешь их всех и заново строишь тетраэдры в освободившимся пространстве...
а просто разбить один тетраэдр очень просто - точку внутри тетраэдра ставим, от неё ко всем вершинам линии проводим и всё - вместо одного большого четыре маленьких... ещё можно переразбивать пару смежных тетраэдров - соединяем не смежную вершину первого с вершиной второго и у нас получается вместо двух тетраэдров три тетраэдра... картинки через пару часов будут - из дома нарисую...
Aslan
> Мне кажется, проще все сделать из кубов
согласен, есть такое ощущение... только используя симплексы мне так-же интуитивно кажется, что сама структура пространства получится более оптимизированой, так что смотря чё нужно - если быстроборщь, то нужны квадраты, а если наука нужна - то однозначно симплексы...

#71
13:01, 21 ноя. 2012

entryway
> http://fabiensanglard.net/doomIphone/doomClassicRenderer.php
> R_DrawPlanes : Visplanes are converted from column of pixels to lines of pixels and rendered to screen.
> lines of pixels

ЧТД
Жаль что по ссылке я не нашёл картинки сцены, нарисованной частично.

#72
13:15, 21 ноя. 2012

TarasB
> Жаль что по ссылке я не нашёл картинки сцены, нарисованной частично.
Что значит не нашел? Там же есть видео прорисовки кадра точка за точкой. В сраном quicktime, правда. Нашару не посмотришь. Я вообще-то и не смог пересмотреть их вчера, но я раньше видел.

#73
14:01, 21 ноя. 2012

entryway
> В сраном quicktime, правда.

Наверное, поэтому я и не нашёл.

#74
14:17, 21 ноя. 2012

TarasB
> Наверное, поэтому я и не нашёл.
Поэтому я и дал ссылку на скачанный ролик в формате mov. Мой видео проигрыватель его «смог».

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.