二つの図形の重なり具合
今、数値解析のためにメッシャを作成中。
んで、図形演算など高等なことをほとんどやったことないにも関わらず、メッシャの実験版を作ってます。
メッシャなんてしょせん数値計算の前処理さ〜、なんて思ってて、半日もあればできると思ってたんだけど、意外とめんどくさい。特にめんどくさかったのが、メッシュと図形との重なり具合を調べる方法。
そのものずばり、メッシュのなかにそのオブジェクトが何%含まれてるんですか〜、みたいな情報が一発でとりたい。
てことで、絶対誰かが作ってるはずだけど、自作。
方針:
1. 図形のオブジェクトをGeneralPathで作成(a) 2. メッシュのオブジェクトをRectangle2Dで作成(b) 3. (b)が(a)に完全に含まれていれば(a.contains(b)で調べる)、成分100% 4. (b)と(a)がかすっていなければ(a.intersects(b)で調べる)、成分0% 5. 上記に当てはまらない場合(境界上の場合)、モンテカルロをやって、成分度を調べる
ま、結局これをインプリしたんだけど、どう考えても、もっとましな方法があるだろ〜〜