Je dois trouver un algorithme qui détermine une relation entre un carré et un rectangle. Il doit être capable de déterminer si :
- Le carré est complètement à l'intérieur du rectangle
- Le carré est partiellement à l'intérieur (chevauche) du rectangle.
- Le coin d'un carré ne touche que le coin d'un rectangle.
- Le bord du carré est sur le bord du rectangle.
Et voici les entrées (valeurs données) qui nous aideront à extraire une formule mathématique pour chaque cas :
- Coordonnée x du centre du carré = squareX
- coordonnée y du centre du carré = squareY
- largeur du carré = squareW
- Coordonnée x du centre du rectangle = recX
- Coordonnée y du centre du rectangle = recY
- largeur du rectangle = recW
- longueur du rectangle = recL
P.S. : La taille des rectangles est toujours supérieure à la largeur des carrés.
J'écrirai le code en Java une fois que nous pourrons extraire un algorithme en utilisant des opérations mathématiques.
Editar:
Pour le cas des coins en contact, voici le code que j'ai écrit, et il fonctionne (Math.abs signifie la valeur absolue) :
((Math.abs(Math.abs(recX-squareX)-(recW+squareW)/2))<=0.001) && ((Math.abs(Math.abs(recY-squareY)-(recL+squareW)/2))<=0.001)