正在加载图片...
RCTO= RCT se则舍弃P1点 PIx=x RCTI= RCT X=( POX+ Plx)/2 y=( POy+ Ply)/2: RCT=En Code(x,y) rue Point[1]=x; Pointy]=y else Point[O=x 14编写一程序实现递次多边形裁剪算法 算法设计 (1)输入第一个顶点坐标:F(xO,y0) 第二个顶点坐标:S(x1,y1) (2)当顶点输入完毕,转(7) (3)输入顶点P坐标:P(x2,y2) (4)SP与裁剪线相交吗?是,求SP与裁剪线的交点I(x,y),并输出I坐标:I(x,y) (5)P位于可见一侧吗?是,输出顶点P坐标:P(x2,y2) (6)将顶点P坐标:P(x2,y2)=》顶点S坐标:S(x1,y1),转(2) (7)将顶点F坐标:F(xO,y0)=》顶点P坐标:S(x2,y2),形成闭合, (8)SP与裁剪线相交吗?是,求$P与裁剪线的交点I(x,y),并输出I坐标:I(x,y) (9)P位于可见一侧吗?是,输出顶点P坐标:P(x2,y2) (10)结束 程序代码: Sutherland- Hodgman算法 #define len sizeof (struct node)RCT0= RCT; } else //否则舍弃 P1 点 { P1x=x; P1y=y; RCT1= RCT; } x=( P0x+ P1x)/2; y=( P0y+ P1y)/2; RCT=EnCode(x,y); } if(flag==true) { Pointx[1]=x; Pointy[1]=y; } else { Pointx[0]=x; Pointy[0]=y; } } 14 编写一程序实现逐次多边形裁剪算法 算法设计: (1)输入第一个顶点坐标:F(x0,y0) 第二个顶点坐标:S(x1,y1) (2) 当顶点输入完毕,转(7) (3)输入顶点 P 坐标:P(x2,y2) (4)SP 与裁剪线相交吗?是,求 SP 与裁剪线的交点 I(x,y),并输出 I 坐标:I(x,y) (5)P 位于可见一侧吗?是,输出顶点 P 坐标:P(x2,y2) (6)将顶点 P 坐标:P(x2,y2)=》顶点 S 坐标:S(x1,y1),转(2) (7)将顶点 F 坐标:F(x0,y0)=》顶点 P 坐标:S(x2,y2),形成闭合, (8) SP 与裁剪线相交吗?是,求 SP 与裁剪线的交点 I(x,y),并输出 I 坐标:I(x,y) (9)P 位于可见一侧吗?是,输出顶点 P 坐标:P(x2,y2) (10)结束 程序代码: /* Sutherland-Hodgman 算法 */ #define LEN sizeof(struct node)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有