Расчет радиалов формы - PullRequest
       25

Расчет радиалов формы

0 голосов
/ 29 октября 2011

Я собираюсь определить формы дорожных знаков, используя радиалы.У меня есть центральная точка фигуры, и я должен найти 7 радиалов, чтобы идентифицировать фигуру.Чтобы найти 7 радиалов, я должен найти точки в 0º, 30º, 60º и 90º, как показано на следующем изображении (изображение a):

https://lh4.googleusercontent.com/-sFsGXGD9VGI/TqxRjwIoSPI/AAAAAAAAAD0/yUOhN7RNUhU/s445/radiais.png

Проблема в том, что я незнаю, как найти точку, которая находится на расстоянии 30º от моего центра.

Посмотрите, на моей первой имплементации я вычислял 5 радиалов (0º, 45º и 90º), как на рисунке b: Чтобы найти точки на 0ºсделал:

//fix the y coordinate and increment x coord
for(x = center.x to width)
    pixel(x, center.y)

Чтобы найти точки на 90º я сделал:

//fix the x coordinate and increment y coord
for(y = center.y to height)
    pixel(center.x, y)

Чтобы найти точки на 45º я сделал:

//increment x and y coord in the same number
for(x = center.x, y = center.y to width, height)
    pixel(x, y)

Итак, яхочу узнать, как получить доступ к точкам на 30º и 60º.

пс .: извините, я пока не могу публиковать изображения!нет репутации.

1 Ответ

2 голосов
/ 29 октября 2011

Вы можете использовать полярную систему координат. Вот псевдокод:

theta = 30 * pi / 180                      // 30, 60, whatever
for r = 0 to length_of_line
    x = center.x + r * cos(theta)
    y = center.y + r * sin(theta)
    pixel(x, y)

Таким образом, вы можете рисовать радиалы с наклоном 12, 16, 94,7362, ... градус

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