барицентрические координаты с использованием квадратов - PullRequest
1 голос
/ 01 июля 2010

некоторые из вас знают, как заполнить квад в 2D, используя барицентрический координаты? В настоящее время я разделяю четырехугольники на 2 треугольника, но этот путь неэффективен, потому что я должен перебирать второй ограничивающая рамка, которая повторяет пиксель, который был заполнен ранее ( Например, чтобы заполнить 2-й треугольник, я прошел 1-й треугольник, который принадлежит ограничительной рамке, образованной 2-м треугольником) Спасибо

esmitt

1 Ответ

0 голосов
/ 02 июля 2010

Вот пример Python, который должен быть тем, что вы ищете.Как вы, вероятно, знаете, не существует однозначно определенных барицентрических координат для четырехугольников в двух измерениях (есть барицентрические координаты для тетраэдров в трех измерениях, но это совсем другое).для каждого ребра, а затем проверьте, находится ли точка на правильной стороне каждого из них.Линейные коэффициенты не нормированы, потому что если вам нужен только тест попадания / пропуска, который не нужен (вы будете проверять только знак, а не величину x nx + y ny + nk).

Обратите внимание, что этот подход требует выпуклых ориентированных квадратов ...

...