家园首页· 下载中心· 图纸中心· 文章中心· 教学中心· 晓东词典· 资源中心· FTP联盟· 校友录· 邮购服务
   论坛首页免费注册个人设置帮助退出论坛 爱心币规则  快速链接 游乐园  

  为改善网站速度,本站接受大家捐款,共建家园,点击查看汇款方法和捐款朋友名单...


晓东CAD家园 : Powered by vBulletin version 2.2.1 家园首页 >> 家园论坛 > …编程开发版块 > ※AutoLISP/VLISP 开发技术※ > [求助]:过一不规则图形的一点,怎么平分这个图形面积?
总页数(2): 12   上一主题   下一主题
作者
主题 发布新主题    回复主题
lhj743 [查找更多关于lhj743的帖子]
超级会员
ID:135094 发贴数: 413
经验值: 90%
等级: 18 级积分: -1
现金:25¥ 存款:265¥
注册日期: 2004.05.09
日均在线:
0.17 小时
来  自: 广东汕头
1楼楼主说:[求助]:过一不规则图形的一点,怎么平分这个图形面积?

由于这边的人讲究风水,
有些东西必须放在地块面积等分线上。
哪个高手能把这个问题解决一下?



向版主反映该贴 | IP: 已记录



有忙大家帮!!
------------------------
突破if7层限制实例
http://www.xdcad.net/forum/showthre...y=&pagenumber=1

2005年09月13日 06:41
lhj743 离线引用回复 点这里给 lhj743 发送一条悄悄话 查找 lhj743 的更多帖子 编辑/删除
littlecong [查找更多关于littlecong的帖子]
高级会员


ID: No.229925
发贴数: 132

经验值: 53%
等级: 10 级

现金:95¥
存款:

积分: 0
注册日期: 2005.03.21
日均在线: 0.04 小时
来  自:
2楼楼主说:

你的一点是什么点?



向版主反映该贴 | IP: 已记录



勤劳的初学者,疯狂的学习中

2005年09月14日 03:57
littlecong 离线引用回复 点这里给 littlecong 发送一条悄悄话 查找 littlecong 的更多帖子 编辑/删除
lhj743 [查找更多关于lhj743的帖子]
超级会员
ID:135094 发贴数: 413
经验值: 90%
等级: 18 级积分: -1
现金:25¥ 存款:265¥
注册日期: 2004.05.09
日均在线:
0.17 小时
来  自: 广东汕头
3楼楼主说:

回复:
最初由 littlecong 发布
你的一点是什么点?

这一点是图形上的任一一点!
比如面域或者封闭界限内的任一一点!



向版主反映该贴 | IP: 已记录



有忙大家帮!!
------------------------
突破if7层限制实例
http://www.xdcad.net/forum/showthre...y=&pagenumber=1

2005年09月15日 03:10
lhj743 离线引用回复 点这里给 lhj743 发送一条悄悄话 查找 lhj743 的更多帖子 编辑/删除
snoopychen [查找更多关于snoopychen的帖子]积分28
超级会员


ID: No.8476
发贴数: 365

经验值: 82%
等级: 17 级

现金:633¥
存款:

积分: 28
注册日期: 2002.08.04
日均在线: 0.31 小时
来  自:
4楼楼主说:

下面是一个测试程序,纯粹抛砖引玉:),请高手帮忙改进
作用,画出面积平分线


;;by snoopychen ,Guangzhou
;;找出过区域内某点的某封闭区域的面积平分线测试版


;;main program
(defun c:test ()
  (
setvar "osmode" 0)
  (
command "undo" "BE")
  (
setq pa (getpoint "域内一点"))
  (
setq dis (getdist "区域内部最窄处的大概距离"))
;  (
setq lstarea nil)
  (
setq areaall (mj pa))
  (
setq n 16 te nil)
  (
setq lstres (rep 0.0 360.000000000))
  (while (=
te nil)
    (
setq ang_s (caddr lstres))
    (
setq ang_all (cadddr lstres))
    (
setq lstres (rep ang_s ang_all))
    (if (< (
cadr lstres) 0.01)
      (
progn
    
(setq te 1)
    (
command "xline" "a" (caddr lstres) pa "")
      )
    )
  )
  (
command "undo" "E")
)

