给定三个点创建两个平行平面 (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
我正在尝试创建一个高级光线投射器。我将如何编写一个基于 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