找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: 15152315475

[求助] 矩形和不规则矩形如何出面积公式如图

[复制链接]

已领礼包: 20个

财富等级: 恭喜发财

发表于 2019-4-17 21:39:22 | 显示全部楼层
aimisiyou 发表于 2019-4-17 21:30
拐点处做垂直水平线的直线,会与原封闭线有多个交点,如何选取呢?

交点从上到下排序,然后两两交点连线的中点如果不在多边形内,不连线,在的连线。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2019-4-17 21:42:53 | 显示全部楼层
aimisiyou 发表于 2019-4-17 21:30
拐点处做垂直水平线的直线,会与原封闭线有多个交点,如何选取呢?

搜狗截图20190417214226.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1861个

财富等级: 堆金积玉

发表于 2019-4-17 22:59:41 | 显示全部楼层
本帖最后由 aimisiyou 于 2019-4-17 23:03 编辑

这种情况不是有无穷个交点?描述要尽量考虑所有情况,这样才不会出错。
Screenshot_20190417-225554.jpg

点评

具体实现起来,好多种方法 把相邻两点角度是90度的,两两组成点表 '((p1 p2) (p3 p4) ......) 然后把上面表每组两个点到 多边形包围盒最左边的线 距离 排序, 距离相同的,在放个表里面。 上面每个表里面,你只  详情 回复 发表于 2019-4-17 23:36
怎么会有无穷多个交点呢? 试试 vla-intersectwith 函数,看看结果  详情 回复 发表于 2019-4-17 23:27
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2019-4-17 23:27:46 | 显示全部楼层
aimisiyou 发表于 2019-4-17 22:59
这种情况不是有无穷个交点?描述要尽量考虑所有情况,这样才不会出错。

怎么会有无穷多个交点呢?
试试 vla-intersectwith 函数,看看结果

点评

没用过这个函数,还以为重合一段直线,会无法得出交点。  详情 回复 发表于 2019-4-18 10:51
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2019-4-17 23:36:18 | 显示全部楼层
aimisiyou 发表于 2019-4-17 22:59
这种情况不是有无穷个交点?描述要尽量考虑所有情况,这样才不会出错。

具体实现起来,好多种方法

把相邻两点角度是90度的,两两组成点表 '((p1 p2) (p3 p4) ......)
然后把上面表每组两个点到 多边形包围盒最左边的线 距离 排序, 距离相同的,在放个表里面。
上面每个表里面,你只取一个 点对,求和多边形的交点(延伸),就是竖直的共线的,你只求一个

然后把上面求的交点排序(其实intersectwith结果就是排序的),然后把在多边形外面的不连线,里面的连线
交点都打断,然后REGION,就把所有的小矩形都得到了。

点评

region的前提是如何判断哪些线组成?感觉这一步有些复杂,图示很简单。  详情 回复 发表于 2019-4-18 16:17
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2019-4-18 00:02:35 | 显示全部楼层
不是这个专业的,看不太懂。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1861个

财富等级: 堆金积玉

发表于 2019-4-18 10:51:02 | 显示全部楼层
本帖最后由 aimisiyou 于 2019-4-18 11:12 编辑
newer 发表于 2019-4-17 23:27
怎么会有无穷多个交点呢?
试试 vla-intersectwith 函数,看看结果

没用过这个函数,还以为重合一段直线,会无法得出交点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1861个

财富等级: 堆金积玉

发表于 2019-4-18 12:48:54 | 显示全部楼层
本帖最后由 aimisiyou 于 2019-4-18 13:11 编辑
aimisiyou 发表于 2019-4-17 19:43
没想到第一步就卡住了。如图,如果已知平面上的一些点(各点有序号且它们连线可以构成一个横平竖直的“不规 ...

想了下,正确的算法如下:
1、将所有点按X轴从小到大排序(若X值相同,按Y从大到小排序),如图123,可得lst=(12,3,8,1,4,10,2,7,11,5,9,6);
2、从表中依次取2个点,构成点对,即lst1=((12,3)(8,1)(4,10)(2,7)(11,5)(9,6));
3、选取Y值最小然后在X轴上值最小的点为起点(如图点1);
4、从起点开始,选择X轴上离其最近的点为第二点(如图点6);
5、接着从lst1中选取与第二点配对的点为第三点(如图点9);
6、选取X轴上离第三点最近的点为第四点(如图点12);
……
依次进行下去。
即得到逆时针方向闭合的多段线(1,6,9,12,3,10,4,11,5,7,2,8)。
123.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1861个

财富等级: 堆金积玉

发表于 2019-4-18 16:17:07 | 显示全部楼层
newer 发表于 2019-4-17 23:36
具体实现起来,好多种方法

把相邻两点角度是90度的,两两组成点表 '((p1 p2) (p3 p4) ......)

region的前提是如何判断哪些线组成?感觉这一步有些复杂,图示很简单。

点评

不用判断,能组成REGION的,CAD自替你解决的。 不能组成的,你删除就是了  详情 回复 发表于 2019-4-18 16:36
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2019-4-18 16:36:30 | 显示全部楼层
aimisiyou 发表于 2019-4-18 16:17
region的前提是如何判断哪些线组成?感觉这一步有些复杂,图示很简单。

不用判断,能组成REGION的,CAD自替你解决的。
不能组成的,你删除就是了

点评

region函数不是要选择对象吗?说实话,图元操作我弄得比较少,不明白CAD自动替你解决是指啥?  详情 回复 发表于 2019-4-18 17:49
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1861个

财富等级: 堆金积玉

发表于 2019-4-18 17:49:32 | 显示全部楼层
XDSoft 发表于 2019-4-18 16:36
不用判断,能组成REGION的,CAD自替你解决的。
不能组成的,你删除就是了

region函数不是要选择对象吗?说实话,图元操作我弄得比较少,不明白CAD自动替你解决是指啥?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1861个

财富等级: 堆金积玉

发表于 2020-1-12 00:06:08 | 显示全部楼层
本帖最后由 aimisiyou 于 2020-1-12 00:11 编辑
marting 发表于 2019-4-17 21:20
拐点做垂直水平线的直线,变成封闭的区域,然后生成闭合区域,剩下就是各个矩形了

按点排序,连续的4点若是顺时针,就分割出一个矩形。如图所示,运气好时分的区域比纵向分的要少。
123.png
234.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1861个

财富等级: 堆金积玉

发表于 2020-1-12 13:19:39 | 显示全部楼层
本帖最后由 aimisiyou 于 2020-1-12 13:27 编辑

通过循环可得结果。算法如下:
1、从最左最低点(0号点)开始顺时针走完所有点,排序。
2、从1号点开始,若连续的四个点是按照顺时针方向且四点包含一个矩形,则分割出此矩形,调整后续点的序号;(构成矩形的条件是+--或--+或-++或++-)
3、返回1,重复运行;
4、直到剩下最后四点(最后的一个矩形),程序结束。
678.png
889.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2020-2-1 12:00:02 | 显示全部楼层
我这个有个软件适合你,你下载安装试试看。下载地址:https://pan.baidu.com/s/1JgNV5FlT8bxP0vuQneyP2w
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2020-2-1 12:05:44 | 显示全部楼层
我这个有个软件适合你,你下载安装试试看。下载地址:https://pan.baidu.com/s/1JgNV5FlT8bxP0vuQneyP2w
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-24 00:51 , Processed in 0.430638 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表