Получение точек заполненного эллипса в JavaScript - PullRequest
1 голос
/ 25 июля 2011

Мне было интересно, сможет ли кто-нибудь указать мне правильное направление относительно того, как я буду генерировать точки заполненного эллипса или круга.

Я знаю алгоритмы рисования контуров, но также и не содержание.

Все, что мне нужно, это массив точек. Но я не знаю, с чего начать, и не могу найти свой ответ в Google.

Любая помощь очень ценится.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 25 июля 2011

Вы знаете точки контура, поэтому вы можете просто отсортировать их по линии (то есть по координате y).Когда две y-координаты равны, сортируйте их по x-координате.

Теперь для двух точек с одинаковой y-координатой вы знаете, что все точки между ними должны находиться в эллипсе.

1 голос
/ 25 июля 2011

Вы можете создавать точки по линии сканирования. Уравнение эллипса

топор 2 + от 2 + c = 0

Так что итерируйте значения y и решите для x . Вы получите квадратное уравнение в x с двумя решениями, которое даст вам точки на левом и правом конце линии сканирования. Все точки между ними находятся внутри эллипса.

Если вы хотите быстро сгенерировать координаты для конечных точек, см. Статью Джона Кеннеди Быстрый алгоритм типа Брезенхема для рисования эллипсов .

0 голосов
/ 25 июля 2011

Возможно, вы захотите взглянуть на некоторую графическую библиотеку, такую ​​как jsDraw2d

http://jsdraw2d.jsfiction.com/

Более эффективный метод, вероятно, заключается в использовании Javascript для генерации изображений SVG, но, к сожалению, Internet Explorer до версии 8 не поддерживает SVG.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...