Sto realizzando un piccolo editor di scene 3D (che consente solo di modificare le posizioni degli oggetti).
Ogni oggetto viene disegnato con un asse X / Y / Z 3d:
Come funziona: l'utente sceglie un asse (X, Y o Z) facendo clic con il tasto sinistro su di esso, quindi, tenendo premuto il tasto sinistro, sposta il mouse (per spostare l'oggetto nella direzione dell'asse). la raccolta è già ok, ma vorrei sapere che how much
l'oggetto dovrebbe essere tradotto per l'asse selezionato, a seconda del movimento del mouse 2D.
Ad esempio, in questa immagine, la selezione dell'asse X e lo spostamento del mouse da sinistra a destra dovrebbero dare uno spostamento maggiore rispetto allo spostamento verso l'alto (quasi zero per questo)
Deve essere davvero semplice ma non riesco a capirlo.
L'input dovrebbe essere: spostamento del mouse dal primo clic sinistro (vettore 2D), vettore dell'asse selezionato (vettore 3d), matrice vista modello / proiezione.
Output: quantità (float o double)