rajincse / VizOnline

Research Project FIU SCIS Visualization group of Dr. Radu Jianu
0 stars 2 forks source link

Implement two 3D controllers #5

Closed rajincse closed 10 years ago

rajincse commented 10 years ago

I've assigned a task to you by adding your name to it in the task list.

I want you to create two types of 3D navigation controllers. A navigation controller object would live in ViewerContainer3D, it would be passed all mouse and key movements that viewer container receives, and based on those it would compute a 3D matrix that can be passed to open gl. Some code to that already exits in ViewerContainer3D but it needs to be abstrcted out in a separate class.

You need to create two types of 3D controllers:

  1. Object Centric: the object is in the middle of the screen and the user can draw it closer or push it farther from him, move it to the left/up/right/down, or rotate it.
  2. User centric: (like a first person shooter): the user can go closer to the object, circle around it, etc.

This needs to be done by January 5th. By then I want to see a 3D test viewer that displays a few objects, allows me to select one of the two controllers, and then allows me to navigate through/manipulate the scene. If you have questions please ask, but ask them before the deadline not after.

Best, Radu

rajincse commented 10 years ago

At revision: 7

5

UserNavigation controller partially implemented:

  1. User can navigate the 3D space using keyboard up,down, right, left , + , -
  2. Empty Object Controller added.
  3. Translate variables moved to UserNavigate controller.
  4. A sphere object drawn in the test viewer
rajincse commented 10 years ago

Completed: At revision: 8

5

  1. When user presses key with Alt down then it performs rotation.
  2. A green ground is drawn.
rajincse commented 10 years ago

At revision: 15

5

The UserNavigation Controller is added

  1. User can activate by pressing control key
  2. We have kept 2 angles: angleY and angleZ
  3. On the basis of the angles the camera moves with mouse moved.
  4. The up and down arrow used for going forward and backward.
rajincse commented 10 years ago

At revision: 17

5

Trackball code updated.

rajincse commented 10 years ago

on Meeting with Dr. Radu Jianu on 1/22/2014: The user navigation should be implemented in following way: 1.If the cursor is in The center portion of the screen then the scene should not change.

  1. If the cursor moves beyond the central region then the scene should change with relative speed.
  2. The viewing target should be the intersection of the ray and sphere.
  3. gluUnProject should be used to calculate the ray and sphere thing.
rajincse commented 10 years ago

At revision: 81

5

Currently the user moves with refernce to center. The center is hard coded as (520,374)

rajincse commented 10 years ago

In meeting with Dr. Radu Jianu on 2/5/2014:

No need to implement the user controller right now.