;;
根据16分或者n分求出割线某一边的面积离总面积一般最接近的位置
(defun rep (ang-s ang-all / i ang-i ssxl pa90)
  (
setq lstarea nil i 0)
  (
repeat n
    
(setq ang-i (+ (- ang-s (/ ang-all 2)) (* (/ ang-all n) i)))
    
    (
command "xline" "a" ang-i pa "")
    (
setq ssxl (ssget "l"))
    (
setq pa90 (polar pa (+ (DTR ang-i) (* pi 0.5)) (/ dis 3)))
    (
grdraw (list 0 0 0) pa90 1)
    (
setq mj1 (mj pa90))
    (
setq lstarea (append
            lstarea
            
(list mj1)
          )
    )
    (
command "erase" ssxl "")
    (
grdraw (list 0 0 0) pa90 0)
    (
setq i (1+ i))
  )
  (
setq lstarea1 (mapcar
           
'(lambda (x)
              (abs (- (/ areaall 2) x))
            )
           lstarea
         )
  )
  (setq index (min-index-list lstarea1))
  (setq indexarea (nth index lstarea1))
  (setq indexangle (+ (- ang-s (/ ang-all 2)) (* (/ ang-all n) index)))
  (setq allangle (* (/ ang-all n) 2))
  (list index indexarea indexangle allangle)
)

;;域内求面积
(defun mj (point / a)               
  (command "bpoly" point "" "y")
  (command "region" "l" "")
  (command "area" "o" "l")
  (command "erase" "l" "")
  (prompt "\n the area is ")
  (setq a (getvar "area"))
  a
)

;;找出表最小值项所处位置
(defun min-index-list (lst / a b flag i)
  (setq a (nth 0 lst)
    i 0
    flag 0
  )
  (while (< i (length lst))
    (setq b (nth i lst))
    (if (< b a)
      (setq a b
        flag i
      )
    )
    (setq i (1+ i))
  )
  flag
)


;角度到弧度
(defun DTR (d)
  (* pi (/ d 180.0))
)


缺点不少,大概有
1.命令行中提示太多,效率很低,不知道有什么好的子程序来求面积
2.容错功能没有怎么作
3.因为是自动查找boundary找面积,所要划分的区域不能有
其他实体,要选择的点最好先用point画出。
4.只能针对域内的点,因为点假如在域外,思路不一样的
5.对于有多个面积平分线,比如正多边形,没法求出多条平分线
6.由于编程技术比较差,程序比较罗嗦



说明:

编程的思路:比较直接,硬来的,先用16分线,或者更多
割图形,求出某一边的面积,总有一个和真正的半面积最解决
于是,再在这个角度附近,进行再搜索,直到找到精确(<0.1)的为止。

里面有一个叫“区域内部最窄处的大概距离”,是因为boundary建立
时候经常会出错而定的。



snoopychen 附带了这个的图片 (这个图片经过缩小处理,鼠标滚轮缩放图片或点击图片可以查看清晰效果) :

斑竹加积分:1   by eachy
向版主反映该贴 | IP: 已记录



结构分析、CAD Autolisp技术、软件使用技巧
http://qjchen.yo2.cn

2005年09月15日 08:07
snoopychen 离线引用回复 点这里给 snoopychen 发送一条悄悄话 查找 snoopychen 的更多帖子 编辑/删除
XWT670530 [查找更多关于XWT670530的帖子]
超级会员


ID: No.171656
发贴数: 400

经验值: 61%
等级: 18 级

现金:96¥
存款:353¥

积分: 1
注册日期: 2004.09.03
日均在线: 0.11 小时
来  自: 江西南昌
5楼楼主说:

有这么麻烦吗?在CAD中不是可以查到一个平面图的重心吗???
先用多义线勾出这个图,再形成面域,查询他的属性啊?找到质心,再将己知点与这个质心相连就可以啊@@@



向版主反映该贴 | IP: 已记录



下载最美丽的秋色图
精美的狮子图看看
传奇动物DWG下载
我要下载
我要下载
400个精美的龙图我要下载
精美凤图200个

由 XWT670530 于 2005年09月15日 15:25 最后编辑

2005年09月15日 15:20
XWT670530 离线引用回复 点这里给 XWT670530 发送一条悄悄话 查找 XWT670530 的更多帖子 编辑/删除
snoopychen [查找更多关于snoopychen的帖子]积分28
超级会员


