文件名称:沿着矩形边界裁剪线段-python读取mat文件并转为csv文件的实例
文件大小:9.75MB
文件格式:PDF
更新时间:2024-06-29 17:47:51
算法
图 5.7 沿着矩形边界裁剪线段 如何计算直线对线段的截断呢?如图 5.7所示,显示了线段与矩形的右边界的相交情况, 由相似三角形,可得 0 max 0 1 0 1 0 y y x x y y x x (5.3) 则有 max max 0 0 1 0 1 0 ( ) x x x x y y y y x x (5.4) 同理,可以计算出另外三条边界的相交情况,使用等式(5.4)计算交点时,可以保证两 个端点不在同一个区域,因此分母一定不为零。 Cohen-Sutherlad 线段裁剪算法的伪码如下所示: 求矩形对象 0 1 0 0 1 1 0 0 0 1 1 1 : ( , ) , ,R X t t C t e t e u t u u t u 对线段 0 1 P P 的裁剪 1. 令 INSIDE = 0000, LEFT = 0001, RIGHT = 0010, BOTTOM = 0100, TOP = 1000; 2. 0 0 0 0 0 1 (P ) , (P )x C e y C e ; 3. 1 1 0 1 1 1 (P ) , (P )x C e y C e ; 4. min 0 min 1 max 0 max 1 , , ,x u y u x u y u ; 5. code0 = computeCode(x0 , y0);