假设一个左上角单元格为(0,0)的二维网格。选取任意两个点/坐标,并在每个坐标上绘制对角线和反对角线。它们可以在网格内部或外部相交。C中二维平面上对角线的交点相交#
在附图中,红线是两点(300,200)和(700,800)的对角线。
如何找出对角线交点的坐标?另外,如果线的斜率为负值,公式会有何不同?
我会在需要高度优化的算法中使用它,所以正确的答案将是最快的计算方法。我不确定这是否可以在没有三角法的情况下完成。
注意: 请记住,红线是一个真正的对角线/反对角线对。换句话说,它们与矩形成45度角。这可能有助于选择比矢量计算更优化的公式。
闻起来像功课吗? :) – 2012-07-30 18:15:34
@Trikks:这不是作业。它正在努力解决这个问题。这是一个生产应用程序。 – 2012-07-30 18:38:09