Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!usc!wuarchive!uunet!stanford.edu!agate!ucbvax!ENUXHA.EAS.ASU.EDU!hollasch From: hollasch@ENUXHA.EAS.ASU.EDU (Steve Hollasch) Newsgroups: comp.windows.x Subject: Re: 3d rotation in room coords? Summary: Virtual Sphere != Latitude+Longitude (I think) Message-ID: <9103072008.AA03949@enuxha.eas.asu.edu> Date: 7 Mar 91 20:08:29 GMT References: <9103050342.AA20065@maui.coral.com> <13709@life.ai.mit.edu> <13781@life.ai.mit.edu> <1991Mar7.055600.4149@ux1.cso.uiuc.edu> <9314@exodus.Eng.Sun.COM> Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: hollasch@enuxha.eas.asu.edu (Steve Hollasch) Organization: Arizona State University Lines: 50 sundar@ai.mit.edu: ( I have since been informed that Apple may have a patent pending on ( using this technique. [...concerning eyepoint as point on sphere] Marc Andreessen: ( Can someone post a number for this, if it's true? Patrick Naughton: ( I believe this is the paper we are talking about: ( ( "A Study in Interactive 3-D Rotation Using 2-D Control Devices" ( Michael Chen, S. Joy Mountford and Abigail Sellen ( ACM Siggraph '88 proceedings (Volume 22, Number 4, August 1988). ( ( and the technique which I think may have a patent pending is the ( "Virtual Sphere Controller". ( ( The principal author can be reached at: ( ( internet:chen@apple.com ( AppleLink:CHEN.M ( mail:20525 Mariani Ave, MS 76-3H ( Cupertino, CA 95014 From what I understand, the virtual sphere controller is NOT a matter of tieing lattitude and longitude to the mouse's X and Y axes. The virtual sphere is an imaginary sphere that encloses the object under inspection. To rotate the object, the user postitions the cursor over this imaginary sphere and presses the mouse button. The display program maps the screen coordinates to the corresponding point on the virtual sphere. As the user drags the mouse cursor, the user program rotates the object (and virtual sphere) so that the original sphere point remains under the cursor. So, to rotate the object 360 degrees in the horizontal plane, you'd click on the far side of the virtual sphere and drag the cursor to the other side. That's 180 degrees. Repeat this operation and you've rotated the object 360 degrees. When mapping mouse movement to the latitude and longitude of the eye point, the relationship of mouse movement to rotation angle is linear. This is not true for the virtual sphere device, where moving the cursor near the borders of the sphere projection produces greater rotation changes than moving the cursor near the center of the sphere face. ______________________________________________________________________________ Steve Hollasch / Arizona State University (Tempe, Arizona) hollasch@enuxha.eas.asu.edu / uunet!mimsy!oddjob!noao!asuvax!enuxha!hollasch