Если у меня есть QuadCurve как это (+
= узел):Java2D: Наполните выпуклый округлый многоугольник (QuadCurves)
+ +
\ ./
+--⁻⁻
И я заполню его в Java 2D получается нечто вроде этого: (x
= цвета)
+xxxxxxxxx+
\xxxxxx./
+--⁻⁻
Но я хочу, чтобы цвет другой стороны:
+ +
x\ ./x
xxx +--⁻⁻xx
xxxxxxxxxxx
Это succe eds, рисуя прямоугольник вокруг кривой в цвете, я хочу покрасить другую сторону, а затем заполнить кривую цветом фона.
Но это недостаточно для заполнения выпуклого закругленного (на основе QuadCurves) многоугольника. В случае некоторых координат для прямоугольников (как объяснялось в используемом трюке) перекрываются другие части многоугольника. Вот два изображения (зеленая зона мой многоугольник):
alt text http://img204.imageshack.us/img204/7823/convexpolygon.pngalt text http://img708.imageshack.us/img708/3669/convexpolygon2.png
Итак, вопрос прост: «Как я могу окрасить форму сборки кривых?»
Но ответить будет непросто, я думаю ...
Любой совет будет ОЧЕНЬ ОЧЕНЬ высоко оценен.
Спасибо заранее.
Может быть, я собираюсь сделать Баунти на этот вопрос, если я не получаю ответа
Это действительно возможный путь! Но мне нужно это в игре. Итак, мне интересно, достаточно ли это, чтобы сделать игру со скоростью 40 кадров в секунду. –
Не забудьте проверить это! –
Ну, Martijn, если я не сделал в нем какую-то новичковую ошибку (возможно, я не прошел через нее), это должно быть O (n) с точки зрения количества пикселей, которые вам нужно окрасить, Думаю, тебе станет лучше. Там может быть более активное участие, если вы используете диапазон цветов в качестве границы. , , , , Другое дело иметь в виду, почему вы так делаете, и, возможно, есть лучший способ сделать что-то. Есть ли способ, которым вы могли предварительно визуализировать эти кривые и загружать из сохраненного изображения? Оптимизации, как это лучше всего! – corsiKa