forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Математика (http://forum.boolean.name/forumdisplay.php?f=85)
-   -   четырехугольники на плоскости. (http://forum.boolean.name/showthread.php?t=17787)

CRASHER 24.01.2013 14:37

четырехугольники на плоскости.
 
Вопрос в том как на сурфейс наложить четырехугольники, которые в купе приблизительно повторяли бы контур сурфейса. Он может быть с дырками, разного вида трианглами. Приходят в голову у кого нибудь приблезительно мысль как можно такое сделать? Честно мало идей более менее подходящих.

MiXaeL 24.01.2013 16:56

Ответ: четырехугольники на плоскости.
 
Может я не очень понял проблему? Пробегаешь по треугольникам, два треугольника с общей стороной образуют четырехугольник.
Как я понимаю, тебе нужные двумерные четырехугольники. Тогда он будет образован четырьмя точками этих двух трианглов, НЕ лежащими на общей стороне. Если на модели нет шипастых элементов, сработает хорошо. Если нужна бОльшая точность, вычисляй сначала угол между плоскостями треугольников, при очень острых углах не склеивай в четырехугольник или интерполируй переход дополнительными точками.

Впрочем, после того, как я все это написал, мне еще больше кажется, что я не понял вопроса :)

CRASHER 24.01.2013 19:58

Ответ: четырехугольники на плоскости.
 
модель просто поверхность, которая может изменятся по высоте, но это не суть. Я это не учитываю. Беру только координаты x,z. Нужно заполнить область предоставленной этой поверхностью четырехугольниками (желательно выпуклыми) . Если позволяет геометрия, пусть какой то четырех угольник тянется хоть через всю модель. Чот мне казалось что это проще объяснить чем насамом деле. Не знаю как на этот раз...

CRASHER 24.01.2013 20:22

Ответ: четырехугольники на плоскости.
 
Вот для наглядности.
Это просто полигоны.


А это полигоны с нанесенными секторами.

штриховка красным это просто указание целостности четырехугольника.

по поводу второй картинки не нужно видеть тайных смыслов))

MiXaeL 25.01.2013 12:05

Ответ: четырехугольники на плоскости.
 
Ну это не отменяет того, что можно заменять два треугольника с общей стороной на четырехугольник.
Судя по картинке ты хочешь добиться покрытия минимальным числом четырехугольников? Тоже не сложно делается, вроде. После первого прохода и создания четырехугольников из треугольников делаешь второй проход. Аналогично два четырехугольника с общей стороной и параллельными прилежащими лепятся в один.
Для быстрого эффекта можно тупо сделать цикл до тех пор, пока число четырехугольников не перестанет меняться. А вообще, это можно хорошо оптимизировать.

CRASHER 27.01.2013 11:25

Ответ: четырехугольники на плоскости.
 
MiXaeL, как по твоему можно проверить параллельность прилежащих? Просто по координате проверять не получится так как там есть стороны лежащие под углом к центру системы отсчета.К тому же как предотвратить совмещение двух четырехугольников, в то время как один из них мог образовать еще больший четырехугольник с несколькими другими?

MiXaeL 27.01.2013 16:29

Ответ: четырехугольники на плоскости.
 
Не очень понял про "под углом к центру систему отсчета". у тебя все таки 2д или 3д? вообще именно по координатам и проверяется. и тут даже не параллельность, а просто принадлежность к одной прямой.
как найти именно идеальную конфигурацию не скажу. лень это аналитически делать, даже если можно. Если времени не жалко, то просто перебором.

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

CRASHER 27.01.2013 19:24

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


Часовой пояс GMT +4, время: 20:53.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot