fcut2004 发表于 2012-8-31 13:05:56

T形 L形多义线顶点固定编号

本帖最后由 fcut2004 于 2012-8-31 13:06 编辑

墙柱大样中,T形 L形封闭多义线是常见的边缘构件形式,已知多义线的都是逆时针(顺时针),请问不管图形如何旋转,如何将他们的顶点都固定编号?

qjchen 发表于 2012-9-1 11:54:22

本帖最后由 qjchen 于 2012-9-1 11:55 编辑

假如是我来做的话
我可能会分别判断一下
1) 判断端点数,分开这两种类型
2) 对于L型,假设其顶点坐标为 V1,V2,V3,V4,V5,V6,V1 构造一个首尾相连的表
    那么判断Vn与Vn-1,Vn+1的距离(大于6的时候,从1开始重复),假如某顶点相邻两个距离之和最大,那么这点就是如图的第4点,就可以编号了
3) 对于T型,会麻烦一些,假设其顶点坐标为 V1,V2,V3,V4,V5,V6,V7,V8,V1
    那么判断Vn到Vn+1的方向和长度,判断Vn-1到Vn-2的方向和长度,那么由图2可见,只有在dis(Vn,Vn+1)<dis(Vn-2,Vn-1),且两个矢量方向相反的时候,这点就是第8点(因为8→1与6→7相反,且长度小于6,7间的距离,其他点不具备这样的特性)。那么8点的下一点就是1点了

fcut2004 发表于 2012-9-1 15:12:59

qjchen 发表于 2012-9-1 11:54 static/image/common/back.gif
假如是我来做的话
我可能会分别判断一下
1) 判断端点数,分开这两种类型


好的,多谢了。过几天有空时,试试。

Andyhon 发表于 2012-9-1 16:05:15

以形心为参考点若何?

fcut2004 发表于 2012-9-1 21:12:28

Andyhon 发表于 2012-9-1 16:05 static/image/common/back.gif
以形心为参考点若何?

形心没想过,我刚学lisp,准备按照上面陈老师的意见试试。

ljttjl 发表于 2012-9-1 23:19:28

本帖最后由 ljttjl 于 2012-9-1 23:23 编辑

网盘http://ljttjl.ys168.com2009-2试用程序及演示   20090805对多段线节点编号并提取其坐标程序下载试用程序bjzdg.vlx
以下演示为最新版程序,非试用程序bjzdg.vlx

fcut2004 发表于 2012-10-4 19:38:13

本帖最后由 fcut2004 于 2012-10-4 19:39 编辑

z形状的有什么办法固定编号呢?

fcut2004 发表于 2012-10-7 14:09:27

fcut2004 发表于 2012-10-4 19:38 static/image/common/back.gif
z形状的有什么办法固定编号呢?

图中点0、点 4 的间距是最大的。

fcut2004 发表于 2012-10-7 14:14:04

本帖最后由 fcut2004 于 2012-10-7 14:18 编辑

qjchen 发表于 2012-9-1 11:54 http://bbs.mjtd.com/static/image/common/back.gif
假如是我来做的话
我可能会分别判断一下
1) 判断端点数,分开这两种类型


T:把水平、竖直的线段分别分组dis1(l0 l2 l4 l6 ) dis2 (l1 l3 l5 l7);对于图中的L67=L81+L23+L45,即其中一组数组有这样的特性,这样就可以找出顶点6或者顶点7。

页: [1]
查看完整版本: T形 L形多义线顶点固定编号