MATLAB運動プログラム(凸包エリア)

ここでは、パッケージの3つの計算方法凸領域があります。

第一の方法は、三角形に分割され、それぞれの凸包、各三角形の面積計算です。

高速外積需要領域の第二の方法。

第三は、で結果を確認し、システムコールです。

次のようにMathWorks社のMATLABコードは次のとおりです。

すべてクリア; 
すべて閉じる; 
CLC; 

N- = 30 ; 
P = RAND(N、2 ); 

IND = convhull(P(:、1)、P(:、2 )); 
ハル = P(IND、:);%ランダム点凸包

プロット(P(:、1)、P(:、2)、' ' ); 
ON HOLD; 
プロット(ハル(:、1)、ハル(:、2)、' R&LT ' ); 
myarea = 0 ;
ヘレン式メソッド
triangle1 =ハル(1 、:)。

以下のための私は= 2:長さ(ハル) - 1。
    triangle2 = [ハル(I、:);ハル(I + 1 、:)];   
    三角 = [triangle1; triangle2];%構成される三角形
    
    A = SQRT(SUM((トライアングル(。1、:) -トライアングル(2、:))^ 2));%3辺の長さ
    B = SQRT(SUM((トライアングル(1、:) -トライアングル(3、:))^ 2 ))。
    C = SQRT(SUM((トライアングル(2、:) -トライアングル(3、:))^ 2 )); 
    
    P =(A + B + C)/ 2;%ヘロンの公式
    S = SQRT(P *(PA)*(鉛)*(P- C)); 
    myarea = myarea + S;
 エンド
myareaの

myarea = 0 ;
クロス製品要件の面積%、より速く
 するために、私は= 1:長さ(ハル) - 1。
    myarea = myarea +(ハル(I、1)*ハル(I + 12) -ハル(I + 11)*ハル(I、2))/ 2 ;
 エンド

myarea 
面積 = polyarea(ハル(:、1)、ハル(:、2))%システム機能、コントラスト

三つの方法の結果は同じです。

フィギュアを置きます:

おすすめ

転載: www.cnblogs.com/tiandsp/p/12110068.html