Détection de collision Java entre deux objets Shape?

Je voudrais savoir la meilleure façon de savoir si un objet de Forme croise une autre forme.
Actuellement, j'ai la détection de collision dans mon jeu triés tant qu'il implique une Forme d'intersection d'un Rectangle ou vice versa. Le problème que je vais avoir, c'est que la méthode intersects() dans la classe de Forme ne peut prendre un Rectangle ou un Point comme un paramètre, pas une autre Forme. Est-il un moyen efficace de tester si deux objets de Forme se chevauchent quelque sorte?
Une façon, j'ai essayé a l'aide d'une boucle for pour générer une zone de points pour tester si ils étaient dans la forme, puis la construction d'un tableau d'objets de Point d'envoyer à l'autre forme de test, mais cela a considérablement baissé mon framerate à cause de toutes les comparaisons inutiles.

J'ai regardé et regardé quelque chose de similaire ici, mais n'ai rien trouvé de vraiment. Désolé à l'avance si c'est une reprise.

source d'informationauteur Monkeybro10