Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Разбить акружночть на точки с определённым шагом


Автор: gribikc 30.8.2010, 10:55
Добрый день необходимо "апроксимировать" акружность прямыми тоесть получить массив точек. в качестве исходных данных задана текущая точка радиус угол раскрыва и в какую сторону смотрит окружность. задача преобразовать это в пиксели с заданным шагом шаг грубо говоря пиксель

Добавлено через 1 минуту и 14 секунд
тоесть получить массив точек окружности

Автор: djamshud 30.8.2010, 11:08
Решайте, сколько отрезков вам нужно. Фактически это разбиение 360 градусного угла на сегменты, т.е. если нужно четыре отрезка, то сегменты 90-градусные. Дальше, у вас есть отправная точка - центр окружности, ее координаты известны - x0 и y0. Таким образом координаты точек на окружности вычисляются так (вот тут я на сто рпоцентов не уверен, геометрию подзабыл уже):

x_i=x0+r*cos(a_i)
y_i=y0+r*sin(a_i)

где a_i - угол сегмента относительно начала.

Автор: gribikc 30.8.2010, 12:02
нет ту не сегменты по углам нужны...

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

Автор: Earnest 30.8.2010, 15:31
Тогда ищи алгоритм Брезенхема для растеризации окружности. Его в двух словах не опишешь.
 

Автор: gribikc 31.8.2010, 09:58
спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)