2011-09-22 14 views
6

Bağlam: Haritanın boyutunu en aza indirmek için, bir dizi rüzgar türbininin etrafındaki en küçük boyutlu elipsin içine topoğrafik bir harita çizmeye çalışıyorum. Bu harita kırpmasını yapan program, elipslerde klipsleyebilir, ancak sadece x ve y eksenleri boyunca hizalanmış eksenlere sahip elipsler.Yatay/dikey eksenlerle sınırlanan sınırlayıcı elips

algorithm for the bounding ellipse problem (bir dizi noktayı kapsayan en küçük alan elipsini bulma) bilgisini biliyorum.

Ancak, bu algoritmayı (veya farklı bir algoritma oluşturmayı) nasıl kısıtlıyorum ki, sonuçta elde edilen elipsin ana eksenine ister yatay ister dikey olsun, hangisi en küçük elips değerini veriyorsa - ve asla bir açıyla değil mi? Tabii

enter image description here

, bu kısıt "ihtiyaçları" bütün noktaları kapsamasına olmaktan daha sonuçlanan elips büyük yapar, ama o yine de kısıtlaması var. ,

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

Bir V elips rotasyon matrisidir (aşağıdaki kısıtlaması ile eşitsizliklerin bu sistem uzanabilir:

+0

ve algoritmayı daha genel hale getirmekle ilgili daha fazla bilgi: daha fazla elipsin sağlanması ve en yüksek bilgi kriteri ile çözüm aranması (en küçük AIC değerine eşdeğer)? – TMS

cevap

2

algoritması (sağlanan bağlantıyı başvurulan) here aşağıdaki optimizasyon sorununun çözümüyle ilgili tarif

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

veya

V == [[0, -1], [1, 0]] // vertical ellipse 
: ayrıntılı bilgi için yukarıdaki linke) bakınız 10

Optimizasyon problemini bu kısıtlardan biriyle çözmek ve elde edilen elipslerin karesini hesaplamak size gerekli sonucu verecektir.