2010-01-27 5 views
6

Я ищу способ рисования самопересекающегося многоугольника с отверстиями, я использую элемент HTML Canvas.Нарисуйте самопересекающийся многоугольник на холсте HTML

Итак, учитывая 5 баллов, я хочу нарисовать красный снизу.

This question is essentially the same thing.

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

ответ

0

Я в основном уверен, что вы не хотите все это рисовать самостоятельно, не так ли? http://gpolo.awardspace.info/fill/main.html показывает, что это делается, но все это ручная работа.

3

Вы не можете сделать первую пентаграмму с одного путем в Canvas 2D - правило заполнения используется там четный-нечетный и Canvas заполняет форму с обмоткой правилом ненулевой.

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

Смежные вопросы