乐筑天下

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

紧急求助!!

[复制链接]

3

主题

24

帖子

1

银币

初来乍到

Rank: 1

铜币
36
发表于 2005-1-1 19:46:00 | 显示全部楼层 |阅读模式
大家新年好!
                         我有两问题紧急求助:
                                 1、如何确定一个点在一个区域内,特别是不规则的多边形
                                         2、如何求一个点到直线的距离。
         谢谢各位
回复

使用道具 举报

20

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2005-1-2 13:50:00 | 显示全部楼层
第1 我也问过,你先看看吧
第2 我也想知道哦 : )
回复

使用道具 举报

3

主题

24

帖子

1

银币

初来乍到

Rank: 1

铜币
36
发表于 2005-1-2 20:43:00 | 显示全部楼层
谢谢!我已经解决了
Public Function Fun点在指定区域内(ByVal ePnt As Variant, ByVal objPnt As AcadEntity) As Boolean
                         Dim L As Integer, I As Integer, xPnt As Variant, sPnt(2) As Double, iPnt As Variant, xLine As AcadLine
                         sPnt(0) = -99999: sPnt(1) = -99999
                         Set xLine = ThisDrawing.ModelSpace.AddLine(sPnt, ePnt)
                         xPnt = objPnt.IntersectWith(xLine, acExtendNone)
                         xLine.Delete: I = UBound(xPnt)
                         I = Int(I / 3) + 1
                         L = I - Int(I / 2) * 2
                         If L = 0 Then Fun点在指定区域内 = False Else Fun点在指定区域内 = True
End Function
回复

使用道具 举报

34

主题

372

帖子

7

银币

中流砥柱

Rank: 25

铜币
508
发表于 2005-1-2 23:26:00 | 显示全部楼层
(1)你的解决方案可能不够全面,如果点在多边形外面,有可能会跟在其内部得到的交点一致;
最后用射线多做几个角度,分别检测交点。
(2)用数学的方法来计算吧。
回复

使用道具 举报

12

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
94
发表于 2005-1-3 07:34:00 | 显示全部楼层
(2)如果你只想求点到直线的距离,可以用三角形面积法:
点到直线的距离=(三条边长求出的面积)/直线边长*2
回复

使用道具 举报

20

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2005-1-3 16:57:00 | 显示全部楼层
tfyyf送你花一朵呵呵
回复

使用道具 举报

55

主题

282

帖子

5

银币

中流砥柱

Rank: 25

铜币
502
发表于 2005-1-4 15:38:00 | 显示全部楼层
判断点a是否在n边形内,可以先将n边形的各顶点排好顺序,顺时针或逆时针都可以,然后将a点和n边形各个顶点连结起来,这样就形成n个以点a为顶点的三角形了,如果各三角形顶角之和为360度,则点a在n边形内,否则点a在n边形外!
不知道这个方法是不是最简单的!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-16 16:18 , Processed in 0.963906 second(s), 67 queries .

© 2020-2025 乐筑天下

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