現状
https://qiita.com/edo_m18/items/7b3c70ed97bac52b2203
こちらの方のものを基に分割作成
↓
出来た3角形の中から
・細いものを除去
・3点すべてが重なるものを削除
・三点すべてが三角の辺属性のものを削除
・三点すべてが多角か交点属性のものを削除
・辺に多角形の対角線が含まれているものを削除
・辺に多角形の辺が含まれておりもう一つの点が多角形に向いているものを削除
としていってなんとか近いものができてきました…
が、重なっている三角を排除できていないのでその部分を検討中です。
検索結果 4 件
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3角形をくりぬく処理に関して
- 返信数: 8
- 閲覧数: 6653
Re: 3角形をくりぬく処理に関して
とりあえず点に
・三角
・四角
・中から外への交点
・外から中への交点
の属性を付けて分割後の辺を含めてつなぐ線の候補をきめるという方式を試しています。
そのうえで四角の中を通る辺は排除する形でなんとかなりそうです
・三角
・四角
・中から外への交点
・外から中への交点
の属性を付けて分割後の辺を含めてつなぐ線の候補をきめるという方式を試しています。
そのうえで四角の中を通る辺は排除する形でなんとかなりそうです
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3角形をくりぬく処理に関して
- 返信数: 8
- 閲覧数: 6653
Re: 3角形をくりぬく処理に関して
usaoさん、ありがとうございます。
⑥を正確に出すためにはきちんと多角形の辺が出ている必要がある、と早合点してしまっていました。確かに⑤をスルーするべきですね。
外から中への交点かどうかなどで判断できそうですので一度辺でできる三角形から要らない物を捨てるよう実装してみます。
⑥を正確に出すためにはきちんと多角形の辺が出ている必要がある、と早合点してしまっていました。確かに⑤をスルーするべきですね。
外から中への交点かどうかなどで判断できそうですので一度辺でできる三角形から要らない物を捨てるよう実装してみます。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3角形をくりぬく処理に関して
- 返信数: 8
- 閲覧数: 6653
3角形をくりぬく処理に関して
ques.png 初質問失礼します。 現在r6sなどの壁表現に感銘を受け、3D演算にてポリゴンの再分割を手前実装してみようとしています。 仕様として 三角ポリゴンから任意の場所に正多角形の穴をあけた三角ポリゴンの集合体を再生成する ことを目標とします。 手順として ①開ける中心の場所を指定 ②中心から多角形分の点を取得 ③多角形の辺と三角形の辺の交点及び三角形に入っている多角形の点が出したい結果の点になる ④元の3角形の点のうち多角形に入っているものは結果の点にならないので排除する ⑤くりぬいた多角形になるように点をつなぐ ⑥できた多角形を3角形に分割する としようと考えています。 ここで質...