2011-09-22 77 views
6

上下文:我試圖將地形圖裁剪成圍繞多個風力渦輪機的最小尺寸橢圓,以最小化地圖的大小。執行此映射裁剪的程序可以用橢圓形進行裁剪,但只有橢圓軸的x軸和y軸對齊。限制水平/垂直軸的邊界橢圓

我知道algorithm for the bounding ellipse problem(找到包圍一組點的最小面積的橢圓)。

但是,我該如何限制這個算法(或者製作一個不同的算法),使得所得到的橢圓需要水平或垂直地定向其主軸,無論哪個給出最小的橢圓 - 並且從不以某個角度?

enter image description here

當然,這種約束使得生成的橢圓大於它「需要」是包圍所有的點,但是這是約束仍然。

+0

以及如何使算法更一般:允許更多的橢圓和尋找具有最高信息標準(相當於最小的AIC值)的解決方案? – TMS

回答

2

該算法描述here(在你提供的鏈接所引用)爲約求解以下優化問題:

minimize log(det(A)) 
s.t. (P_i - c)'*A*(P_i - c)<= 1 

人們可以延長該系統的不平等的具有以下約束(V是橢圓旋轉矩陣,爲詳細的信息請參見上面的鏈接):

V == [[1, 0], [0, 1]] // horizontal ellipse 

V == [[0, -1], [1, 0]] // vertical ellipse 

使用這些約束條件解決優化問題並計算所得橢圓的平方將爲您提供所需的結果。