# comp.graphics.algorithms

## Subject: Re: orthonormal frame transformation

jindra wrote:

> I would like to find a transformation which transforms one
> orthonormal frame F0 (with vectors n0, t0, b0 - normal, tangent and
> binormal) into another orthonormal frame F1

FYI: such transformations are rotations.

> where I know only n1 (normal) and t1, b1 are unknown. So there is
> one degree of freedom in the choice of t1 (since b1 can be computed
> as b1 = t1 x n1).

So forget about the frames, tangents and binormals for the moment, and
concentrate on the two normals only. This means the task is to find a
rotation that maps n0 to n1. All such rotations have axes on the
bisector plane between the two normals, i.e. the one whose normal is

normalize(n1 - n0)

The angle of such a rotation can be anywhere between 180 degrees (if
you pick the axis to be +/-normalize(n0 + n1)) and the angle between
n0 and n1 (if you pick +/-normalize(n0 x n1)).

> I would like to choose t1 so that the transformation between F0 and
> F1 is sort of minimal.

You don't really "choose t1". You choose a rotation, and find out
where t1 ends up by rotating t0.

--
Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.