реклама на сайте
подробности

 
 
> Алгоритм Брезенхе́ма, окружность
Maverick
сообщение Jul 1 2013, 08:48
Сообщение #1


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



есть алгоритм
как с помощью него рисовать дуги например с углом 20 или 5 градусов, т.е. не кратно 45 градусам
Как это делается, если это возможно?


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Jul 1 2013, 17:10
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Так расскажите. Может кому-то еще будет полезно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jul 1 2013, 18:15
Сообщение #3


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Сергей Борщ @ Jul 1 2013, 20:10) *
Так расскажите. Может кому-то еще будет полезно.

Расскажу...
Этот алгоритм мне нужен для реализации G-code , т.е. реализации
G02 -круговая интерполяция по часовой стрелки,
G03 - круговая интерполяция против часовой стрелки.
Входными данными являются начальная точка, конечная точка и радиус.
Вопрос возник как рисовать дуги не кратные 45 градусам (по алгоритму).
Ответ:
1) из чистой геометрии определяю координаты центра - придется решать квадратное уравнение;
2) Для работы алгоритма необходимо сдвинуть центр окружности в (0, 0);
3) Начинаем алгоритм из первой точки, заканчиваем, когда дойдет до второй точки.
Это работает без модификации для любых 2-х точек, расположенных на опорной дуге.
Да, еще такой момент: если там маленький угол, т.е. очень большой радиус, то возможны некоторые проблемы с разрядностью, т.е. надо будет этот момент особо проконтролировать.
Над этим пока думаю...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Tiro
сообщение Jul 1 2013, 18:50
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768



Цитата(Maverick @ Jul 1 2013, 21:15) *
Да, еще такой момент: если там маленький угол, т.е. очень большой радиус, то возможны некоторые проблемы с разрядностью, т.е. надо будет этот момент особо проконтролировать.

Так преимущество Брезенхема в том, что достаточно вычислять целочисленные значения, поэтому все расчеты ведутся в целых числах. Разрядность расчета равна разрядности вывода, что там контролировать кроме переполнения? Или, теоретически, Вы собираетесь использовать в расчетах иррациональные числа?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Maverick   Алгоритм Брезенхе́ма   Jul 1 2013, 08:48
- - Maverick   Цитата(Maverick @ Jul 1 2013, 11:48) есть...   Jul 1 2013, 14:25
- - khach   Если это интерпертатр G-cod, то очень желательно ...   Jul 1 2013, 18:44
|- - Maverick   Цитата(khach @ Jul 1 2013, 21:44) Если эт...   Jul 1 2013, 19:28
|- - Tiro   Цитата(Maverick @ Jul 1 2013, 22:28) ...я...   Jul 1 2013, 19:51
||- - Maverick   Цитата(Tiro @ Jul 1 2013, 22:51) Пробоват...   Jul 1 2013, 20:17
||- - Tiro   Цитата(Maverick @ Jul 1 2013, 23:17) * мне казалос...   Jul 1 2013, 21:23
|- - khach   Цитата(Maverick @ Jul 1 2013, 21:28) Как ...   Jul 1 2013, 21:35
- - rat   Рисовал по этому алгоритму окружность на ПЛИС. Тол...   Jul 2 2013, 02:25
|- - Maverick   Делаю интерполяцию... у меня простой вопрос как дл...   Sep 25 2013, 12:25
- - _pv   наименьшие квадраты: http://mathworld.wolfram.com/...   Sep 25 2013, 13:19
|- - Maverick   Цитата(_pv @ Sep 25 2013, 16:19) наименьш...   Sep 25 2013, 14:00
- - _pv   решение матрицы 5х5 в символьном виде? Цитата(Mav...   Sep 25 2013, 14:50
- - Maverick   Цитата(_pv @ Sep 25 2013, 17:50) ...стать...   Sep 25 2013, 20:51


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 10:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01404 секунд с 7
ELECTRONIX ©2004-2016