2009-04-24 4 views
6

태양 주위를 돌아 다니는 행성처럼 고정 된 점을 중심으로 gluSphere을 원형으로 회전시키고 싶습니다.OpenGL이 한 지점을 중심으로 회전합니다.

glRotatef 또는 glTranslate를 사용하는 것이 가장 좋습니까? 그렇다면 어떤 순서로 호출해야합니까?

답변

4

당신은 모두의 작은해야 할 것이다 :

  • gluSphere이되도록 고정 점을 "직면"되어 있는지 확인을 구에 대한 기대 번역하는 것은 당신이 원하는 주위에 지점
  • glTranslatefgluSphere 앞으로 궤도의 중심에 더 가까이 당신을두고는 회전
  • 방향은 당신이 구가
  • 단지까지 뒤로
  • glTranslatef 당신이 앞으로

그 길을 갔다으로는 좋은 궤도에, 당신의 영역이 중심에서 같은 거리를 유지하지만, "약"번역됩니다 궤도 할.

+0

건배, 계속 켜십시오! – user64392

-2

glRotatef는 현재 행렬에 회전 행렬을 곱합니다. 이것은 (올바른 벡터가 주어진다면) 시도하고있는 것을 할 수 있습니다.

glTranslatef는 현재 행렬에 회전 행렬을 곱합니다. 회전 행렬은 개체를 효과적으로 "이동"하므로 회전시키지 않으므로 원하는대로되지 않습니다.

+0

그래서 원형 모션의 경우 glRotatef를 사용하여 설정 점을 중심으로 회전해야합니까? – user64392

+0

나는 그가 각각 하나씩 필요하다는 말을하는 것이 사실이라고 생각한다. - 원점에서 멀리 떨어진 곳으로 객체를 번역 한 다음, 원점을 중심으로 회전시킨다. (여기서 '원점'은 회전하려는 중심 임) –

2

모든 방법으로 회전 한 후 중심에서 멀리 번역 및

관련 문제