2016-06-15 4 views
2

x, y, z 좌표로 주어진 점 목록이 있습니다. 나는이 점을 컴퓨터에 플로팅하고 싶다. 필자는 gnuplot과 python 라이브러리 matplotlib를 별도로 관리했습니다. 그러나이 두 가지 솔루션의 경우 '시점'또는 3D 점 구름의 투영이 2D 화면으로 변경되는 시점을 변경하는 것이 어려워 보입니다.점 구름 그리기 및 카메라 이동

1) gnuplot (splot 명령) 또는 matplotlib (plot 명령)에서보기 지점을 쉽게 이동할 수있는 방법이 있습니까?

2) 쉬운 작업 인 다른 라이브러리에는 어떤 것이 있습니까?

편집 : 으로 이동보기 포인트 (예 : 1 인칭 슈팅 게임의 플레이어처럼)는 시청 각도를 변경하지 않습니다.

+0

당신은 matplot3d .. 예를 들어 양식 사이트에이 작업을 수행 할 수 있어야한다 : HTTP ://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html. plt.show()를 실행하면 퍼스펙티브를 드래그 한 다음 저장할 수 있습니다. – ryanmc

+0

@ryanmc :이 플롯에서 드래그하면 뷰 포인트의 위치가 아닌보기 각도 만 변경됩니다. 나는 내가 후자를 원한다는 것을 분명히하기 위해 편집했다. 또는 나는 무엇인가 놓치고 있냐? – crestmods

+0

편집 내용을 기반으로합니다. 나는 * "보기 포인트 이동"* 및 "보기 각도 변경"*의 차이를 이해하지 못합니다. – Bart

답변

0

아니,의 gnuplot은 정말보기 포인트가 무한대라는 이유를 들어, 시청 지점을 이동 수 없습니다 : (당신이 할 수있는 모든 각도 배율 (set view를 사용)로 설정하고이보기 창 내의 오프셋 (offset) set origin). 즉, 구도를 무한대로 움직일 수는 있지만 점을 찍은 점 사이는 이동할 수 없습니다.

(질문 2 오프 주제 소프트웨어 조언으로,하지만 당신은받은 Paraview로 렌더링 소프트웨어를 찾고있어)

+0

오프 주제에 대한 조언 주셔서 감사합니다! (그리고 대답은 물론) 나에게 위대한 일을했다. – crestmods

1

시야각을 변경하면 이미지/화면/물체의 중심을 계속 볼 때 등거리 쉘에서 머리를 움직이는 것과 같습니다.

콘텐츠 (화면/개체)가 시야에서 벗어나기 위해 xy 평면에서 머리를 단단히 움직여 머리를 움직입니다. 그것은 단순히 카메라를 이동 set origin

enter image description here

set origin -0.25,0 
splot exp(-x**2)*exp(-y**2)*sin(x)**2 with pm3d notitle 

등으로 Gnuplot에 용이하다.

enter image description here

당신이 무엇을 의미 (나는 생각한다) 플레이어와 왼쪽 단계 (또는 오른쪽 또는 점프 또는 ...)하지만이보기 점뿐만 아니라 볼 내용뿐만 아니라 변경됩니다. 당신은 xrangeyrange로를 얻을 수 있습니다

물론
splot [-5:15] exp(-x**2)*exp(-y**2)*sin(x)**2 with pm3d notitle 

enter image description here

는 X/Y 범위의 변화 현재보기에 따라 달라집니다 당신이 Gnuplot의 외부를 계산하는 무슨 각도.