Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    23

    [C#] rotazione di un triangolo

    Ciao a tutti, ho il seguente problema: devo far ruotare un triangolo disegnato nel form cliccando su un vertice dello stesso e muovendo il mouse.. ammetto che non ho idea di come poter fare :master: :master: per la rotazione so che devo utilizzare le matrici di trasformazione e questo mi riesce ma la cosa che piu mi sdubbia è come fare ad far capire al programma che ho cliccato sul vertice e come calcolare l angolo di rotazione.... spero di essere stato chiaro... grazie!

  2. #2
    non ho la minima idea di cosa sia il triangolo che intendi te (di sicuro non è quello che intendo io, che piace molto a tutti) ma posso darti dei consigli in generale.
    Esistono eventi per la gestione del mouse, come mouse click, mouse press etc... (cerca un po' su internet)
    Ti basta identificare la posizione del mouse rispetto al centro di rotazione del triangolo e verificare tramite le matrici di rototraslazione se il puntatore è su uno dei vertici (mi raccomando, lascia un ampio margine di approssimazione).
    Dopo di che, se è verificata questa condizione, dovresti verificare di volta in volta dove è il puntatore del mouse sempre rispetto al centro, fare atan 2 per beccare l'angolo, e ruotare del rispettivo il triangolo.

    Spero di esser stato chiaro ^^"

    PS atan2 sarebbe l'arcotangente 2. E' una funzione matematica che dato un punto nello spazio, calcola il suo angolo rispetto allo zero. Attenzione: non rispetto a un altro punto!
    Quindi rototrasla sempre il tuo "sistema di riferimento" nel punto di rotazione!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.