El método de Weiler-Azerton también se denomina método de corte bilateral.
Encontré un tutorial relacionado de la Universidad de Geociencias de China. El flujo del algoritmo es el siguiente:
1. , ventana de recorte, matriz de intersección, polígono de recorte después de la inserción de la intersección, ventana de recorte después de la inserción de la intersección y polígono de salida.
2. Debido a que las intersecciones están marcadas con "entrada" y "fuera", todas las matrices relacionadas con las intersecciones deben adoptar el tipo de matriz de estructura:
Punto de estructura
{
Doble x;
Doble y;
int flag;
}Matriz de intersección, matriz 3, matriz 4; p>
La bandera tiene tres estados:
0: punto de no intersección;
1: punto de "entrada";
-1: " "fuera".
3. Cuando busque el punto de intersección, utilice el borde del polígono de corte para encontrar el punto de intersección del borde de la ventana de corte:
Utilizado para (cortar el borde del polígono). )
{
…;
Utilizado para (cortar los bordes de la ventana)
{
Encuentre una intersección válida; colóquela en la matriz de intersecciones;
…;
}
}
4. puntos de intersección significa que las matrices de intersección deben ordenarse y luego insertarse en la posición correspondiente de la matriz 1 y la matriz 2.
5. Para encontrar el punto "de entrada" y el punto de "salida", se debe encontrar la posición del vértice que cumpla las condiciones según el signo. No solo necesitamos encontrar el punto "de entrada" y el punto "de salida" en la matriz 3, sino que también debemos ir a la posición del vértice correspondiente en la matriz 4 después de encontrarlo. La matriz 4 se maneja igual que la anterior. Este procesamiento se encuentra en este algoritmo.