Red de conocimiento informático - Computadora portátil - ¡Programación en C! Dado un rectángulo, determine si el punto de entrada está contenido dentro del rectángulo.

¡Programación en C! Dado un rectángulo, determine si el punto de entrada está contenido dentro del rectángulo.

A juzgar por la diferencia de ángulos formada por los vértices diagonales del rectángulo de punto conocido, si la diferencia es mayor que 90 grados y menor que 270 grados, el punto está dentro del rectángulo si la diferencia de ángulo es igual. a 90 grados o 270 grados, entonces el punto conocido está en el lado del rectángulo y, en otros casos, está fuera del rectángulo.

A continuación se adjunta un fragmento del código LISP de AutoCAD, espero que le resulte útil.

;;; Calcula la diferencia de ángulo entre tres puntos

;;; Parámetros: coordenadas del punto base pt0

;;; coordenadas del primer punto pt1

;;; pt2 coordenadas del segundo punto

;;;

;;; Valor de retorno Diferencia de ángulo de tres puntos (unidad: radianes)

(defun ángulo3p (pt0 pt1 pt2 / ang)

(setq ang (- (ángulo pt0 pt2) (ángulo pt0 pt1)))

(if (lt; ang 0)

(setq ang ( ang (* 2 pi))

)

)

ang

)