Dans l'un de mes projets, j'ai une zone de jeu en forme de cercle. À l'intérieur de ce cercle, un autre petit cercle se déplace. Ce que je veux faire, c'est empêcher le petit cercle de sortir du plus grand. Ci-dessous, vous pouvez voir que dans le cadre 2, le petit cercle est partiellement à l'extérieur, j'ai besoin d'un moyen de le ramener juste avant qu'il ne se déplace vers l'extérieur. Comment cela peut-il être fait?
De plus, j'ai besoin du point de collision le long de l'arc du grand cercle pour pouvoir mettre à jour la vitesse du petit cercle. Comment procéder pour calculer ce point?
Ce que je voudrais faire, c'est avant de déplacer le petit cercle, je prédis sa position suivante et s'il est à l'extérieur je trouve le temps de collision entre t = 0 et t = 1 (t = 1 pas à temps plein). Si j'ai le temps de collision t, je déplace simplement le petit cercle pendant t au lieu d'un pas à temps plein. Mais encore une fois, le problème est que je ne sais pas comment détecter à ce moment-là la collision se produit quand il s'agit de deux cercles et l'un à l'intérieur de l'autre.
ÉDITER:
Exemple de point de collision (vert) que je veux trouver. Peut-être que l'image est un peu décalée mais vous avez l'idée.