从Vector3D获取点,从这一点获取两行

时间:2015-09-12 12:59:59

标签: c# math vector-graphics

我想获得两条线之间的点,由原点的Vec3D点和方向线的角度定义。由于我的英语和我的数学不够好,无法解释,我画了一张照片:

enter image description here

在绿色的valid点,红色而不是valid。 有人可以帮我解决这个问题吗? 我有Vector3D点,方向(或角度),以及要检查的Vec3D列表。

由于

1 个答案:

答案 0 :(得分:0)

基本思想是用半角约束中心点,检查点和方向之间的角度:

normalize direction
minDotProduct = cos(angle / 2)
for each point p
    d := p - center
    normalize d
    point is valid iff dot(d, direction) >= minDotProduct
next