I'm displaying a mesh object in a WPF Viewport3D, and would like to be able to manipulate the view, using the mouse, in a similar fashion to many programs that display 3D models (e.g. openSCAD, STL viewers, blender, etc.).
I have a Point3D for the cameraPosition, and a Vector3D for the lookDirection.
I had a go at each; zoom's the only one I got working alright, which is simply: cameraPosition = zoomFactor * (cameraPosition - lookedAtPoint) + lookedAtPoint; (I've set lookedAtPoint = cameraPosition - cameraPosition.toVector().length * lookDirection / lookDirection.length)
My results are not like those in real 3D model viewer software. Does anyone know the equations for pan, rotate and zoom normally used?
It looks like you're new here. If you want to get involved, click one of these buttons!