gpt4 book ai didi

c++ - 射线平面求交方向 vector

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:53:58 29 4
gpt4 key购买 nike

我需要计算光线和平面的交点,我得到以下 -平面的法 vector ,平面上的一个点,我在空间中的光源点就是这样。现在我知道为了计算交点,我需要从光源到交点的方向 vector V 但我不知道如何找到它,因为通常为了找到我会计算的方向 vector V = (intersectionPoint - sourcePoint)但是这次我没有交点...(为了让它更容易理解,我有 - P0、N、Q0,试图获得 V 和 P。

enter image description here

提前致谢!

最佳答案

我假设射线垂直于平面,否则你的问题没有多大意义。如果是这种情况,则 V = +/- N。

平面内的点P均满足方程:

<P, N> = <Q0, N>>

其中 <,> 表示点积。

另一方面,射线上的一点满足方程:

P = P0 + t N

t 的一些实际值(value)。

将您得到的两者结合起来 t:

t = <N , Q0 - P0>/<N , N>

t 的符号决定 V:

V = sign(t) N

通过重用射线方程得到交点P:

P = P0 + t N

关于c++ - 射线平面求交方向 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23181225/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com