Pour savoir si un point, P
, est dans un demi-cercle, je considérerais un test en deux parties:
- est-
P
dans le rayon, R
, du centre, C
?
- Est-ce que
P
est dans le demi-plan correct (c'est-à-dire occupé)?
partie (1) est simple: comparer (P_x-C_x)^2 + (P_y-C_y)^2
(en 2d, ajouter la direction Z en 3D, bien sûr) avec R^2
(ne vous embêtez pas avec les racines carrées, ils prennent du temps et ne pas ajouter n'importe quoi).
La partie (2) est presque aussi simple: définissez le vecteur b = B - C
qui coupe le demi-cercle pointant dans le demi-plan occupé. Puis calculer le vecteur v = P - C
et prendre le produit scalaire avec b
. Si le résultat est positif, le point est dans le demi-plan occupé, s'il est négatif, le point est dans la moitié non occupée et si 0 le point tombe sur la ligne de division. Le produit scalaire de 2d est v*b = v_x*b_x + v_y*b_y
comme d'habitude.
Votre question n'est pas claire. Voulez-vous dire que vous avez un demi-cercle, et beaucoup de points, et vous voulez déterminer quels points sont à l'intérieur du demi-cercle? – Beta