乐筑天下

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

求助:如何找出封闭图形的最大水平距离??急

[复制链接]

4

主题

12

帖子

2

银币

初来乍到

Rank: 1

铜币
28
发表于 2005-7-21 10:13:00 | 显示全部楼层 |阅读模式
请教高手,如何找出封闭图形的最大水平距离??就是封闭图形与一水平线相交,相交的最大距离。急啊。
回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
448
发表于 2005-7-21 11:32:00 | 显示全部楼层
Obj.GetBoundingBox MinP, MaxP
回复

使用道具 举报

4

主题

12

帖子

2

银币

初来乍到

Rank: 1

铜币
28
发表于 2005-7-21 13:15:00 | 显示全部楼层

是封闭图形与一水平线相交,相交的最大距离呀. 这两个点在这个封闭图形中,必须x坐标相等啊。
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2005-7-22 13:39:00 | 显示全部楼层
我的解题思路:
将封闭图形的边界画成多段线,取多段线顶点,在各顶点画水平直线与多段线求交点。取出交点并与顶点形成多个四边形,通过一个函数,输入四个顶点求其最大水平距离,考察这个四边形,如果左右两边均是直线,最大距离可以通过两直线的斜率直接用公式算,如果为二次曲线,可能要用插值法求,可以利用几何知识去掉很多区间,例如两曲线都是外凸的话,所求点必然在两曲线中点之间。等等。三次曲线也一样的。
求出所有四边形的最大水平距离后,进行比较,就可以得出结果。
仅是构思,没有动手,楼主看看有否帮助。
回复

使用道具 举报

4

主题

12

帖子

2

银币

初来乍到

Rank: 1

铜币
28
发表于 2005-9-21 10:10:00 | 显示全部楼层
谢谢各位的解答。
回复

使用道具 举报

13

主题

107

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2005-9-21 11:02:00 | 显示全部楼层
也许这个程序能给你一点帮助,虽然他是LISP的

(DEFUN C:MJ ()
  (if (not (entlast))
    (progn
      (alert "老大图形里总得有点东西再用吧。")
      (exit)
      )
    )
(SETvar "CMDECHO" 0)
(SETQ TXTH (CDR (ASSOC 40 (TBLSEARCH "STYLE" (GETvar "CMLSTYLE")))))
(COMMAND ".UNDO" "BE")
(SETvar "CECOLOR" "1")
(WHILE (SETQ PT (GETPOINT "\nSelect a Point 选取点:"))
   (setq LastHand  (cdr(assoc 5 (entget (entlast)))))
   (COMMAND "BPOLY" PT "")
   (SETQ EN (ENTLAST))
   (IF (/= LastHand (cdr(assoc 5 (entget en)))) ;不等于才能说明已经有实体生成   
     (PROGN
       (COMMAND "AREA" "O" EN)
       (SETQ AA (GETvar "AREA"))
       (IF (> TXTH 0)
  (COMMAND "TEXT" PT 0 (RTOS AA 2 3))
  (COMMAND "TEXT" PT 3 0 (RTOS AA 2 3))
  )
       (ENTDEL EN)
       )
     (alert "你应该选择内部点,不然我不干。")
     )
   )
  (COMMAND ".UNDO" "E")
  (SETvar "CECOLOR" "BYLAYER")
  
  (PRIN1)
  )
(princ "\n虽然这个 MJ 的命令名总能让你想起‘麻将’但是我真的是用来计算面积的。\n\n")
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-4 13:38 , Processed in 1.432354 second(s), 64 queries .

© 2020-2025 乐筑天下

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