Si usted entiende exactamente lo que el OP se le preguntó acerca -- en particular, se percató de que $\Omega$ denota una (no lineal) de transformación en lugar de una matriz --, omita esta sección.
Tenemos un vector
$\vec{v} = \left [ \begin{matrix} x \\ y \\ z \end{matrix} \right ]$
en el extraño sistema de coordenadas para transformar ordinaria coordenadas 3D.
La transformación es controlado por tres puntos de $\vec{p}_1$, $\vec{p}_2$, e $\vec{p}_3$, con sus correspondientes vectores unitarios $\hat{N}_1$, $\hat{N}_2$, e $\hat{N}_3$, respectivamente; además, opcionalmente, un vector unitario $\hat{N}_T$ asociado con los tres puntos.
Los dos posibles transformaciones
$$\mathbf{\Omega}_1(\vec{v}) = x \vec{p}_1 + y \vec{p}_2 + (1 - x - y)\vec{p}_3 + z \left ( x \hat{N}_1 + y \hat{N}_1 + (1 - x - y) \hat{N}_3 \right ) \tag{1}\label{NA1}$$
y
$$\mathbf{\Omega}_2(\vec{v}) = x \vec{p}_1 + y \vec{p}_2 + (1 - x - y)\vec{p}_3
+ \frac{ z \left ( x \hat{N}_1 + y \hat{N}_1 + (1 - x - y) \hat{N}_3 \right )}{\hat{N}_T \cdot \left ( x \hat{N}_1 + y \hat{N}_1 + (1 - x - y) \hat{N}_3 \right )} \etiqueta{2}\label{NA2}$$
Por ahora, vamos a concentrarnos en la primera versión, $\eqref{NA1}$.
Para los vectores $\vec{v}$ sobre el $x y$ plano, es decir, $z = 0$, la transformación es
$$\mathbf{\Omega}_1\left( \left [ \begin{matrix} x \\ y \\ 0 \end{matrix} \right ] \right) = x \vec{p}_1 + y \vec{p}_2 + (1 - x - y) \vec{p}_3 = \vec{p}_3 + x \left( \vec{p}_1 - \vec{p}_3 \right ) + y \left ( \vec{p}_2 - \vec{p}_3 \right )$$
es decir, se define un punto de $(x, y)$ en baricéntrico coordenadas con respecto al triángulo (2D simplex), definido por los vértices $\vec{p}_3$, $\vec{p}_1$, e $\vec{p}_2$.
Esencialmente, los tres puntos de $\vec{p}_1$, $\vec{p}_2$, e $\vec{p}_3$ definir una cara, y los puntos de $\vec{p}_1+\hat{N}_1$, $\vec{p}_2+\hat{N}_2$, e $\vec{p}_3+\hat{N}_3$ la oposición de la cara de un tronco de pirámide triangular, o un prisma. $0 \le z \le 1$ elige el avión de forma continua entre las dos caras, y $x$ e $y$ son los baricéntrico coordenadas en el triángulo ($0 \le x , y , x + y \le 1$) en el avión.
La diferencia entre los $\eqref{NA1}$ e $\eqref{NA2}$ es que en el segundo, mientras que la transformación de las superficies de $z = \text{constant}$ son planas, $x = \text{constant}$ e $y = \text{constant}$ puede ser curvo.
Si la transformación fue simplemente
$$\mathbf{\Omega}\left(\vec{v}\right) = x \vec{p}_1 + y \vec{p}_2 + (1 - x - y)\vec{p}_3 + z \hat{N}_t$$
OP podría utilizar un simple de 3×3 matriz de transformación seguido por una traducción (que no depende de la $\vec{v}$. Pero esta transformación no es adecuado.
Si ampliamos por ejemplo, $\eqref{NA1}$, obtenemos
$$\begin{aligned}
\mathbf{\Omega}_1\left(\vec{v}\right) & = \vec{p}_3
+ x \left( \vec{p}_1 - \vec{p}_3 \right )
+ y \left( \vec{p}_2 - \vec{p}_3 \right )
+ z \hat{N}_3 \\
\; & + x z \left( \hat{N}_1 - \hat{N}_3 \right )
+ y z \left( \hat{N}_2 - \hat{N}_3 \right ) \\
\end{aligned}$$
y ver de inmediato (de $x z$ e $y z$ ) que el de transformación (en estas coordenadas $(x , y , z)$) no es lineal.
La pregunta es, cómo convertir un poco de dirección en la mezcla de $(x,y,z)$ coordenadas de un vector unitario.
Vamos a decir que nuestro punto de $\vec{v}$ en la mezcla de coordenadas tiene alguna dirección $\vec{d} = \left [ \begin{matrix} i \\ j \\ k \end{matrix} \right ]$ en el mismo mixto de coordenadas asociado con él, y queremos encontrar el correspondiente vector unitario normal Cartesiano de coordenadas 3D.
Si queremos encontrar el vector de $\mathbf{\Omega}_1\left(\vec{v}\right)$ a $\mathbf{\Omega}_1\left(\vec{v} + \vec{d}\right)$ y normalizar a la unidad de longitud, se obtiene la transformada correspondiente dirección de un vector unitario. Esto es debido a que en coordenadas Cartesianas, la asignación es "suficientemente lineal". (Detalles en la sección siguiente.)
$$\bbox[#ffffef]{ \begin{aligned}\vec{w} & = \mathbf{\Omega_1}\left( \vec{v} + \vec{d} \right) - \mathbf{\Omega_1}\left(\vec{v}\right) \\
\; & = i \left ( \vec{p}_1 - \vec{p}_3 \right ) + j \left ( \vec{p}_2 - \vec{p}_3 \right ) + k \hat{N}_3 \\
\; & + \left( z i + i k + k x \right) \left( \hat{N}_1 - \hat{N}_3 \right) \\
\; & + \left( z j + j k + k y \right) \left( \hat{N}_2 - \hat{N}_3 \right) \\
\end{aligned} \etiqueta{3a}\label{NA3a}}$$
La transformada de la unidad de vector de dirección es obtenida a través de la escala de la unidad de longitud,
$$\hat{w} = \frac{\vec{w}}{\left\lVert\vec{w}\right\rVert} = \frac{\vec{w}}{\sqrt{\vec{w}\cdot\vec{w}}} \tag{3b}\label{NA3b}$$
Tenga en cuenta que $\vec{w}$ e lo $\hat{w}$ dependen tanto de $\vec{v}$ e $\vec{d}$, por lo que en el caso general, usted no puede evitar tener que recalcular las normales para su uso en, por ejemplo, la iluminación.
En otras palabras, usted no transformar una dirección $(i, j, k)$ en la mezcla de coordenadas solos, pero siempre en una dirección $(i, j, k)$ con respecto a mixta específica punto de coordenadas $(x, y, z)$. El cambio de cualquiera de los seis componentes puede cambiar el resultado Cartesiano 3D vector de dirección.
Para la segunda transformación, que también depende de $\hat{N}_T$,
$$\begin{aligned}\vec{w} & \approx \mathbf{\Omega_2}\left( \vec{v} + \vec{d} \right) - \mathbf{\Omega_2}\left(\vec{v}\right) \\
\; & = i \left ( \vec{p}_1 - \vec{p}_3 \right ) + j \left ( \vec{p}_2 - \vec{p}_3 \right ) \\
\; & + \frac{\left(\hat{N}_1-\hat{N}_3\right)(z+k)(x+i) + \left(\hat{N}_2-\hat{N}_3\right)(z+k)(y+j)}{(x+i)\hat{N}_T\cdot\left(\hat{N}_1-\hat{N}_3\right) + (y+j)\hat{N}_T\cdot\left(\hat{N}_2-\hat{N}_3\right) + \hat{N}_T\cdot\hat{N}_3} \\
\; & - \frac{z x\left(\hat{N}_1-\hat{N}_3\right) + z y\left(\hat{N}_2-\hat{N}_3\right)}{ x\hat{N}_T\cdot\left(\hat{N}_1-\hat{N}_3\right) + y\hat{N}_T\cdot\left(\hat{N}_2-\hat{N}_3\right)} \\
\end{aligned} \etiqueta{4}\label{NA4a}$$
de modo que el último vector unitario es de nuevo
$$\hat{w} \approx \frac{\vec{w}}{\left\lVert\vec{w}\right\rVert} = \frac{\vec{w}}{\sqrt{\vec{w}\cdot\vec{w}}} \tag{4b}\label{NA4b}$$
pero debido a la posible curvatura, la dirección es sólo aproximado. Esto sólo es exacto en que el $\hat{N}_1$, $\hat{N}_2$, e $\hat{N}_3$ son todas paralelas a $\hat{N}_3$, o en el límite de $\lVert\vec{d}\rVert \to 0$. Numéricamente, la aproximación puede ser controlado mediante la ampliación de $\vec{d}$ a una longitud pequeña, apenas lo suficientemente grande como para mantener a los errores de redondeo dentro de los límites aceptables. Por ejemplo, $\lVert\vec{d}\rVert \approx 0.001$ debe ser fina para la iluminación de los vectores.
Para entender lo que la afirmación de que una asignación de una pirámide triangular truncada a otro (como el utilizado en la transformación de arriba) es "suficientemente lineal", vamos a reescribir $\eqref{NA1}$ como
$$\begin{aligned}
\mathbf{\Omega}_1(\vec{v}) & = x \vec{p}_1 + y \vec{p}_2 + (1 - x - y)\vec{p}_3 + z \left ( x \hat{N}_1 + y \hat{N}_1 + (1 - x - y) \hat{N}_3 \right ) \\
\; & = (1 - z)\left ( x \vec{p}_1 + y \vec{p}_2 + (1 - x - y)\vec{p}_3 \right ) \\
\; & + z \left ( x \left( \vec{p}_1 + \hat{N}_1 \right) + y \left( \vec{p}_2 + \hat{N}_2 \right) + (1 - x - y) \left( \vec{p}_3 + \hat{N}_3 \right) \right )\end{aligned}$$
Si utilizamos
$$ B(x, y; \vec{p}_1 , \vec{p}_2 , \vec{p}_3 ) = x \vec{p}_1 + y \vec{p}_2 + (1 - x - y ) \vec{p}_3 = \vec{p}_3 + x \left(\vec{p}_1 - \vec{p}_3\right) + y \left(\vec{p}_2 - \vec{p}_3\right)$$
para indicar un punto en el triángulo $\vec{p}_1$, $\vec{p}_2$, $\vec{p}_3$ especificado por baricéntrico coordenadas $(x , y)$, $0 \le x , y , x + y \le 1$, luego
$$\mathbf{\Omega}_1(\vec{v}) = (1 - z) B\left(x, y; \vec{p}_1 , \vec{p}_2 , \vec{p}_3 \right) + z B\left(x, y; \vec{p}_1 + \hat{N}_1 , \vec{p}_2 + \hat{N}_2 , \vec{p}_3 + \hat{N}_3\right)$$
Esta transformación de la mezcla de coordenadas $(x, y, z)$ es por lo tanto sólo interpolación lineal dentro de un prisma triangular, o de un tronco de pirámide triangular.
Este es lineal, si el prisma triangular o trunca pirámide triangular tiene caras planas: si y sólo si $\vec{p}_1$, $\vec{p}_2$, $\vec{p}_1 + \hat{N}_1$, $\vec{p}_2 + \hat{N}_2$ son coplanares; $\vec{p}_1$, $\vec{p}_3$, $\vec{p}_1 + \hat{N}_1$, $\vec{p}_3 + \hat{N}_3$ son coplanares; y $\vec{p}_2$, $\vec{p}_3$, $\vec{p}_2 + \hat{N}_2$, $\vec{p}_3 + \hat{N}_3$ son coplanares. Para el modelado poligonal, que deberían ser.
La segunda transformación es
$$\mathbf{\Omega}_2\left(\vec{v}\right) = B\left(x, y; \vec{p}_1 , \vec{p}_2 , \vec{p}_3\right) + z \frac{B\left(x, y; \hat{N}_1 , \hat{N}_2 , \hat{N}_3 \right)}{\hat{N}_T \cdot B\left(x, y; \hat{N}_1 , \hat{N}_2 , \hat{N}_3 \right)}$$
OP refirió que $\hat{N}_T$ es perpendicular al plano formado por los tres puntos $\vec{p}_1$, $\vec{p}_2$, $\vec{p}_3$. Esa situación es equvalent para el caso de que los tres puntos' $z$ coordenadas son cero,
$$\vec{p}_1 = \left[\begin{matrix} x_1 \\ y_1 \\ 0 \end{de la matriz}\right],
\vec{p}_2 = \left[\begin{matrix} x_2 \\ y_2 \\ 0 \end{de la matriz}\right],
\vec{p}_3 = \left[\begin{matrix} x_3 \\ y_3 \\ 0 \end{de la matriz}\right],
\vec{N}_1 = \left[\begin{matrix} X_1 \\ Y_1 \\ Z_1 \end{de la matriz}\right],
\vec{N}_2 = \left[\begin{matrix} X_2 \\ Y_2 \\ Z_2 \end{de la matriz}\right],
\vec{N}_3 = \left[\begin{matrix} X_3 \\ Y_3 \\ Z_3 \end{de la matriz}\right],
\vec{N}_T = \left[\begin{matrix} 0 \\ 0 \\ 1 \end{de la matriz}\right]$$
La transformada punto, a continuación, en
$$\left[\begin{matrix}
x_3 + x ( x_1 - x_3) + y ( x_1 - x_3 ) + \frac{ z }{ Z_3 + x (Z_1 - Z_3) + y (Z_2 - Z_3) }\left( X_3 + x (X_1 - X_3) + y (X_2 - X_3) \right) \\
y_3 + x ( y_1 - y_3) + y ( y_1 - y_3 ) + \frac{ z }{ Z_3 + x (Z_1 - Z_3) + y (Z_2 - Z_3) }\left( Y_3 + x (Y_1 - Y_3) + y (Y_2 - Y_3) \right) \\
z \\
\end{de la matriz}\right]$$
Nota: el factor de escala $z / \left( Z_3 + x (Z_1 - Z_3) + y (Z_2 - Z_3) \right)$; esto es lo que causa la falta de linealidad. El divisor es esencialmente el coseno del ángulo entre la interpolados vector unitario y normal del plano, por lo que la no linealidad depende del ángulo máximo entre $\hat{N}_T$ e $\hat{N}_1$, $\hat{N}_2$, e $\hat{N}_3$.
Para esta segunda transformación, obviamente, puede desarrollar otras definiciones de "dirección", pero yo no veo cómo cualquiera de ellos podría funcionar mejor para el modelado poligonal. El hecho de que esta segunda transformación puede transformar las líneas curvas, las hace inadecuadas para el modelado poligonal, en mi opinión.
Por lo tanto, mi recomendación es el uso de la primera transformación, que no tiene ningún tipo de inconvenientes, e incluso la dirección del vector de transformación está bien definida en forma exacta (suponiendo coplanarity de los vectores como se ha mencionado).