查看单个帖子
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何获得穿过正方形的线段的长度?

我有一条线,由参数m, h定义,其中

y = m*x + h 这条线穿过一个网格(即像素)。对于网格的每个正方形(a, b) (即正方形[a, a+1] x [b, b+1] ),我想确定给定的线是否穿过该正方形,如果是,正方形中线段的长度是多少?

最终,我希望能够一次用多行执行此操作(即, m和h是矢量,matlab风格),但是现在我们可以集中讨论“简单”情况。

我想出了如何确定线是否与正方形交叉的方法:

    计算直线与垂直线x = a和x = a + 1以及水平线y = b和y = b + 1交点
    检查这4个点中的2个是否在正方形边界上(即a
poster 当前离线   回复时引用此帖