# RotationsInterpolator & setScale()



## truesoul (28. Mai 2010)

Hallo miteinander , 

es ist wieder soweit wo ich eure Hilfe benötige  
Es geht darum das ich ein TransFormGroup nach meinen wünschen Skaliert habe.
Siehe hier: 


```
...

TransformGroup meinObjekt = new TransformGroup();
Transform3d dreiD = new Transform3D();
dreiD.setScale(0.03);

meinObjekt.add(scene.getSceneGroup());
meinObjekt.setTransform(dreiD);
...
Wurzel.add(meinObjekt);
...
```

So wunderbar , das funktioniert auch so wie es soll.
Aber jetzt möchte ich auch meinObjekt ein RotationInterpolator anwenden.
Sprich: 


```
...

TransformGroup meinObjekt = new TransformGroup();
Transform3d dreiD = new Transform3D();
RotationInterpolator rotiere;
dreiD.setScale(0.03);

meinObjekt.add(scene.getSceneGroup());
rotiere = new RotationInterpolator(new Alpha(1000,-1), meinObjekt);
meinObjekt.setTransform(dreiD);
...
Wurzel.add(rotiere);
Wurzel.add(meinObjekt);
...
```

Die Rotation ist vorhanden aber die Skalierung ist aufgehoben.
Möchte aber gerne für das Objekt die Skalierung beibehalten.

Wie kann ich die Skalierung beibehalten oder gibt es andere wege?


*EDIT:* 
Oder kann ich zwei Interpolatoren miteinander verbinden? Sprich ScaleInterpolator und RotationInterpolator ???

Mfg


----------



## Marco13 (28. Mai 2010)

Ganz grob: Die Skalierung zwischen das Objekt und die Rotation klemmen:

```
TransformGroup transformGroupMitSkalierung = ....
transformGroupMitSkalierung.add(meinObjekt);
rotiere = new RotationInterpolator(new Alpha(1000,-1), transformGroupMitSkalierung );
Wurzel.add(rotiere);
Wurzel.add(transformGroupMitSkalierung);
```


----------



## truesoul (28. Mai 2010)

Danke  

Musste die Transformation auf meinObjekt anwenden und füge dann meinObjekt ein "neuem" TransformGroup hinzu und wende dann auf das neue TransformGroup die Rotation an.
Skalierung bleibt bestehen  

Was wäre ich ohne dich  

Aber eine kleine frage habe ich noch .
Kann ich den Punkt der Rotation selbst bestimmen? 
Sprich habe ein Brett als Objekt und möchte gerne den Punkt genau in der Mitte haben ?


----------



## Marco13 (28. Mai 2010)

D.h. das Brett soll immer um den Mittelpunkt gedreht werden? Eine Rotation dreht in einem Szenegraphen erstmal um das lokale Koordinatensystem. Wenn um einen anderen Punkt gedreht werden soll, kann man das erreichen, indem man den Rotationspunkt in den Ursprung verschiebt, dann rotiert, und wieder zurück verschiebt.


----------