ID: No.8476
发贴数: 365

经验值: 82%
等级: 17 级

现金:633¥
存款:

积分: 28
注册日期: 2002.08.04
日均在线: 0.31 小时
来  自:
6楼楼主说:

不一定是通过形心的



snoopychen 附带了这个的图片 (这个图片经过缩小处理,鼠标滚轮缩放图片或点击图片可以查看清晰效果) :

向版主反映该贴 | IP: 已记录



结构分析、CAD Autolisp技术、软件使用技巧
http://qjchen.yo2.cn

2005年09月16日 00:38
snoopychen 离线引用回复 点这里给 snoopychen 发送一条悄悄话 查找 snoopychen 的更多帖子 编辑/删除
狂刀 [查找更多关于狂刀的帖子]等级30
白银长老


ID: No.194606
发贴数: 1191

经验值: 10%
等级: 30 级

现金:1589¥
存款:

积分: 6
注册日期: 2004.11.19
日均在线: 0.29 小时
来  自:
7楼楼主说:

好像不一定有唯一解



向版主反映该贴 | IP: 已记录




删除多义线的指定param参数顶点
显示隐藏工具条开关程序
表格诸列中点的坐标值
取曲线上特定测量点或等分点
框选删除不等比块内实体的程序
ini格式文件读取函数
模拟特性匹配的选择方式,支持undo
自由剪切TRIM(一),多功能
自由剪切TRIM(二),方便快捷
member反效函数
定距离倒角
校正水平,垂直直线
删除文本中所有括号
按字母/数字分解字符串
全能更改字高程序
求曲线内部任意一点
超级反剪切
全能更改字高程序

2005年11月13日 12:47
狂刀 离线引用回复 点这里给 狂刀 发送一条悄悄话 查找 狂刀 的更多帖子 编辑/删除
snoopychen [查找更多关于snoopychen的帖子]积分28
超级会员


ID: No.8476
发贴数: 365

经验值: 82%
等级: 17 级

现金:633¥
存款:

积分: 28
注册日期: 2002.08.04
日均在线: 0.31 小时
来  自:
8楼楼主说:

对,假如是正多边形的话应该有比较多的解,圆形有无数解
不知道其他情况下多于两个解的会有什么其他几何特征

这个网站是刚刚找到的,似乎他的程序功能挺全的
http://www.geometricad.com/app.php?id=3&lang=en



向版主反映该贴 | IP: 已记录



结构分析、CAD Autolisp技术、软件使用技巧
http://qjchen.yo2.cn

由 snoopychen 于 2005年11月13日 14:10 最后编辑

2005年11月13日 13:27
snoopychen 离线引用回复 点这里给 snoopychen 发送一条悄悄话 查找 snoopychen 的更多帖子 编辑/删除
xiao_longxin [查找更多关于xiao_longxin的帖子]
超级会员


ID: No.224081
发贴数: 382

经验值: 21%
等级: 18 级

现金:271¥
存款:200¥

积分: 5
注册日期: 2005.03.09
日均在线: 0.24 小时
来  自: 杭州
9楼楼主说:

楼主应该说明一下,你对什么样的解有兴趣,才能有针对的编程



向版主反映该贴 | IP: 已记录



举一要反三
触类要旁通

2005年11月13日 16:01
xiao_longxin 离线引用回复 点这里给 xiao_longxin 发送一条悄悄话 查找 xiao_longxin 的更多帖子 编辑/删除
WHGF [查找更多关于WHGF的帖子]
超级会员


ID: No.253149
发贴数: 401

经验值: 63%
等级: 18 级

现金:34¥
存款:2540¥

积分: 1
注册日期: 2005.05.02
日均在线: 3.71 小时
来  自: 长春市
10楼楼主说:

中心可以确定,质心不好确定,特别是凹多边形



向版主反映该贴 | IP: 已记录



雾海孤帆
Spline 线转 Polyline 和 Polypline线抽稀(“减肥”)

2005年11月14日 01:43
WHGF 离线引用回复 点这里给 WHGF 发送一条悄悄话 查找 WHGF 的更多帖子 编辑/删除
xiao_longxin [查找更多关于xiao_longxin的帖子]
超级会员


