日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UE4 Geometry Polygon

發布時間:2023/12/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UE4 Geometry Polygon 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UE4 Geometry Polygon

前人栽樹,后人乘涼。

在計算幾何中處理多邊形的時候,經常會遇到這么一個問題,即給定多邊形頂點,確定其頂點環繞順序及計算多邊面積。

多邊形面積計算


在直角坐標系下,找到多邊形上X坐標最小的點A,以A為起點,順時針方向,找到下一個點B,計算ABB’A’梯形的面積,梯形的高是B’ - A’,是正值。在以B為起點,計算梯形BCC’B’的面積,順時針計算小梯形的面積,最后會回到A點(梯形HH’A’A),小梯形的面積和就是多邊形的面積。注意:從E點開始,梯形的高就是負值,比如梯形EE’F’F的高是F’-E’,等價于多邊形ABCDEE’A’的面積減去AHGFEE’A’的面積。

多邊形環繞方向

如上所述,計算多邊形面積時,順時針計算結果為正,逆時針計算結果為負,故可以用來判斷給定多邊形點的環繞方向。

同時,在UE4中坐標系與常規坐標系不同,故環繞方向與常識上相反。

代碼示例

bool IsClockwise(const TArray<FVector>& Polygon) {return PolygonArea(Polygon) < 0; }float PolygonArea(const TArray<FVector>& Polygon) {float A = 0;const int32 N = Polygon.Num();for(int32 i = 0; i < N; ++i) {const auto P0 = Polygon[i];const auto P1 = Polygon[(i + 1) % N];A += (P1.X - P0.X) * (P1.Y + P0.Y); //梯形面積計算的形式}return A; }

參考

  • https://blog.csdn.net/shijie_nihao/article/details/99067597
  • https://blog.csdn.net/mrbaolong/article/details/126329480?spm=1001.2014.3001.5501
  • 總結

    以上是生活随笔為你收集整理的UE4 Geometry Polygon的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。