首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

HDU 1115 Lifting the Stone:多邊形重心計算幾何模板

     編輯:關於C++

幾何公式

多邊形面積:S = ½ Σ (xᵢyᵢ₊₁ - xᵢ₊₁yᵢ)
重心坐標:Gₓ = (1/6S) Σ (xᵢ + xᵢ₊₁)(xᵢyᵢ₊₁ - xᵢ₊₁yᵢ)
Gᵧ = (1/6S) Σ (yᵢ + yᵢ₊₁)(xᵢyᵢ₊₁ - xᵢ₊₁yᵢ)

三角形分解實現

固定第一點 p[0],將多邊形分解為 n-2 個三角形 (p[0], p[i], p[i+1]),累加有向面積與重心矩。

AC 代碼


注意事項

  • 面積有向:順序給定,可能為負,重心公式自動處理
  • 非凸多邊形重心可能在外部,照常輸出
  • 輸出保留兩位小數,0.005 進位
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved