【发布时间】:2013-11-27 14:30:02
【问题描述】:
所以,我有一个分为两个三角形的矩形,我有一个点:
我知道矩形的四个顶点(A、B、C和D)的坐标,我知道P的坐标。我需要知道的是两个三角形中的哪个是点。
我认为这是一件非常简单的事情,但显然我自己无法弄清楚。
有什么帮助吗?
【问题讨论】:
标签: coordinates rectangles diagonal
所以,我有一个分为两个三角形的矩形,我有一个点:
我知道矩形的四个顶点(A、B、C和D)的坐标,我知道P的坐标。我需要知道的是两个三角形中的哪个是点。
我认为这是一件非常简单的事情,但显然我自己无法弄清楚。
有什么帮助吗?
【问题讨论】:
标签: coordinates rectangles diagonal
有几种方法可以解决这个问题。但最简单和最直接的方法是检查斜率。
例如,如果斜率 AP 小于斜率 AD,则点 P 高于 AD 线,反之亦然。如果斜率相同,则在同一条线上。
编辑:
假设如下
A -> (0,3)
B -> (3,3)
C -> (0,0)
D -> (3,0)
那么斜率AD 是(3-0)/(3-0) = 1。假设P在(2,2),那么斜率AP就是(2-3)/(2-0) = -1/2。
我们有AD > AP,因此点P 必须高于线AD。请注意,点 P 需要穿过 AD 才能低于该线,因此斜率会发生变化。
【讨论】:
您可以考虑向量 AP 和向量 AD。计算这两个向量的叉积。叉积的符号会告诉你点在对角线的哪一边。
【讨论】: