求凸包
在LISP如何一个求物体的凸包哦, 什么是凸包? 就是包围物体的最大凸集 对不起,错了,应该是包围物体的最小凸集 如果是一条直线,它的凸包是什么?(图示一下) <A name=5365><FONT color=#000066><B>manjiaju</B></FONT></A>;你说的凸集是数学中的凸集么?如:[ 1 10]么?是包含首尾在内的所有元素么? 直线段的凸集就是它本身,直观地说,如果在平面上有几个钉子,你用一根橡皮筋套在外面,绷紧后的多边形就是这个点集的凸包 1:点归入选择集ss0,先取出最左点P1,最上点P2,最右点P3,最下点P4四个关键点,P1P2左上角归入集ss1,P2P3右上角归入集ss2,P3P4右下角归入集ss3,P3P4左下角归入集ss4,把p1,p2,p3,p4点围成的区域内的点移出选择集,2:[在ss1取出最左点P11,把p1,p2,p11点围成的区域内的点移出选择集ss1],重复[****]步调直到ss1为nil,
3:[在ss2取出最上点P21,把p2,p3,p21点围成的区域内的点移出选择集ss2],重复[****]步调直到ss2为nil,
4:[在ss3取出最上点P31,把p3,p4,p31点围成的区域内的点移出选择集ss3],重复[****]步调直到ss3为nil,
4:[在ss4取出最上点P41,把p4,p1,p41点围成的区域内的点移出选择集ss4],重复[****]步调直到ss4为nil,
5:把P1-->历次P11-->P2-->历次P21-->P3-->历次P31-->P4-->历次P41-->P1围起来即成你要的凸包线。 应为 : 1:点归入选择集ss0,先取出最左点P1,最上点P2,最右点P3,最下点P4四个关键点,P1P2左上角归入集ss1,<BR>P2P3右上角归入集ss2,P3P4右下角归入集ss3,P3P4左下角归入集ss4,把p1,p2,p3,p4点围成的区域内的<BR>点移出选择集,<BR>2:[在ss1取出最左点P11,把p1,p2,p11点围成的区域内的点移出选择集ss1],重复[****]步调直到ss1为nil,<BR>3:[在ss2取出最上点P21,把p2,p3,p21点围成的区域内的点移出选择集ss2],重复[****]步调直到ss2为nil,<BR>4:[在ss3取出最右点P31,把p3,p4,p31点围成的区域内的点移出选择集ss3],重复[****]步调直到ss3为nil,<BR>5:[在ss4取出最下点P41,把p4,p1,p41点围成的区域内的点移出选择集ss4],重复[****]步调直到ss4为nil,<BR>6:把P1-->历次P11-->P2-->历次P21-->P3-->历次P31-->P4-->历次P41-->P1围起来即成你要的凸包线。 我想楼主的意思是要求一般物体的凸包,并非单指点集
页:
[1]
2