繁体   English   中英

三角形中的线段

[英]Line segment in a triangle

我们如何检查线段是否部分或全部落入三角形内?

干杯。

从线段的端点获取该线的功能。 检查此线与三角形的任意边相交的位置。

如果线段的任何部分在三角形内,则该线要么通过一侧,然后通过另一侧,要么将完全沿着三角形的一侧,并通过其两个角。

如果线穿过三角形,则将线与三角形边(或角)相交的点与线段的终点进行比较,以查看线段是否是与三角形相交的线的一部分。

为了检查一条线是否完全在三角形内,您需要检查线段的两个端点是否都位于三角形内。 可以使用此处介绍的技术来检查点是否在三角形内。

检查线段是否部分与三角形相交会更加复杂,因为检查其终点可能还不够。 存在部分相交的两种可能情况:

  1. 一个端点在三角形内部,而另一个端点不在三角形内
  2. 两个端点都在三角形的外部,但是线段至少与三角形的一侧交叉。

可以通过技术进行检查1.。 检查2.可以通过检查两个段是否相交的算法来完成。 如何做到这一点的一个例子在这里

如果线段的点之一在三角形的内部=>部分,如果两个都全部=>

当且仅当角度AOB,BOC,COA之和等于360度时,点O才在三角形内部。

干杯,

格列布

更好的算法如下:

为什么不这样做:

  • 如果线段的两个端点都在三角形的内部或上方,则线段必须在三角形的内部或内部。

要检查点是否在三角形内:

  • 站在该点,看一下三角形的每个顶点
  • 如果沿顺时针/逆时针方向查看每个顶点,那么您位于内部还是外部

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM