サイラス・ベックアルゴリズム

Line-clipping algorithm in computer graphics
サイラス・ベックアルゴリズム

コンピュータグラフィックスにおいてCyrus-Beckアルゴリズムは線分クリッピングのための一般化されたアルゴリズムです。これは、反復的なクリッピングを使用するCohen-Sutherlandアルゴリズムよりも効率的になるように設計されました。[1] Cyrus-Beckは汎用的なアルゴリズムであり、長方形のクリッピング領域にしか使用できないCohen-Sutherlandとは異なり、凸多角形のクリッピングウィンドウで使用できます。

ここで、ビュー平面の線の 媒介変数方程式は 次のようになります p ( t ) = t p 1 + ( 1 t ) p 0 {\displaystyle \mathbf {p} (t)=t\mathbf {p} _{1}+(1-t)\mathbf {p} _{0}} 0 t 1 {\displaystyle 0\leq t\leq 1}

クリッピングウィンドウとの交点を見つけるために、ドット積の値を計算します。クリッピング平面上の点を p E {\displaystyle \mathbf {p} _{E}} とします。 E {\displaystyle E}

計算: n ( p ( t ) p E ) {\displaystyle \mathbf {n} \cdot (\mathbf {p} (t)-\mathbf {p} _{E})}

  • < 0 の場合、ベクトルは内部に向けられます。
  • = 0 の場合、ベクトルは⁠ p {\displaystyle p} を含む平面に平行になります
  • 0 より大きい場合、ベクトルは内部から離れる方向を向きます。

ここで、 ⁠ n {\displaystyle {\mathbf {n}}} は現在のクリッピング プレーンの 法線(内部から離れる方向)を表します。

これにより、線とクリッピング ウィンドウの交点(ドット積が 0)が選択され、線がクリップされます。

注記

  1. ^ 「クリッピング」(プレゼンテーション)。

参照

同じ目的で使用されるアルゴリズム:

他のメディアでの参照:

参考文献

  • マイク・サイラス、ジェイ・ベック「一般化された2次元および3次元クリッピング」Computers & Graphics、1978年:23-28頁。
  • ジェームズ・D・フォーリー著『コンピュータグラフィックス:原理と実践』Addison-Wesley Professional、1996年、117頁。
  • https://web.archive.org/web/20101203041134/http://cs1.bradley.edu/public/jcm/cs535CyrusBeck.html
  • https://web.archive.org/web/20110725233122/http://softsurfer.com/Archive/algorithm_0111/algorithm_0111.htm


Retrieved from "https://en.wikipedia.org/w/index.php?title=Cyrus–Beck_algorithm&oldid=1321323733"