|
#1
|
|||
|
|||
Get Objects Angle Relative to the screen/viewpoint
I am working on a problem where we have a mouse pointer in our scene that I have either oriented so that it is positioned to the normal vector of a surface, or that it points at the center of the bounding box for an object.
The pointer is modeled to look like a teardrop where the point of the teardrop is "touching" the surface of the object it is pointing at. Due to the rotation of the pointer, there are cases were the point of the teardrop are obscured by the rest of the model. To resolve this, I want to try to compare the angle vector of this teardrop model to the viewpoint to see if the model is obscured. I think I have half of what I need by using the command Code:
viz.MainWindow.screenToWorld([0,5,0.5]).dir
__________________
|
#2
|
|||
|
|||
I think I have come up with a solution that I'll share here:
In addition to the window vector above, I am taking the point that the mouse pointer intersects with and the center of the bounding box, and making a vector using those two points. With that vector, I can figure out the angle between the window vector. Code:
winVec = viz.MainWindow.screenToWorld([0,5,0.5]).dir objAngle = [bbCenter[i] - objPoint[i] for i in range(len(objPoint))] viewAngle = Vector.cross(Vector.norm(objAngle), Vector.norm(winVec))
__________________
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Trouble picking text3d objects | Salvar | Vizard | 4 | 12-01-2010 03:07 PM |
static or dynamic objects | shahramy | Vizard | 2 | 11-10-2010 12:32 AM |
Semi-circle array containing target and distractor objects | ptjt255 | Vizard | 3 | 08-04-2009 03:09 AM |
Lightwave objects rotation problem | hosier | Vizard | 6 | 02-13-2009 12:04 PM |
Could not find plugin to load objects... | halley | Vizard | 1 | 05-30-2006 11:01 AM |