«Зеркальное отражение» угла - PullRequest
2 голосов
/ 08 июля 2010

Мне нужно получить дополнение к углу.

Точно, что мне нужно сделать, это реализовать какой-то код, который отражает угол, скажем, у меня 45 градусов -> 135, другой пример: 80 -> 100, 0 градусов -> 180 и т. Д.

Решено: Я реализовал это всего минуту назад, и он работал отлично, я использую угол 180, если угол <180, и 360 -угол, если угол> = 180.

Ответы [ 5 ]

5 голосов
/ 08 июля 2010

Я думаю, что вы после 180 - yourAngle.

Ваши примеры:

  • 45 градусов: 180 - 45 = 135
  • 80 градусов: 180 - 80 = 100
  • 0 градусов: 180 - 0 = 180
4 голосов
/ 08 июля 2010

Вычитание, вероятно, будет работать (если вселенная евклидова).

http://en.wikipedia.org/wiki/Supplementary_angles

2 голосов
/ 08 июля 2010

Самый простой ответ, основанный на том, о чем вы спрашиваете, это

angle2 = 180 - angle1
1 голос
/ 09 июля 2010

Если вы видите свой «угол» как двухмерный вектор на плоскости, вы просто меняете знак нормали компонента на плоскость «зеркала».

Так, например, угол 45 градусов (1, 1) «зеркальное отображение» в плоскости yz становится (-1, 1).

1 голос
/ 08 июля 2010
reflected_angle = 180 - ray_angle
...