¡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
)