# Java3D - mehrere Instanzen eines Geometrieobjektes erzeugen



## superschaf (28. Jul 2008)

Hallo

Ich möchte mit Hilfe einer Variable, die die Anzahl der zu erzeugenden Objekte speichert, z.B. Kugeln erzeugen. Habe das Ganze in einer Schleife versucht die folgendermaßen aussah:

```
for (int i = 0; i == 2; i++)
		{
			float x = 0.0f;
			float y = 0.0f;
			float z = 0.0f;

			//Erzeugung der Kugel
			Sphere Kugel = new Sphere(KugelRadius, blueApp);

			//Transformation
			Transform3D tfKugel = new Transform3D();
			tfKugel.setTranslation(new Vector3f(x, y, z));

			//Transformationsgruppe 
			TransformGroup tgKugel = new TransformGroup(tfKugel);
			tgKugel.addChild(Kugel);

			//Fuege Kugel zur Szene
			theScene.addChild(tgKugel);
			x = x + 0.1f;
			y = y + 0.1f;
			z = z + 0.1f;
		}
```
(KugelRadius ist fester Float, blueApp ein Appearance für blaue Farbe, theScene ein BranchGroup-Objekt, i soll entsprechend die Anzahl der zu erzeugenden Kugeln sein(+1))
Das Ganze kann kompiliert werden. Wenn i=1, wird eine Kugel erzeugt, aber sobald i>1 werden gar keine Kugeln erzeugt. 
Weiß jemand wie ich das machen kann?

Danke schonmal
Gruß
Superschaf


----------



## musiKk (28. Jul 2008)

Die erste Zeile zu sowas wie

```
for (int i = 0; i <= 2; i++)
```


----------



## Guest (28. Jul 2008)

mit i<=2 wird immerhin eine Kugel gezeichnet *freu*, aber eigentlich wollte ich ja 3. 
Bin mir grade nicht sicher ob ich das mit der Schleife überhaupt erreichen kann, weil ja im Szenengraph dann nur eine Tranformationsgruppe Kugel existiert und an sich müsste ich doch dann mehr davon erzeugen, oder? Habe leider keine Ahnung wie ich das anstelle...


----------



## musiKk (28. Jul 2008)

Hm, mit i<=2 sollten es eigentlich drei sein.
IdR benutzt man

```
for(int i=0; i<n; i++)
```
wenn man n Schleifendurchlaeufe will.

Zum anderen kann ich nix sagen, mit Java3D hatte ich noch nicht zu tun.


----------

