【问题标题】:Detect if a 3D point with radius is passed by a line of two 3D points? (C#)检测具有半径的 3D 点是否通过两个 3D 点的线? (C#)
【发布时间】:2021-07-11 11:07:23
【问题描述】:

我有三个 3D 点,只说 p1、p2 和 p3。我能够制作一条连接 p1 和 p2 的线。然后,p3 将在 p1 和 p2 之间但不共线。我想知道p3是否靠近这条线。如何检查?

【问题讨论】:

标签: c#


【解决方案1】:

二维

你只是在找到一个三角形的高度。幸运的是,您可以立即搜索公式:

https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line

3D

同样,该公式已广泛使用

https://mathworld.wolfram.com/Point-LineDistance3-Dimensional.html

一般..

这是所有游戏程序员必须牢记的圣经!

http://amazon.com/Mathematics-Programming-Computer-Graphics-Third/dp/1435458869

【讨论】:

  • 请不要将代码(在这种情况下为公式)发布为图像。此外,OP 有 3D 问题,引用的公式是 2D。 OP 获得 3D 推导可能很有用。
  • @AKX - 我真的不知道如何在这里发布这样的公式!也许有人可以编辑它。
  • @Fattie 谢谢哥们,它正在工作。我不是游戏开发者:D。
猜你喜欢
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多