2013-07-04 3 views
3

배경
https://marketplace.gephi.org/plugin/force-atlas-3d/마우스 움직임 3D 뷰를 회전 - 고정 카메라

문제
로 - I를 표현 노드들의 네트워크를 (X는, Y, Z)의 좌표 스크린.
- 마우스 포인터의 위치는 (x, y) 좌표로 표시됩니다 (정상적으로).

=> 마우스의 드래그 동작 (x와 y의 변형)을 사용하여 노드 네트워크보기를 회전하고 싶습니다. 왼쪽에 수직 축을 중심으로 노드의 회전을 야기 왼쪽으로 마우스를 드래그

  • ("회전"작전 내가 아는 여기에 정의 된,하지만 난 당신이 무슨 뜻인지 시각화 희망하지 않음).

  • 마우스를 화면 아래쪽으로 끌면 가로 축을 중심으로 뷰어의 방향으로 노드가 회전합니다.

필자는 마우스 좌표에서 변형 된 입력을 입력하고 각 노드에 대한 좌표의 해당 변형을 반환하는 메서드가 필요합니다.

노트
을 - 여기에없는 카메라 움직임.
- 솔루션은 Java로 개발되었습니다. 아마도 Java3D와 같은 일부 라이브러리가 여기서 관련이 있을까요?

어떤 도움을 주시면 감사하겠습니다. - Gephi 플러그인에서 인정하고 있습니다. 고마워!

답변

3

orbit behavior 클래스

OrbitBehavior orbit = new OrbitBehavior(canvas, OrbitBehavior.REVERSE_ROTATE); 
orbit.setSchedulingBounds(new BoundingSphere()); 
universe.getViewingPlatform().setViewPlatformBehavior(orbit); 

그것은 모든 방향에서보기를 회전를 사용해보십시오. 그러나 다음과 같이 Y 회전 이동 배율을 0으로 설정하여 마우스 방향에 따라 좌우 방향으로 회전을 제한 할 수 있습니다.

orbit.setRotXFactor(2);//or any other value 
orbit.setRotYFactor(0);