Re: Dual-theta math



Hi Rick,

As Ed mentioned, this looks a lot like spherical coordinates. However,
I could not quite understand your definition of the Y/Z angle. In
spherical coordinates, the second angle is the angle between the
vector in the XY plane (i.e., the projection of the point onto the
XY plane) and the point in 3D. See, e.g., [marsden].

These types of transformations are commonly performed using a
rotation matrix. There is some material in [postscriptref] about
this.

--Randy

@book{marsden
title = "Vector Calculus",
author = "Jerrold E. Marsden and Anthony J. Tromba",
publisher = "W.H. Freeman and Company",
edition = "third",
year = "1988"}
@book{postscriptref,
title = "Postscript Language Reference Manual",
author = "Adobe Systems Incorporated",
publisher = "Addison-Wesley Publishing Company",
edition = "second",
year = "1990"}


"Rick Hodgin" <spamtrap@xxxxxxxxxx> writes:

I while back I created a set of ASM-based libraries which would
operate on dual-theta math in 3D space. (There may be another name
for it...that's the purpose of this post). The concept was this: a
theta which operated normally in X/Y space, and then another which
operated in Y/Z space, rotating the derived point from X/Y space into
3D space.

The implementation required three values: XY_theta, YZ_theta, and a
radius, thereby defining a point. It was setup to operate in two
modes. The first was where the normal XY theta computed an XY
position with the YZ theta rotating that value around the un-rotated Y
axis in 3D space. The other was to rotate along the rotated Y axis in
3D space. The advantage of the second was that some really amazing
rotational effects were achieved by simple theta increases and
rotational moves. It also made the creation of virtual 3D objects
very simple by eminating them from a central point where they could be
rotated completely by altering only 2 values.

The purpose of these algorithms was to produce a graphical 3D engine
base for whatever purpose (my purposes were not gaming, but that would
most likely be their final use for many others). It works, but is not
yet optimized.

I'm wondering if anyone has experience with this sort of math? Knows
what it's called? And if there are any optimized ASM-based algorithms
around which do this (possibly in SIMD)?

The implementation I created used radians and the FPU (no SIMD yet).
However, I was going to create a version which would use N-bit
bittians, so as to only garner as much angular resolution as was
required for the implementation of whatever it was that was being
done. I was thinking a 4096 field array woud suffice. But, that's
research left to be done.

Any ideas?

- Rick C. Hodgin


--
% Randy Yates % "The dreamer, the unwoken fool -
%% Fuquay-Varina, NC % in dreams, no pain will kiss the brow..."
%%% 919-577-9882 %
%%%% <yates@xxxxxxxx> % 'Eldorado Overture', *Eldorado*, ELO
http://home.earthlink.net/~yatescr

.



Relevant Pages

  • Re: angle from rotation matrix
    ... Second method, returned angle in ... with respect to accuracy of the rotation axis when the rotation angle theta is ... where theta has been determined from one of the complex eigenvalues. ... (except that the quaternion code is opposite sense in rotation angle). ...
    (comp.soft-sys.matlab)
  • Re: Convert axis and angle of rotation to rotations about X & Y axis
    ... >not need to go through all of this to come up with theta. ... in the sense that we get the right sign for r when we use that angle. ... acos would have to be sensitive to an input change in the 8th decimal ... We can get accurate recovery of the angle and its quadrant by using ...
    (comp.graphics.algorithms)
  • LED intensity/angle mcd?
    ... viewing angle of 60 degrees at 2x theta. ... Cost is 72 cents. ...
    (sci.electronics.design)
  • Re: LED intensity/angle mcd?
    ... viewing angle of 60 degrees at 2x theta. ... Cost is 72 cents. ... A second part 670-1224 claims to be a 1800mcd device with a viewing ...
    (sci.electronics.design)
  • Re: LED intensity/angle mcd?
    ... viewing angle of 60 degrees at 2x theta. ... A second part 670-1224 claims to be a 1800mcd device with a viewing ... manufacturers provide a graph of brightness versus viewing angle. ...
    (sci.electronics.design)