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