乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 55|回复: 3

如何设置封闭polyline或者LWpolyline的第一个点啊!

[复制链接]

1

主题

7

帖子

2

银币

初来乍到

Rank: 1

铜币
11
发表于 2009-6-24 13:41:00 | 显示全部楼层 |阅读模式
我写了一个程序提取一个封闭多段线的坐标!由于我希望左上角为第一个点!然后按顺时针方向赋值,可是有很多封闭多段线都是它的起点可能是任何位置,而且还有可能是逆时针的!因此这样得出的结果不符合要求!如果有圆弧好像更不好解决!我想求各位大虾帮帮忙!在下感恩戴德!永世不忘!谢谢
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2009-6-25 21:01:00 | 显示全部楼层
把点取出来再排序,但怎样去判断哪个应该是第一个点,左上角,如果左上角有许多个点怎么办。
回复

使用道具 举报

0

主题

6

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2009-6-27 06:40:00 | 显示全部楼层

1、找出左上角:比较多段线上所有点x,y坐标,找出最小x,y,最大x,y,以最小最大xy为作水平方向
  上矩形,把多段线包在内部,计算多段线所有点到矩形左上角距离,找出距离最近那个点。这个点就
  是作为多段线的左上角(现在假设多段线第3点离矩形左上角最近)
2、把起点移到左上角:多段线上点是以数组方式依次排列的,第0点即起点。把多段线0点移到第1点,
   把第1点移到第2点,如些多次移动后产生新的多段线的第0点坐标与原来的第3点(第3点是离矩形左
  上角最近的点)重合,新的多段线的第1点坐标与原来的第4点重合,新的多段线的第2点坐标与原来
  的第5点重合,如些类推。
3、判断方向:把新生成点在左上角的多段线称之为α。比较多段线上所有点x,y坐标,找出最小x,y,最大
   x,y,以最小最大xy为作水平方向上矩形,把α包在内部。以矩形左上角右下角坐标作一条直线,
   与α相交,交点为A,B(交点可能为多个)。现在产生新多段线β,β与α是一样的,不同之处β抱含
   了点A,B所以β点列表依次可以表标为  第0点 第1点 第2点 第3点 第A点 第5点 第6点 第7点
   第B点 第9点 第10点 等等,如果A点到B点之间,第5点 第6点 第7点,大部分点落在直线AB右上
   角则判断为顺时针
   此判断方向方法不是100%有效,但我判断方向思路是这样的,你可以用类似思路或其它点线作参照
回复

使用道具 举报

1

主题

7

帖子

2

银币

初来乍到

Rank: 1

铜币
11
发表于 2009-9-9 13:12:00 | 显示全部楼层
thank you
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-2 00:48 , Processed in 1.271310 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表