【问题标题】:Algorithm to find raycast to "special" capsule找到光线投射到“特殊”胶囊的算法
【发布时间】:2019-03-17 12:05:13
【问题描述】:

我有两个圆圈像这样连接在一起:

我在形状内有一个点,我想从该点向形状上投射一条光线。为了检索形状边缘的铸造位置。

我的第一个想法是用 2 段连接 2 个圆圈进行光线投射。如果没有成功命中,我将用 2 个圆圈进行光线投射,并采取最远的命中位置。有更好的解决方案吗?计算效率更高?

感谢您的回答

【问题讨论】:

  • 这似乎已经是一种相当有效的方法了;你能显示任何代码吗?做一些基准测试,看看你是否真的需要优化它。
  • @meowgoesthedog 我现在有伪代码,和上面一样,还有更多细节。我将实施,谢谢您的反馈!
  • @MrSmith42 谢谢

标签: algorithm math geometry intersection raycasting


【解决方案1】:

假设你有射线D=(dx, dy) 的方向向量并且源点在胶囊内

如果有中心轴,则使用它的方向向量A,否则获取方向向量S,任意段的S。

首先确定可能相交的部分:获取交叉产品A x DS x D并查看它的符号。正号表示您必须只检查与“左”段的交点,负号表示您必须检查与“右”段的交点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多