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


Автор: kuvshinka 1.5.2013, 21:25
есть некая шкала градусов 0-360.
Дано: A0, deltaA;
Надо отложить Ai (пересчитать угол в пиксели)

Amin=A0-deltaA;
Amax=A0+deltaA;

Допустим: A0=0; deltaA=5; Ai=358 (во втором варианте Ai=4). надо на участке Amin...Amax отложить Ai. Весь участок Amin...Amax соответствует, например, 100 пикселям, пиксельный отсчет (точка (0,0)) идет от A0. 
тогда
 Amin=0-5=-5 (в моем случае отрицательных углов не может быть, это будет 355 (т.е. Amin+360))
 Amax=0+5=5;
 а дальше как все посчитать (чтобы и для Ai=358, и для Ai=4 все верно считалось)? 

Автор: Mirkes 2.5.2013, 21:12
Странная формулировка. Меня учили, что градусы это мера угла, а угол бывает только между какими-то объектами или у дуги. Угол можно вычислять в радианах, градусах, но никак не в пикселях. Задачу внятно сформулируйте.
Хочу поцтроить дугу окружности с центром в х,y и радиусом r. Как рссчитать пикселы которые нужно закрасить.
Эту задачу можно решать.
Так что сформулируйте задачу.

Автор: ТарасАтавин 30.11.2013, 20:12
Цитата(Mirkes @  2.5.2013,  21:12 Найти цитируемый пост)
Задачу внятно сформулируйте.
Хочу поцтроить дугу окружности с центром в х,y и радиусом r. Как рссчитать пикселы которые нужно закрасить.
Очевидно же, что не хочет. Он хочет изобразить полоску, длина которой будет пропорциональна какому то углу, измеряемому "чёрным ящиком" и подаваемому на вход в готовом виде.

Автор: _Y_ 1.12.2013, 22:06
Если я правильно понял Вашу надобу, то нужно не градусы в пиксели пересчитывать, а посмотреть какие пиксели и как закрашиваются для правильного зрительного отображения наклонных линий.  Т.е. разделить задачу на два шага. Сначала счиаете аналитически нужные линии (из градусов), а потом их отображаете, закрашивая пиксели.

Недавно была ветка на эту тему, но я ее не найду, т.к. сам в ней не участвовал. Увидел - не заинтересовался - забыл. 

Автор: mrgloom 2.12.2013, 10:44
надо сначала произвести геометрический рассчёт, а потом растеризовать(т.е. спроецировать на пиксели).
http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_DDA-%D0%BB%D0%B8%D0%BD%D0%B8%D0%B8

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