【问题标题】:How do you get a parallel vector on a plane that an intersecting ray just hit?如何在相交光线刚刚击中的平面上获得平行矢量?
【发布时间】:2013-10-14 00:03:51
【问题描述】:

我的问题:http://i.imgur.com/fphNzcV.jpg

我有什么:相交,n,p。其中 p 是空间中的一个随机点。 N 是飞机的法线。

我所追求的:w

我如何尝试在我的着色器中解决它:

"vec3 n = normalize(faceNormal);",
"vec3 p = vec3(1.0);",
"vec3 u = p - intersect;",
"vec3 absNormal = abs(n);",
"vec3 v = dot(u, n) * n / (absNormal * absNormal);",
"vec3 w = u - v;",

并且矢量不会与平面平行:http://i.imgur.com/9omScb6.png

有人知道我哪里想错了吗?

谢谢!

【问题讨论】:

    标签: html math three.js webgl shader


    【解决方案1】:

    abs() 是绝对值。您应该使用length() 函数。

    "vec3 v = dot( u, n ) * n / ( length( n ) * length( n ) );",
    

    【讨论】:

    • 啊,感谢 West Langley,现在可以使用了。我以为它们是一样的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    相关资源
    最近更新 更多