Articulo de referencia

Algoritmo de Cyrus-Beck

Algoritmo de Cyrus-Beck En gráficos por computadora , el algoritmo Cyrus-Beck es un algoritmo generalizado para el recorte de líneas . Fue diseñado para ser más eficiente que el...

Algoritmo de Cyrus-Beck

En gráficos por computadora , el algoritmo Cyrus-Beck es un algoritmo generalizado para el recorte de líneas . Fue diseñado para ser más eficiente que el algoritmo Cohen-Sutherland , que utiliza recorte repetitivo. [ 1 ] Cyrus-Beck es un algoritmo general y puede utilizarse con una ventana de recorte poligonal convexa , a diferencia de Cohen-Sutherland, que solo puede utilizarse en un área de recorte rectangular.

Aquí la ecuación paramétrica de una línea en el plano de visión es pag(t)=tpag1+(1t)pag0{\displaystyle \mathbf {p} (t)=t\mathbf {p} _{1}+(1-t)\mathbf {p} _{0}} dónde0t1{\displaystyle 0\leq t\leq 1}.

Ahora, para encontrar el punto de intersección con la ventana de recorte, calculamos el valor del producto escalar . Seapagmi{\displaystyle \mathbf {p} _ {E}}ser un punto en el plano de recortemi{\displaystyle E} .

Calcularnorte(pag(t)pagmi){\displaystyle \mathbf {n} \cdot (\mathbf {p} (t)-\mathbf {p} _{E})}:

  • Si < 0, el vector apunta hacia el interior;
  • Si = 0, vector apunta paralelo al plano que contiene pag{\displaystyle p};
  • Si > 0, el vector apunta en dirección opuesta al interior.

Aquínorte{\displaystyle {\mathbf {n}}} representa la normal del plano de recorte actual (apuntando hacia afuera del interior).

De esta forma seleccionamos el punto de intersección de la línea y la ventana de recorte donde (el producto escalar es 0) y, por lo tanto, recortamos la línea.

Notas

  1. "Recorte" (presentación) .

Véase también

Algoritmos utilizados para el mismo propósito:

Referencias en otros medios:

  • Tron: El levantamiento

Referencias

  • Mike Cyrus, Jay Beck. " Recorte generalizado bidimensional y tridimensional ". Computers & Graphics, 1978: 23–28.
  • James D. Foley. Gráficos por computadora: principios y práctica . Addison-Wesley Professional, 1996. pág.  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