2013-08-31 4 views
-2

나는 무작위로 생성 한 죄 값을 사용하여 각도 :전체적으로 임의의 사인 각도를 오프셋하는 방법은 무엇입니까?

sin(12) 
sin(33) 
sin(75) 
sin(125) 
... 

나는이 작업을 수행하는 우아한 방법이 있는지 궁금 이들 모두에 고정 된 회전을 추가하고 싶은? 나는 각도를 + my_additional_angle가 음수이고 일정한 값보다 크다면 내 고정 각을 적절하게 추가하기 위해 비교와 검사를 할 생각 이었지만보다 간단한 방법을 먼저 묻기를 원했습니다.

또한 이러한 제약 조건 내에서 해결되어야합니다. 즉,이를 정의하는 응용 프로그램이 매우 제한적이기 때문에 매트릭스 등을 사용할 수 없습니다.

마지막으로 랜덤 각도는 0에서 180 사이입니다. 추가 할 각도는 무엇이든 될 수 있습니다.

+0

선형 대수? –

답변

2

첫째는, 삼각 함수는 거의 확실하게 할 수 있도록, 라디안,되지도에서 작동 : 당신은 당신이 가지고 그렇게하기 전에 할 경우

sin(radians(12)) 
sin(radians(33)) 
# etc 

는, 각도를 추가하려면 sin 그것은 단지

정말 쉽습니다
sin(radians(12+angle)) 
sin(radians(33+angle)) 

음수이거나 360보다 큰 각도 인 sin이 여전히 올바르게 작동하므로 sin(radians(12)) == sin(radians(12+360)) == sin(radians(12-360))이되어야합니다.

+0

감사합니다. 나는이 애플리케이션이 스크립팅 API를 구현할 때 잊어 버렸으며, 자신의 죄/코사인 (cos/cos)과 같은 새로운 기능을 추가했습니다. 이것은별로 중요하지 않지만 당신이 학위로 설명했던 것을했습니다. 그러나 내가 추가 한 각도 값을 늘릴 때, 어떤 값은 다른 것보다 더 빠르게 회전하는 것을 볼 수 있습니다. 이것이 틀리거나 다른 문제가 있는지 확실하지 않습니다. –

+0

상수 앵글을 추가하면 초기 각도에 따라 '죄'가 다른 속도로 증가 할 것으로 예상됩니다. 예를 들어 90 °의 작은 추가 각도의 경우 '죄'는 매우 천천히 변하고 0도에서는 죄가 빠르게 변합니다. (일반적으로 값이 0에 가까울수록 가장 빠르게 변화하고 1 또는 -1에 가까울 때는 가장 빠름) – tom10

+0

몇 가지 검사를해볼 가치가있는 것 같습니다. 예 : sin (A + 90) = cos (A), sin (A + 180) = - sin (A) 등 – tom10

관련 문제