Path: utzoo!attcan!uunet!decwrl!bacchus.pa.dec.com!shlump.nac.dec.com!ryn.esg.dec.com!allvax!jroth From: jroth@allvax.dec.com (Jim Roth) Newsgroups: comp.graphics Subject: Re: 4-Space Basis Rotation Matrices Message-ID: <2515@ryn.esg.dec.com> Date: 14 Aug 90 22:45:23 GMT Sender: guest@ryn.esg.dec.com Organization: Digital Equipment Corporation Lines: 43 In article <14503@wpi.wpi.edu>, fenn@wpi.wpi.edu (Brian Fennell) writes... >In article <140587@sun.Eng.Sun.COM> falk@peregrine.Sun.COM (Ed Falk) writes: >.... >>I think a simpler way to think of it is this: the idea that rotations >>are around an *axis* is incorrect. It just happens to work in >>three dimensions. In fact, rotations occur within a *plane*. In >>4D, there are six planes (XY, XZ, XW, YZ, YW, ZW) and the rotations >>through those various planes are >.... >> -ed falk, sun microsystems -- sun!falk, falk@sun.com If you want interactive view manipulation, I recommend providing a set of 6 valuators (for the 6 possible "planes") and a toggle button for pre or post concatenation (which corresponds to view or object centered rotatins.) Then use your valuators to generate incremental plane rotations which are composed into your "running" rotation matrix. I did this in a 4D wireframe viewer a long time ago, and it worked very well. Looked real neat to see rotations involving the 4-th dimension - things would turn inside out! As an alternative to valuators (which should be free turning thumbwheels rather than slidepots) you can provide a set of radio buttons and measure mouse motion (horizontal, say) in the graphics area for your valuation. I like this approach since it takes less screen real estate and moving the mouse near the graphics gives a direct manipulation feel. >Granted that the idea of rotation in 4D seems to best apply to manipulating >points in (or around) a plane, but that brings up the question: are >there any 4D manipulations that are not the aforementioned >rotation, and still maintain the integrity of the object? By >maintaining integrity" I mean that any given point A maintains its >distance from any other 5 non-co-spatial (not in the same 3-space) points >B, C, D, E, and F. Any matrix whose rows (or columns) are orthonormal (mutually orthogonal vectors) will preserve distances. Some of the responses show how such a matrix can be built up in a general way. - Jim