3

I'm solving a problem from the book, Mathematics for 3D Game Programming and Computer Graphics, Third Edition, by Eric Lengley. The problem goes:

Let $N$ be the normal vector to a surface at a point $P$, and let $S$ and $T$ be tangent vectors at the point $P$ such that $S \times T = N$. Given an invertible 3 $\times$ 3 matrix $M$, show that $(MS) \times (MT) = (\text{det}M(M^{-1})^{T}(S \times T)$, supporting the fact that normals are correctly transformed by the inverse transpose of the matrix $M$.

The author provided a hint stating we can represent $(MS) \times (MT)$ as

$$ (MS) \times (MT) = \begin{bmatrix} 0 & -(MS)_{z} & (MS)_{y} \\ (MS)_{z} & 0 & -(MS)_{x} \\ -(MS)_{y} & (MS)_{x} & 0 \end{bmatrix} MT $$

We then find a matrix $G$ such that

$$ GU = \begin{bmatrix} 0 & -(MS)_{z} & (MS)_{y} \\ (MS)_{z} & 0 & -(MS)_{x} \\ -(MS)_{y} & (MS)_{x} & 0 \end{bmatrix} M $$

where

$$ U = \begin{bmatrix} 0 & -S_{z} & S_{y} \\ S_{z} & 0 & -S_{x} \\ -S_{y} & S_{x} & 0 \end{bmatrix} $$

and show that $G = (\text{det}M)(M^{-1})^{T}$ to solve the problem.

I am aware that there is an alternative solution to this problem, but I would like to solve it through the hints provided. Unfortunately, I am only able to go as far doing:

$$ G = \begin{bmatrix} 0 & -(MS)_{z} & (MS)_{y} \\ (MS)_{z} & 0 & -(MS)_{x} \\ -(MS)_{y} & (MS)_{x} & 0 \end{bmatrix} M U^{-1} $$

At this point, I do not know how to proceed with showing that $G = (\text{det}M)(M^{-1})^{T}$. How would you proceed? I'd like to ask for hints on solving the problem.

  • Your work so far is flawed in that $U$ is not an invertible matrix – Ben Grossmann Jul 07 '20 at 11:19
  • It doesn't quite make sense to "show" that $G$ has the given form since the equation $GU = (MS)_{\times}M$ does not have a unique solution – Ben Grossmann Jul 07 '20 at 11:41
  • It's not clear what exactly the author was hinting at; it might be helpful if you could write exactly what the author said. – Ben Grossmann Jul 07 '20 at 11:58
  • @Omnomnomnom, I updated the question to include more of what the author hinted at, but still removed the portions that reference another part of the book to keep the question as self-contained as possible. – Sean Francis N. Ballais Jul 08 '20 at 09:07

1 Answers1

3

Using the scalar-triple product: we know that $$ A \cdot (B \times C) = \det[A \ \ B\ \ C], $$ where $A \cdot B = A^TB$ denotes a dot-product (and ${}^T$ denotes a transpose). With that, we can deduce the entries of $(MS) \times (MT)$.

Let $e_1,e_2,e_3$ denote the $x,y,z$ unit vectors. Using the above and the rule $\det(PQ) = \det(P)\det(Q)$, we see that for all $i$,
$$ \begin{align} (Me_i) \cdot [(MS) \times (MT)] & = \det[Me_i \ \ MS\ \ MT] \\ & = \det(M) \det[e_i\ \ S\ \ T] \\ & = \det(M) (e_i \cdot (S\times T)) \\ & = \det(M) (S\times T)_i. \end{align} $$ That is, we have $$ \begin{align} M^T ((MS) \times (MT)) & = \pmatrix{(Me_1)^T\\ (Me_2)^T\\ (Me_3)^T}((MS) \times (MT)) \\ & = \det(M)\pmatrix{(S \times T)_1\\ (S \times T)_2 \\ (S \times T)_3} \\ & = \det(M) (S \times T). \end{align} $$ Solving for $S \times T$, we have $$ M^T ((MS) \times (MT)) = \det(M) (S \times T) \implies (MS) \times (MT) = \det(M)M^{-T} (S \times T), $$ which was what we wanted.

Ben Grossmann
  • 225,327
  • Having written this out, I see that this is essentially the same as Omran's proof form the linked post. That said, I'm leaving this up with the hope that it is more easily understandable to some, since it is framed in a more elementary/directly computational fashion. – Ben Grossmann Jul 07 '20 at 12:55
  • I actually prefer this over Omran's proof since this is more understandable for me. – Sean Francis N. Ballais Jul 08 '20 at 09:19
  • We're using $M_{e_{i}}$ here since it equivalent to $(MS) \times (MT)$ and would give us more fluidity in solving the problem, right? – Sean Francis N. Ballais Jul 08 '20 at 09:43
  • $M e_i$ is meant to denote the product of the matrix $M$ with the column $e_1$. For example, $$ M = \pmatrix{1&2&3\4&5&6\7&9&10} \implies Me_1 = \pmatrix{1&2&3\4&5&6\7&9&10} \pmatrix{1\0\0} = \pmatrix{1\4\7}. $$ Note that $Me_i$ is the $i$th column of $M$. – Ben Grossmann Jul 08 '20 at 10:15
  • @SeanFrancisN.Ballais So I'm not quite sure what you were trying to say in your comment but I suspect that it is wrong. – Ben Grossmann Jul 08 '20 at 10:17
  • Ah. I see. I think I understand the proof better. We got $M^{T}$ (and $Me_{i}$ as a result) to multiply with $(MS) \times (MT)$ since:

    $$ (MS) \times (MT) = (\text{det}M)(M^{-T})(S \times T) \implies M^{T}((MS) \times (MT)) = (\text{det}M)(S \times T) $$

    – Sean Francis N. Ballais Jul 08 '20 at 11:04
  • You keep writing $M_{e_i}$ instead of $M e_i$ and I don't understand why – Ben Grossmann Jul 08 '20 at 11:05
  • Sorry, my bad. Anyways, I updated the comment I prematurely entered by accident. Thanks for the help, by the way! – Sean Francis N. Ballais Jul 08 '20 at 11:07
  • No problem ${}{}$ – Ben Grossmann Jul 08 '20 at 11:12