有人可以用C风格的伪代码告诉我如何编写一个函数(表示您喜欢的点),如果4点(函数的参数)形成一个矩形时返回true,否则返回false?

我想出了一个解决方案,该解决方案首先尝试找到x值相等的2对不同的点,然后对y轴执行此操作。但是代码很长。只是好奇地看看别人想出了什么。

最佳答案

  • 找到角点的质心:cx =(x1 + x2 + x3 + x4)/ 4,cy =(y1 + y2 + y3 + y4)/ 4
  • 测试质心到所有4个角的距离平方是否等于



  • (当然,在实践中当然应该以有限的精度测试两个浮点数a和b的相等性:例如abs(a-b)

    关于c - 查找平面上的4个点是否形成矩形?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2303278/

    10-11 18:20