给定三个点创建两个平行平面 (Javascript)

Create a two parallel planes given three points (Javascript)

我正在尝试创建一个高级光线投射器。我将如何编写一个基于 3 个点创建两个 grids (image here) 的函数?我希望输出是两个数组,其中为图像中显示的每个交点填充了 {x: 0, y: 0, z: 0} 对象。希望这不是太难理解。我想要这个的原因是我可以从屏幕上的每个像素投射光线。

设向量 c=CB,向量 a=AB。您可以获得平面的第二个基本向量

d = c X a  (cross product)

获取单位基向量

ua = Normalized(a) = a / Length(a)
ud = Normalized(d) 

并构建网格(单元格大小为 ASize x DSize)点为

P[i,j] = B + ua * i * ASize + ud * j * DSize
   for the first plane

Q[i,j] = C + ua * i * ASize + ud * j * DSize
   for the second plane