|
|
|
|
Strumenti |
05-04-2009, 11:29 | #1 |
Member
Iscritto dal: Apr 2007
Messaggi: 153
|
[Java] 2D Affine tranform e animazioni
Le affinetransform in java sono utilizzate solo per la visualizzazione delle figure cambiando le coordinate da user space a device space oppure è possibile ad esempio applicare una affine trasform alle coordinate di una figura in user space e salverle sempre in user space, in modo da avere dei meccanismi semplici per la traslazione/scalatura/rotazione ma salvando le coordinate calcolate?
|
05-04-2009, 12:39 | #2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
In Java6 è possibile applicare una trasformazione permanente se la geometria è espressa attraverso un Path2D.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
05-04-2009, 22:13 | #3 |
Member
Iscritto dal: Apr 2007
Messaggi: 153
|
Potresti per caso indicarmi qualche tutorial in tal senso? Poi non so se mi sono spiegato bene:
Io vorrei applicare delle trasformazioni alle coordinate dei miei shape e non alla graphics2d, in modo da applicare la trasformazione che voglio alla mia shape salvando le coordinate dopo la trasformazione. Grazie mille Ultima modifica di braian : 05-04-2009 alle 22:18. |
05-04-2009, 23:17 | #4 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
AffineTransform x = ...
Path2D geometry = new Path2D.Float(new Rectangle(...)); geometry.transform(x); La trasformazione ha effetto permanente sullo spazio di coordinate della singola geometria. L'unico problema è che devi lavorare con i Path2D ma sia Path2D.FLoat, sia Path2D.Double che GeneralPath hanno costruttori che accettano una qualsiasi altra geometria come percorso (Shape) quindi si tratta semplicemente di incapsulare nel costruttore la figura che desideri ottenere. Altrimenti puoi crearla direttamente con i vari metodi di Path2D.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:12.