|
将若干个点缩减。
例如可以将一个矩形缩减成四个顶点。
变量名 | 类 型 | 静态 | 数组 | 备 注 | 新轮廓点 | 点坐标 | | 0 | 局_flag | 逻辑型 | | | 当前直线 | 直线方程 | | | 新索引 | 整数型 | | 0 | head | 整数型 | | | i | 整数型 | | | 重定义数组 (新索引, 假, 取数组成员数 (轮廓点 )) head = 1 新索引 [head ] = 1 变量循环首 (2, 取数组成员数 (轮廓点 ), 1, i ) 如果 (局_flag = 假)  局_flag = 真   当前直线 = 求平面直线方程 (轮廓点 [i - 1 ], 轮廓点 [i ])  head = head + 1   新索引 [head ] = i   如果 (点在直线上 (当前直线, 轮廓点 [i ]))    新索引 [head ] = i    当前直线 = 求平面直线方程 (轮廓点 [i - 1 ], 轮廓点 [i ])   head = head + 1    新索引 [head ] = i      变量循环尾 ()重定义数组 (新索引, 真, head )重定义数组 (新轮廓点, 假, head ) 计次循环首 (head, i ) 新轮廓点 [i ] = 轮廓点 [新索引 [i ]] 计次循环尾 ()轮廓点 = 新轮廓点 返回 (直线方程.a × 点.x + 直线方程.b × 点.y + 直线方程.c = 0 ) 如果 (点1.x = 点2.x 且 点1.y = 点2.y ) 返回 (制直线方程 (, , ))  如果 (点1.x = 点2.x 且 点1.y ≠ 点2.y ) 返回 (制直线方程 (1, 0, -点1.x ))   如果 (点1.x ≠ 点2.x 且 点1.y = 点2.y )  返回 (制直线方程 (0, 1, -点1.y ))    如果真 (点1.x ≠ 点2.x 且 点1.y ≠ 点2.y )  返回 (制直线方程 (点2.y - 点1.y, 点1.x - 点2.x, 点1.y � � (点2.x - 点1.x ) - 点1.x � � (点2.y - 点1.y )) )       返回 (制直线方程 (, , ))|
制直线方程 | 直线方程 | | |
a | 双精度小数型 | | | | b | 双精度小数型 | | | | c | 双精度小数型 | | | |
返回值.a = a 返回值.b = b 返回值.c = c 返回 (返回值 )
|
|