作者comt0928 (活在当下)
看板MATLAB
标题[问题] 椭圆旋转求短轴
时间Wed Apr 22 12:46:24 2015
一开始所有的红色顶点 求得convex hull
然後在利用convex hull的顶点想求得一个椭圆包围
在算出convex hull 顶点之间最长距离 为长轴长
然後用两顶点最长距离 算出椭圆中心点
扣除最长距离的两顶点 利用其他convex hull的顶点想求得短轴长
利用椭圆旋转公式:
X’=x’cosθ-y’sinθ
Y’=x’sinθ+y’cosθ
再利用椭圆方程式:
(x^2)/(a^2)+(y^2)/(b^2)=1
求得的b最长 就当作短轴长
可是求得的短轴长 都没办法适当的包住
如图:
http://imgur.com/OYbVWeH
问题困扰很久了 一直解决不掉 不知道是旋转公式出了问题 还是方程式哪里有错
没办法适当把convex hull 包起来
小弟不才 感谢有大大可以帮我解答...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.228.113
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1429677986.A.204.html
※ 编辑: comt0928 (111.243.228.113), 04/22/2015 12:47:31
1F:→ comt0928: 一PO文就解决了 QQ 04/22 14:45