Red de conocimiento informático - Conocimiento informático - Cómo obtener el punto de intersección de una línea recta y QPainterPath

Cómo obtener el punto de intersección de una línea recta y QPainterPath

QPainterPath proporciona una función para detectar la intersección de dos caminos, pero esta función no puede obtener la intersección de un segmento recto y un camino cerrado. Ninguna otra función puede hacer esto porque los segmentos de línea recta no llenan el área.

¿QPainterPath se intersectó ( const QPainterPath & p ) const?

Entonces, lo único que puede hacer es escribirlo usted mismo. Aquí le he proporcionado un algoritmo vago, intente usarlo. por qt La función para implementarla, aunque es muy ineficiente, sigue siendo buena para la mayoría de las aplicaciones.

Este algoritmo detecta el punto de intersección con la curva de nivel punto a punto en el segmento de recta. Es muy sencillo, muy sencillo.

También es muy rápido de usar y no es un problema para los proyectos actuales~~

La ruta de retorno es la intersección del segmento de línea y cualquier ruta cerrada, por lo que la intersección Es naturalmente fácil de conseguir.

El camino de retorno es la intersección del segmento de recta y cualquier camino cerrado.