
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 dónde.
Ahora, para encontrar el punto de intersección con la ventana de recorte, calculamos el valor del producto escalar . Seaser un punto en el plano de recorte .
Calcular:
- Si < 0, el vector apunta hacia el interior;
- Si = 0, vector apunta paralelo al plano que contiene ;
- Si > 0, el vector apunta en dirección opuesta al interior.
Aquí 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
- ↑ "Recorte" (presentación) .
Véase también
Algoritmos utilizados para el mismo propósito:
- Algoritmo de Cohen-Sutherland
- Algoritmo de Liang-Barsky
- Algoritmo de Nicholl-Lee-Nicholl
- Recorte rápido
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.
Enlaces externos
- 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
- Algoritmos de recorte de líneas
- Esbozos de gráficos por computadora