【发布时间】:2015-09-13 19:35:20
【问题描述】:
我想得到两条线之间的点,由 Vec3D 点定义为原点,并与方向线成角度。由于我的英语和数学都不好解释,所以我画了一张照片:
绿色有效点,红色无效。 有人可以帮我解决这个问题吗? 我有 Vector3D 点、方向(或角度)以及要检查的 Vec3D 点列表。
谢谢
【问题讨论】:
标签: c# math vector-graphics
我想得到两条线之间的点,由 Vec3D 点定义为原点,并与方向线成角度。由于我的英语和数学都不好解释,所以我画了一张照片:
绿色有效点,红色无效。 有人可以帮我解决这个问题吗? 我有 Vector3D 点、方向(或角度)以及要检查的 Vec3D 点列表。
谢谢
【问题讨论】:
标签: c# math vector-graphics
基本思想是用半角来约束中心点、检查点和方向之间的夹角:
normalize direction
minDotProduct = cos(angle / 2)
for each point p
d := p - center
normalize d
point is valid iff dot(d, direction) >= minDotProduct
next
【讨论】: