2011-10-23 2 views
0

정육면 투영이있는 C++/OpenGl/Glut 응용 프로그램이 있습니다."포인트"표준화

창 크기는 500 x 500 픽셀입니다. 현재 마우스 클릭이 발생하면 포인트는 (0,0)과 (500, 500) 사이가됩니다.

나는이 점을 받아 (0,0)과 (0,1) (정규화) 사이의 값으로 변환하거나 glutMouseFunc()가 x와 y 값을 범위 [ 0,1]. 이것이 가능한가? 또는 x와 y 값을 한 번에 하나씩 정규화 된 값으로 변환하는 좀 더 수학적 방법을 살펴보아야합니까?

+2

윈도우 크기를 가져 와서 마우스 코드로 나누면 문제가 생깁니 까? – fazo

+2

@fazo 다른 길은 없을거야, 안 그래? – jrok

+0

@fazo : 전화하세요. 질문에 정식으로 답변하고 싶으시겠습니까? 답변을 수락 할 수 있습니까? – Josh

답변

0

창 크기를 가져 와서 마우스 좌표로 나눕니다.

4

좌표를 창 크기로 나누면됩니다. 창 크기를 최신 상태로 유지해야합니다 (즉, 크기 조정 이벤트를 후크합니다.) 이것은 비용이 전혀 들지 않으며 프로필에 표시되지 않습니다.