2013-02-26 3 views
1

나는 3D 그래프를 그리기 위해 캔버스 3D를 사용하고 있습니다.하지만 기본적으로 좌표의 원점은 왼쪽 상단에 있습니다. 나는 번역을 사용하여 다음과 같이 캔버스의 중심으로 가져갑니다.캔버스 3D 캔버스 축의 방향을 변경

canvasElement.getContext('2d').translate(constants.canvasWidth/2, constants.canvasHeight/2); 

여기서 canvasWidth 및 canvasHeight는 이미 정의되어 있습니다. 하지만 이제는 축의 방향에 또 다른 문제가 있습니다. 이제 양의 y 축은 아래로 향하고 -y 축은 위로 향하게합니다. 어떻게하면 y 축이 위로 향하고 -y 축이 Y 축의면을 향하도록 적절하게 만들 수 있습니까? 하위? 도와주세요

답변

0

센터를 오프셋하는 대신 y 위치를 계산하십시오. 캔버스 높이/2에서 y 값을 뺍니다.

x1 = canvasHeight/2 + x; 
y1 = canvasHeight/2 - y; 
+0

여기에 언급 한 내용을 이해하지 못했습니다. 번역 또는 기능에이 코드를 사용해야합니까? 사용 방법? – Navaneet

+0

모든 좌표를 변환 할 때 사용하십시오. 스케일링 요소가 필요할 수도 있습니다. 따라서 어떤 크기의 그래프도 캔버스에 맞출 수 있습니다. 3D 그래프가 필요한 경우에는 변환 행렬을 사용하는 것이 좋습니다. – QuentinUK