poster
2019-12-10, 20:48
我有一条线,由参数m, h定义,其中
y = m*x + h 这条线穿过一个网格(即像素)。对于网格的每个正方形(a, b) (即正方形[a, a+1] x [b, b+1] ),我想确定给定的线是否穿过该正方形,如果是,正方形中线段的长度是多少?
最终,我希望能够一次用多行执行此操作(即, m和h是矢量,matlab风格),但是现在我们可以集中讨论“简单”情况。
我想出了如何确定线是否与正方形交叉的方法:
<ol>计算直线与垂直线x = a和x = a + 1以及水平线y = b和y = b + 1交点
检查这4个点中的2个是否在正方形边界上(即a
y = m*x + h 这条线穿过一个网格(即像素)。对于网格的每个正方形(a, b) (即正方形[a, a+1] x [b, b+1] ),我想确定给定的线是否穿过该正方形,如果是,正方形中线段的长度是多少?
最终,我希望能够一次用多行执行此操作(即, m和h是矢量,matlab风格),但是现在我们可以集中讨论“简单”情况。
我想出了如何确定线是否与正方形交叉的方法:
<ol>计算直线与垂直线x = a和x = a + 1以及水平线y = b和y = b + 1交点
检查这4个点中的2个是否在正方形边界上(即a