Tesi Robotica V+ Sim: Interprete Command Language e... | Page 102

globale = rotazione_giunto * traslazione_giunto; return (globale * giunto_precedente.Global); } else { globale = rotazione_giunto * traslazione_giunto; return globale; } } set{ globale = value; } } Attraverso le moltiplicazioni tra matrici, riusciamo ad individuare il giunto nel “mondo”. Tramite la classe Giunti.cs muoverlo è molto semplice perchè avendo a disposizione la traslazione_giunto che identifica il giunto nello spazio, basta moltiplicare questa variabile per la variabile rotazione_giunto che identifica lo spostamento angolare. Sia per effettuare il posizionamento del giunto, sia per compiere rotazioni, vengono effettuate moltiplicazioni tra matrici. Per visualizzare l'insieme dei giunti e quindi il nostro modello grafico, utilizziamo i pixel/vertex shader che ci permettono una rappresentazione ottimale del modello. Il codice di collegamento con il file .fx è molto semplice: foreach (Giunto g in giunti) { foreach (Effect currenteffect in g.Mesh.Effects) { currenteffect.CurrentTechnique=currenteffect.Techniques["Viper"]; 101