作者changpolaris (挖勒是)
看板MATLAB
标题Re: [问题] Matlab很强大,但不知道能不能够解...
时间Sat Aug 18 11:00:26 2007
※ 引述《takmath (努力做到最好)》之铭言:
: Matlab很强大,但有一个问题却不知道MATLAB能不能够解决...步骤依序为下
: 1. 因为四点决定一个矩型面积,我给两组四点,也就是画出两个矩型面积
: 2. 让这两个面积重叠後做联集,而这两个矩型可以变成一个几何图形
: 3. 再给四点决定第三个矩型面积
: 4. 将第三个矩型面积与之前两个联集的集合图形做差集
: 5. 然後取出差集的面积值: 以上的问题,我爬文後,发现很少有人问这类的问题,所以提出来请教大家
你的这个问题其实就是封闭聚合线做布林运算,跟是不是矩形没有关系。
此类问题可试着去网路上计算机图学(CG)或地理资讯系统(GIS)的论坛爬文,
看有没有人写过相关函数(不一定是用matlab)
就我所知,matlab并没有现成的函数进行此类计算。
你可以试着由以下方向进行:
1.首先你必须有计算两条聚合线(假设为线A和线B)交点的函数
(所谓聚合线就是由多段直线段合成的折线啦..)
2.利用交点,你可以将线A分为两段,一段是被线B包含在内(称作Ain好了)
,一段是在线B面积外(称作Aout)
3.同理,线B也会分成两段,一段是被线A包含在内(Bin)
,一段是在线A面积外部(Bout)
4.则A+B=Aout+Bout
5.A-B=Aout+Bin
--------- Aout= --------- Bout= -----
| A | | | |
| ---------- | |
| | | | | | |
----|---- | ---- | |
| | | |
| B | Ain= | | |
| | ---- ----------
| | Bin= ----
---------- |
A+B= Aout+Bout
---------
| A |
| -----
| |
---- |
| |
| B |
| |
| |
----------
A-B=Aout+Bin
---------
| A |
| -----
| |
----|
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.121.11.10
1F:推 sunev:专业~~ 08/18 11:25
2F:推 ykjiang:让人印样深刻 :) 08/18 22:06