Geometry 常见几何图形如矩形、正方形、圆形、三角形的充分条件是什么?以及如何以编程方式检查它?

Geometry 常见几何图形如矩形、正方形、圆形、三角形的充分条件是什么?以及如何以编程方式检查它?,geometry,Geometry,例如,给定4个点,我至少很难检查它们是否形成一个矩形,因为编写代码来证明两条边之间的90度是不容易的 你会怎么做?你的想法是什么?给出:4分a、b、c、d 需要:检查它们是否形成矩形 找到如下坐标差: BAx = B.x - A.x 检查后续三条边的点积是否为零真垂直向量: function IsPerp(A,B,C,D) return ((BAx * CBx + BAy * CBy == 0) && (CBx * DCx + CBy * DCy

例如,给定4个点,我至少很难检查它们是否形成一个矩形,因为编写代码来证明两条边之间的90度是不容易的

你会怎么做?你的想法是什么?

给出:4分a、b、c、d 需要:检查它们是否形成矩形

找到如下坐标差:

BAx = B.x - A.x
检查后续三条边的点积是否为零真垂直向量:

function IsPerp(A,B,C,D) 
   return ((BAx * CBx + BAy * CBy == 0) && 
          (CBx * DCx + CBy * DCy == 0) && 
          (DCx * ADx + DCy * ADy == 0))
但请注意,顶点的顺序可能不正确,因此我们检查了三种变体。为了避免类似于之字形的顺序,对它们进行良好排序要比对它们进行良好排序简单:

IsRectangle = IsPerp(a,b,c,d) || IsPerp(a,b,d,c) || IsPerp(a,d,b,c)  

这个问题太笼统了。使用点标量积和正确的顶点顺序检查矩形并不难。介意分享一个例子吗?比如说,给定4点,我如何检查它是否为矩形?