Advertisement

gridding vector points

阅读量:

八方向栅格化

  1. 确定直线端点所处的网格位置,并采用点的栅格化处理方式

  2. 对比直线在水平方向与垂直方向所跨越的网格数量

1)当水平方向跨越的网格数量较多时,依据水平方向网格列进行循环,计算出该列中心线与直线相交所对应的网格单元

2)当垂直方向跨越的网格数量较多时,依据垂直方向网格行进行循环,计算出该行中心线与直线相交所对应的网格单元

3)若线段AB的斜率无法确定,则按照行号进行循环处理,保持列号不变

  1. 生成并输出相应的栅格数据

点的栅格化

确定初始坐标点p0(x0,y0),随后依据点的栅格化计算方法,推导出对应位置的行与列信息。

公式如下:

I(行号)=(int)((xi-x0)/d)+1

J(列号)=(int)((yi-y0)/d)+1

求直线与栅格中心线的交点

采用数值微分法进行处理:

  1. 依据给定直线的两个端点,推导出该直线对应的微分方程

dy/dx=△y/△x=Y1-Y0/X1-X0=k

  1. 由于直线具有连续性,因此可以在当前坐标位置的基础上,分别增加两个微小的增量s*△x与s*△y(其中s为一个趋近于零的正数),从而计算出后续点(xi,yi)的具体坐标。

  2. 针对不同的情形进行分类分析:

  3. 当max(|△x |,|△y |)=|△x|时,即满足

全部评论 (0)

还没有任何评论哟~