三角形的边界矩形和归一化坐标

Bounding rectangle for a triangle and normalized coordinates

我正在处理一些计算机图形方面的工作,但无法找出一个问题的解决方案:

我在 3D 中有三个点 space,每个点都用 (x,y,z) 元组定义。三个点一起构成一个三角形。设点名为A、B、C,三角形为ABC。

现在我想形成一个边界矩形,其中 AC 是边之一。 B 点位于矩形的对侧。现在我想将矩形内的任意点 (p) 映射到归一化的 UV 坐标,所以:

不管怎样,我觉得我能找到你:

vec3 AC = vec3(C - A);
vec3 Ap = vec3(p - A);
float u = dot(Ap, AC)/dot(AC, AC);

但是我不知道怎么找到V。 当我使用 GLSL 时,如果答案将使用点、十字或任何 GLSL 具有的矩阵东西,我将非常欢迎。

Clarification picture

找到 uB

uB = dot(AB, AC)/dot(AC, AC);

BAC 的投影:

B' = A + uB * AC / length(AC)  

现在我们有 B'B 向量,可以在其上进行类似于 AC 投影的投影并计算 v