Grasshopper内に置ける面積計算について、一つ前の記事で三角形面の面積を計算するヘロンの公式を利用する方法を検証してみましたが、四角形面の面積についてもブレートシュナイダーの公式を用いて計算する事を検証してみました。
ブレートシュナイダーの公式は四角形 ABCD がある時、辺の長さを AB = a, BC = b, CD = c, DA = d、周長の半分をsとし、その対角の和、例えば ∠ABC + ∠CDA の半分を t とすると、面積Sについて以下が成り立つ。(wikipedia参照)
https://en.wikipedia.org/wiki/Bretschneider%27s_formula
ヘロンの公式ほどではないですが、こちらもC#のGetAreaメソッドよりもやや速いという計算結果が出た事は興味深く感じました。
注意:平面に適当に書いた4つの四角形を2000回コピーして8000回の計算をしていますが、如何なる状況の四角形でも同様の結果になるのかはまだ検証の余地はあるかもしれません。
コメントをするにはログインしてください。