假设一个二维网格,左上角的单元格为 (0, 0)。选择任意两个点/坐标并在每个点上绘制对角线和对角线。它们可能在网格内部或外部相交。
在附图中,红线是两个点 (300, 200) 和 (700, 800) 的对角线。
如何找出对角线交叉点的坐标?另外,如果直线的斜率为负,公式会有什么不同?
我将在需要高度优化的算法中使用它,因此正确的答案将是最快的计算方式。我不确定这是否可以在没有三角函数的情况下完成。
注意: 请记住,红线是真正的对角线/对角线对。换句话说,它们与矩形成 45 度角。这可能会或可能不会帮助选择比矢量计算更优化的公式。