ID: No.224081
发贴数: 382

经验值: 21%
等级: 18 级

现金:271¥
存款:200¥

积分: 5
注册日期: 2005.03.09
日均在线: 0.24 小时
来  自: 杭州
11楼楼主说:

回复:
最初由 WHGF 发布
中心可以确定,质心不好确定,特别是凹多边形

应该是质心好确定,中心不好确定吧??



向版主反映该贴 | IP: 已记录



举一要反三
触类要旁通

2005年11月14日 05:30
xiao_longxin 离线引用回复 点这里给 xiao_longxin 发送一条悄悄话 查找 xiao_longxin 的更多帖子 编辑/删除
小飞侠爱你 [查找更多关于小飞侠爱你的帖子]
高级会员


ID: No.167789
发贴数: 178

经验值: 39%
等级: 12 级

现金:60¥
存款:5¥

积分: 0
注册日期: 2004.08.20
日均在线: 0.18 小时
来  自:
12楼楼主说:

面积的平分是不是质心有点关系!!,我证明不出来,,郁闷...



向版主反映该贴 | IP: 已记录


2005年11月14日 09:48
小飞侠爱你 离线引用回复 点这里给 小飞侠爱你 发送一条悄悄话 查找 小飞侠爱你 的更多帖子 编辑/删除
doswin [查找更多关于doswin的帖子]
初级会员


ID: No.349623
发贴数: 14

经验值: 50%
等级: 2 级

现金:16¥
存款:

积分: 0
注册日期: 2005.11.11
日均在线: 0.01 小时
来  自:
13楼楼主说:

面积的平分和质心没关系!



向版主反映该贴 | IP: 已记录


2005年11月14日 14:42
doswin 离线引用回复 点这里给 doswin 发送一条悄悄话 查找 doswin 的更多帖子 编辑/删除
舟自横 [查找更多关于舟自横的帖子]
超级会员


ID: No.215173
发贴数: 349

经验值: 44%
等级: 17 级

现金:230¥
存款:200¥

积分: 9
注册日期: 2005.01.29
日均在线: 0.20 小时
来  自:
14楼楼主说:

其实不知道大家有没有考虑也有无解的情况呢?
比如特殊凹多边形...



向版主反映该贴 | IP: 已记录



独钓寒江雪

2005年11月14日 15:08
舟自横 离线引用回复 点这里给 舟自横 发送一条悄悄话 查找 舟自横 的更多帖子 编辑/删除
xyp1964 [查找更多关于xyp1964的帖子]等级46
斑竹


ID: No.150516
发贴数: 3709

经验值: 47%
等级: 46 级

现金:924¥
存款:12345¥

积分: 16
注册日期: 2004.06.17
日均在线: 0.92 小时
来  自:
15楼楼主说:

回复:
最初由 舟自横 发布
其实不知道大家有没有考虑也有无解的情况呢?
比如特殊凹多边形...

好像不可能无解!



向版主反映该贴 | IP: 已记录



xyp1964@sina.com 编程坊(程序下载) CAD编程QQ群:24942984

2005年11月14日 15:21
xyp1964 离线引用回复 点这里给 xyp1964 发送一条悄悄话 查找 xyp1964 的更多帖子 编辑/删除
时区: GMT北京时间. 现在时间: 11:47. 发布新主题    回复主题 
总页数(2): 12  上一主题   下一主题
快速回复 [字数限制(为0不限制):0]
标题:
选项:
自动分析URL
Email 通知
显示签名

在新主题帖子中上传一个附件上传附件[最大: 1024000 字节:] 附件收爱心币!
有效文件扩展名: gif jpg dwf pdf txt zip jpeg lsp dcl doc c cpp swf rar 7z png
显示可打印版本 | 将本页发送给朋友 | 订阅该主题 | 添加到收藏夹

论坛跳转:
给这个主题评分:

论坛状态:
你不可以发布新主题
你不可以回复主题
你不可以上传附件
你不可以编辑自己的帖子
HTML代码 允许
vB代码 允许
表情符号 禁止
[IMG]代码 允许
 

< 管理员信箱 --辽ICP备05017898号 >
MSN:ad@xdcad.net 点击这里给我发消息 

本论坛属于个人性质的论坛,仅提供会员交流!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律有抵触的言论!否则后果自负