Sujet: Convertir curseur 2d en position 3d Jeu 9 Nov 2017 - 16:18
Bonjour, après plusieurs recherches, je n'ai pas trouvé ou compris sur comment transformer la position du curseur 3d sur une surface 3d en fonction de la position de la caméra. Faites vous m'aider. Merci d'avance.
Sujet: Re: Convertir curseur 2d en position 3d Ven 10 Nov 2017 - 21:40
Techniquement, ton curseur pointe dans une direction et non dans une position. Il faut donc plutôt regarder la collision entre une droite et ta surface. Ca dépend donc beaucoup de ta surface.
Si ta surface est un plan. Je vais reprendre mon bout de code en essayant de l'expliquer.
Supposons que tu utilise deux matrices une de projection(P) et une de placement de caméra(V). Posons leurs produit M = P*V Supposons que ta souris se trouve en (x,y) sur l'écran. Donc dans le repère de l'écran, la direction de la souris est : (x,y,z) ou z varie. Dans le repère de ton monde la direction de la souris est inverse(M) * (x,y,z,1)
Pour reconstruire la droite, tu peut prendre deux points de la droite: M1 = inverse(M) * (x,y,0,1) M2 = inverse(M) * (x,y,1,1)
(Attention à bien repasser de coordonnées projective à des coordonnées normales).
Ensuite, j'avais par exemple choisi le plan z = 0. Puisque ma droite c'est l’ensemble: (X,Y,Z) = M1 + lambda*(M2-M1), il faut trouver lambda pour que Z = 0. Donc lambda = (-M1.z) / (M2.z - M1.z)
Donc ton point est en M1 + lambda*(M2-M1)
-----------------------------
N'hésite pas à poser des questions, c'est pas facile.
Sujet: Re: Convertir curseur 2d en position 3d Mar 14 Nov 2017 - 9:43
Bonjour,
J'ai lu plusieurs fois l'explication sur l'utilisation des fuites de perspective. Et j'ai du mal a comprendre comment on peut définir différents angle a partir de la position d'une souri. Y a t'il un point de départ de la fuites de perspective ?
Le script de ton message m'est encore obscure. Je me demande, d'ou vienne ces variable. A qui servent certaine. Cette formule calcul quel partie de la conversion. Sans commentaire sur chaque partie, j'ai des difficulté à visualisé dans ma tête, les différents résultats.
J'ai regardé le document pdf, mais c'était trop cousit pour moi.
Pouvez vous me décrire plus précisément son fonctionnent. N'hésitez pas de user de schéma, si ça peu aider. Merci d'avance.