R redcony Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-17 #1 有随机的一组点座标,要求沿着这组点的外轮廓画出一个封闭的多边形,除去在此多边形的 边界上的点外,所有的点都在多边形内。
W wus001 Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-17 #2 大家思考一下: 我有一想法,不知是否可行, 1. 先找出最右(或左,下,上)的点(x0,y0),再用极坐标的方法, 测式此点与各点的联机,其中角度变化最小的点(x1,y1),两点联机之 2. 再以该点为(x1,y1)为起点, 测式此点与各点(x0,y0除外)的联机,其中角度变化最 小的点(x2,y2),两点联机之 3. 以此类推,,每次减一个点,然后全部联机 注: 我没有实作,只是提供想法,你可以试试!!!
大家思考一下: 我有一想法,不知是否可行, 1. 先找出最右(或左,下,上)的点(x0,y0),再用极坐标的方法, 测式此点与各点的联机,其中角度变化最小的点(x1,y1),两点联机之 2. 再以该点为(x1,y1)为起点, 测式此点与各点(x0,y0除外)的联机,其中角度变化最 小的点(x2,y2),两点联机之 3. 以此类推,,每次减一个点,然后全部联机 注: 我没有实作,只是提供想法,你可以试试!!!
卷 卷起千堆雪tyn Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-20 #6 看来只好由我来解决了! to redcony : 其实象你的这类关于图形的问题,有一个特别的概念你需要掌握好,即“斜率”。 K=(Y2-Y1)/(X2-X1) 首先你要判断出Y坐标最大的点,如果不止一个,再在这些Y坐标最大的点中求出X坐标 最大的点,总之就是求出一个角点来作为基点! 然后,你判断其他所有点与基点的连线斜率,如果所有的斜率都大于0,则与基点连线斜率最大和 最小的2点应该与基点相连;如果斜率都小于0,同理;如果斜率有的大于0,有的小于0, 则大于0中斜率最小的点和小于0中斜率最大的点应该与基点相连。 如此,得到边界上的3点,然后以基点两侧的2个点为基点,再进行判断,最终就会得到 边界!
看来只好由我来解决了! to redcony : 其实象你的这类关于图形的问题,有一个特别的概念你需要掌握好,即“斜率”。 K=(Y2-Y1)/(X2-X1) 首先你要判断出Y坐标最大的点,如果不止一个,再在这些Y坐标最大的点中求出X坐标 最大的点,总之就是求出一个角点来作为基点! 然后,你判断其他所有点与基点的连线斜率,如果所有的斜率都大于0,则与基点连线斜率最大和 最小的2点应该与基点相连;如果斜率都小于0,同理;如果斜率有的大于0,有的小于0, 则大于0中斜率最小的点和小于0中斜率最大的点应该与基点相连。 如此,得到边界上的3点,然后以基点两侧的2个点为基点,再进行判断,最终就会得到 边界!