BiG_PtInCadre

Fonction Catégorie Version
BIG 06 BiG_PtInCadre Fonction Géométrique 1.0 - Janvier 2007

Description

But Teste si un point est dans un rectangle
Prototype (BiG_PtInCadre PtMin PtMax Pt2test)
Argument PtMin - Le point Bas Gauche du rectangle - Liste -
PtMax - Le point Haut Droit du rectangle - Liste -
Pt2test - Le point à tester - Liste -
Retours T ou nil
Var. globales Néant
Description Teste si un point se trouve placé à l'intérieur d'un cadre déterminé par les points Bas Gauche et Haut Droit.
Notes
Exemples

Commande: (BiG_PtInCadre '(0 0) '(200 200) '(100 100))
	retourne	T

Commande: (BiG_PtInCadre '(0 0) '(200 200) '(100 300))
	retourne 	nil

La fonction


  1-  (defun BiG_PtInCadre (*PtMin *PtMax *Pt2test)

  2-     (and (or (> (car *Pt2test) (car *PtMin)) 
  3-              (equal (car *Pt2test) (car *PtMin) 0.0001)
  4-          )
  5-          (or (< (car *Pt2test) (car *PtMax)) 
  6-              (equal (car *Pt2test) (car *PtMax) 0.0001)
  7-          )
  8-          (or (> (cadr *Pt2test) (cadr *PtMin)) 
  9-              (equal (cadr *Pt2test) (cadr *PtMin) 0.0001)
 10-          )
 11-          (or (< (cadr *Pt2test) (cadr *PtMax)) 
 12-              (equal (cadr *Pt2test) (cadr *PtMax) 0.0001)
 13-          )
 14-     )
 15-  )
Ligne 2 : Si, à la fois,
Ligne 2 :   - Le point à tester a une coordonnée en X supérieure au point *PtMin
Ligne 3 :	 	 ou égale à 0.0001 unité près;
Ligne 5 :   - Le point à tester a une coordonnée en X inférieure au point *PtMax
Ligne 6 :	 	 ou égale à 0.0001 unité près;
Ligne 8 :   - Le point à tester a une coordonnée en Y supérieure au point *PtMin
Ligne 9 :        ou égale à 0.0001 unité près;
Ligne 11 :  - Le point à tester a une coordonnée en Y inférieure au point *PtMax
Ligne 12 :       ou égale à 0.0001 unité près;
Ligne 15 : Retourne  T si ces conditions sont remplies.

Car : Renvoie le premier élément d'une liste.
Cadr : Equivaut à (Car ( Cdr *Pt2test)) soit le deuxième élément d'une liste.
Equal : Détermine si deux expressions sont égales.