「サイラス・ベック・アルゴリズム」の版間の差分
Administrator (トーク | 投稿記録) ページの作成:「サイラス・ベック・アルゴリズム(英語:Cyrus Beck algorithm)とは、コンピューターグラフィックスにおけるラインクリッピング…」 |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (同じ利用者による、間の5版が非表示) | |||
| 1行目: | 1行目: | ||
'''サイラス・ベック・アルゴリズム'''([[英語]]:Cyrus Beck algorithm)とは、[[コンピューターグラフィックス]]におけるラインクリッピングの[[アルゴリズム]](直線が多角形の内側にあるかを判断するアルゴリズム)である。 | |||
== 概要 == | |||
1978年に米国空軍研究所のMike CyrusとJay Beckが発表した[[アルゴリズム]]である。 | |||
Generalized two- and three-dimensional clipping (Computers & Graphics, 1978: 23–28.) | |||
https://www.sciencedirect.com/science/article/pii/0097849378900213 | |||
コーエン・サザーランド・アルゴリズムより効率的になるよう設計されている。 | コーエン・サザーランド・アルゴリズムより効率的になるよう設計されている。 | ||
またコーエン・サザーランド・アルゴリズムは長方形のみなのに対して、サイラス・ベック・アルゴリズムは多角形にも適用できる。 | またコーエン・サザーランド・アルゴリズムは長方形のみなのに対して、サイラス・ベック・アルゴリズムは多角形にも適用できる。 | ||
米空軍が考案しただけあって[[ベクターグラフィックス]]で表現された[[シューティングゲーム]]の[[実装]]が捗る。 | |||
== 詳細 == | == 詳細 == | ||
| 13行目: | 19行目: | ||
:<math> 0 \leq t \leq 1 </math>. | :<math> 0 \leq t \leq 1 </math>. | ||
クリッピング領域との交点を見つけるために、領域の辺の[[法線]](多角形を構成する直線の法線)と直線の[[内積]]を計算する。'''p'''<sub>''E''</sub> は多角形の[[頂点]]。 '''n'''は[[法線]]。 | |||
:<math>\mathbf n \cdot (\mathbf p(t) - \mathbf p_E)</math> | :<math>\mathbf n \cdot (\mathbf p(t) - \mathbf p_E)</math> | ||
| 107行目: | 113行目: | ||
* [[Cohen–Sutherland algorithm]] | * [[Cohen–Sutherland algorithm]] | ||
* [[Liang–Barsky algorithm]] | * [[Liang–Barsky algorithm]] | ||
* [[Cyrus Beck algorithm]] | |||
* [[Nicholl–Lee–Nicholl algorithm]] | * [[Nicholl–Lee–Nicholl algorithm]] | ||
* [[Fast clipping]] | * [[Fast clipping]] | ||
| 112行目: | 119行目: | ||
[[category: 2DCG]] | [[category: 2DCG]] | ||
[[category: 3DCG]] | [[category: 3DCG]] | ||
[[category: コンピューター・グラフィックス]] | |||