Probleme bei Rotation

Status
Nicht offen für weitere Antworten.
Der Würfel dreht sich ned :(

Code:
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.GraphicsConfiguration;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import javax.swing.Timer;

public class CubeRot extends Applet
{
private SimpleUniverse u=null;

public CubeRot()
{
}

public BranchGroup createSceneGraph()
{
	BranchGroup RootBG = new BranchGroup();
	//Brachgroup wird angelegt
	
	
	
	int ActAngle = 1;
	if (ActAngle>=360) ActAngle-=360;
	
	
	TransformGroup CubeTG = new TransformGroup();
	Transform3D CubeT3D = new Transform3D();
	//Würfel + Transformation
	Transform3D Rotate = new Transform3D();
	
	CubeT3D.setRotation(new AxisAngle4f(1f,0f,1f,(float)Math.toRadians(45)));
	//Rotation bestimmt, WInkel wird in Rad umgerechnet
	Rotate.rotY(Math.toRadians(ActAngle));
	
	CubeT3D.setScale(0.1);
	//Skaliert die Transform3D, Methode nur in TG - nicht BG!
	
	CubeT3D.mul(Rotate);
	CubeTG.setTransform(CubeT3D);
	//Cube wird Rot von Cube3D zugeordnet
	
	CubeTG.addChild(new ColorCube(0.4));
	//Würfel wird als Objekt gewählt
	RootBG.addChild(CubeTG);
	//Würfel wird BG zugeordnet
	RootBG.compile();
	
	
	return RootBG;
	}


public void init()
{
setLayout(new BorderLayout());
GraphicsConfiguration config= SimpleUniverse.getPreferredConfiguration();

Canvas3D c=new Canvas3D(config);
add("Center",c);
u=new SimpleUniverse(c);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(createSceneGraph());

}

public void destroy()
{
u.cleanup();
}

public static void main(String[] args)
{
new MainFrame(new CubeRot(), 400, 600);
}
}
 

der JoJo

Bekanntes Mitglied
äh, du initialisierts die variable actAngel bei jedem Aufruf neu...
das hat zur folge das die immer 1 ist.

du must die Variable auslagern da mit das geht und dann nur einmal am anfang setzten.

dann bei jedem Schleifenaufruf die Variable erhöhen
 
Wie schreibe ich das dann genau um?

Setze ich dann in main AA auf 1,

verstehe auch leider nicht genaus was die anweisung "if (AA>=360) AA-=360;" mein...also, wenn AA größer = 360 ist, dann soll dekrementiert werden bis 360?
 

der JoJo

Bekanntes Mitglied
also:

Code:
public class CubeRot extends Applet
{
...
private SimpleUniverse u=null;

//hier muss die hin!
int actAngel=1;

public CubeRot()
{
}
...

und dann musst du in der
Code:
public BranchGroup createSceneGraph()
{
...
   BranchGroup RootBG = new BranchGroup();
   //Brachgroup wird angelegt
   
   //das hier einfügen
   actAngel++
...
}

die anweisung
Code:
if (ActAngle>=360) ActAngle-=360;
sorgt nur dafür, das er wert von actAngel nie größer als 360 wird.

#edit:
streng dich mal ein bischen selber an, da hättest du auch drauf kommen können, vor allem wenn du dich schohn mit so dingen wie 3D programmierung beschäftigst
 
also...es dreht sich immer noch nichts...deine anweisungen übernommen ;)

Vllt ne dumme Frage...woher weiß CubeRot(), dass es immer weiter inkrementieren soll? Fehlt da keine while oder for?

Sorry für meine vllt dummen Fragen, aber ich hab nur noch Quelltext-Wirrwarr im Kopf

Code:
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.GraphicsConfiguration;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import javax.swing.Timer;

public class CubeRot extends Applet
{
private SimpleUniverse u=null;
int ActAngle = 1;

public CubeRot()
{
}

public BranchGroup createSceneGraph()
{
   BranchGroup RootBG = new BranchGroup();
   //Brachgroup wird angelegt
   
   
   ActAngle++;
   
   TransformGroup CubeTG = new TransformGroup();
   Transform3D CubeT3D = new Transform3D();
   //Würfel + Transformation
   Transform3D Rotate = new Transform3D();
   
   CubeT3D.setRotation(new AxisAngle4f(1f,0f,1f,(float)Math.toRadians(45)));
   //Rotation bestimmt, WInkel wird in Rad umgerechnet
   Rotate.rotY(Math.toRadians(ActAngle));
   
   CubeT3D.setScale(0.1);
   //Skaliert die Transform3D, Methode nur in TG - nicht BG!
   
   CubeT3D.mul(Rotate);
   CubeTG.setTransform(CubeT3D);
   //Cube wird Rot von Cube3D zugeordnet
   
   CubeTG.addChild(new ColorCube(0.4));
   //Würfel wird als Objekt gewählt
   RootBG.addChild(CubeTG);
   //Würfel wird BG zugeordnet
   RootBG.compile();
   
   
   return RootBG;
   }


public void init()
{
setLayout(new BorderLayout());
GraphicsConfiguration config= SimpleUniverse.getPreferredConfiguration();

Canvas3D c=new Canvas3D(config);
add("Center",c);
u=new SimpleUniverse(c);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(createSceneGraph());

}

public void destroy()
{
u.cleanup();
}

public static void main(String[] args)
{
new MainFrame(new CubeRot(), 400, 600);
}
}
 

der JoJo

Bekanntes Mitglied
hm, hab keine Ahnung von Java3D ich arbeite sonnst nur mit OpenGL.
die Methode createSceneGraph, wird die in jedem Frame aufgerufen oder nur einmal am anfang.

weil wenn die nur einmal am anfang läuft, dann wahr meine Hilfe natürlich sinnlos.

du musst mal schauen ob es eine Funktion giebt, die bei jedem zeichenvorgang aufgerufen wird, und dort dann die Variable erhöhen
 

merlin2

Top Contributor
Gewöhnlich verwendet man dafür Behaviors/Interpolatoren (theoretisch wären auch Threads möglich, aber das ist bei Java3D unüblich).
createSceneGraph() wird nur einmal (und manuell) aufgerufen, da sie ein BranchGroup-Objekt zurückgibt.
 

Seppel

Bekanntes Mitglied
Ich versuche so etwas auch aber in 2D
vieleicht kann sich nichts drehen weil die Punkte von deinem Würfel falsch berechnet werden. oder hast du ein Bild?
versteh den Quelltext nicht. Slater B wird dir bestimmt helfen.
Mir hat er bis jetzt immer geholfen. Meist gab er aber auch mehrwürdige antworten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Scaling Probleme Spiele- und Multimedia-Programmierung 6
J Probleme bei Pong Spiele- und Multimedia-Programmierung 9
D Java Bomberman Probleme java.lang.NullPointerException Spiele- und Multimedia-Programmierung 1
J YoutubeAPI Livestream probleme Spiele- und Multimedia-Programmierung 3
G [LibGDX] Button Klick Probleme Spiele- und Multimedia-Programmierung 1
T Probleme mit JButton Spiele- und Multimedia-Programmierung 5
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
P Probleme mit VLCJ Spiele- und Multimedia-Programmierung 0
F Probleme bei der Soundwiedergabe Spiele- und Multimedia-Programmierung 0
S Probleme bei Breakout - Brick kollision Spiele- und Multimedia-Programmierung 2
S 2D-Render Probleme LWJGL 2 (Java) Spiele- und Multimedia-Programmierung 1
F BlueJ Ufospiel Probleme Spiele- und Multimedia-Programmierung 1
B Probleme mit AndEngine in Android Spiele- und Multimedia-Programmierung 1
M 2048, 3 kleine Probleme Spiele- und Multimedia-Programmierung 4
A Probleme mit Darstellung von Umgebungen mittels mehrdimensionaler Arrays Spiele- und Multimedia-Programmierung 8
J Java Game performance Probleme Spiele- und Multimedia-Programmierung 7
J Perfomance Probleme beim eigenen Editor Spiele- und Multimedia-Programmierung 1
K Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 10
Q LWJGL - Alpha-Probleme Spiele- und Multimedia-Programmierung 2
M Point & Click Thread Probleme Spiele- und Multimedia-Programmierung 20
K Probleme mit .jar Spiele- und Multimedia-Programmierung 12
L Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 3
D Probleme mit der Runnable jar Datei Spiele- und Multimedia-Programmierung 3
D Probleme mit objekt initializirung mit Mouselistener Spiele- und Multimedia-Programmierung 10
Black_ixx Hintergrund & Koordinaten Probleme Spiele- und Multimedia-Programmierung 2
B Probleme mit Texturen Spiele- und Multimedia-Programmierung 7
Maxim6394 Probleme bei Sidescroller Spiele- und Multimedia-Programmierung 5
R Probleme mit JPanel!KeyListener geht nicht Spiele- und Multimedia-Programmierung 6
Maxim6394 [Java3D] Probleme bei Kollision Spiele- und Multimedia-Programmierung 7
Maxim6394 [Java3D] Probleme mit KeyFrame Animationen Spiele- und Multimedia-Programmierung 9
T Probleme mit Skysphere in Opengl Spiele- und Multimedia-Programmierung 4
B Probleme mit redraw() Spiele- und Multimedia-Programmierung 3
Gossi Quaxlis 2D Tutorial....Probleme nach hinzufügen der Kollisionsabfrage Spiele- und Multimedia-Programmierung 16
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
S Probleme mit Tutorial Spiele- und Multimedia-Programmierung 3
T Probleme mit AffineTransform Spiele- und Multimedia-Programmierung 13
W Probleme mit Mouselook Spiele- und Multimedia-Programmierung 2
B GameGrid Probleme mit mehrere Actors Spiele- und Multimedia-Programmierung 5
B GameGrid Probleme mit mehrere Actors Spiele- und Multimedia-Programmierung 2
M [Spiel] Kartenspiel Leben und Tod Tips und Probleme Spiele- und Multimedia-Programmierung 7
G [Java3D] Probleme bei Animation Spiele- und Multimedia-Programmierung 4
S Probleme mit JMenu in einem JFrame mit BufferStrategy Spiele- und Multimedia-Programmierung 2
Steev Probleme mit Kameraausrichtung bei ISO-Map Spiele- und Multimedia-Programmierung 3
R MediaPlayer macht Probleme Spiele- und Multimedia-Programmierung 2
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
prakdi Probleme mit Quaxlis tutorial Spiele- und Multimedia-Programmierung 5
D Java Pong Probleme Spiele- und Multimedia-Programmierung 7
T Java Sound Probleme Spiele- und Multimedia-Programmierung 8
P probleme mit key event Spiele- und Multimedia-Programmierung 11
T Bekanntes Heli Spiel -> Aber Probleme damit Spiele- und Multimedia-Programmierung 30
S Probleme mit Thread beim Streaming Spiele- und Multimedia-Programmierung 1
O Ampel - Probleme mit der Farbgebung Spiele- und Multimedia-Programmierung 16
F Probleme bei Bewegung Spiele- und Multimedia-Programmierung 7
P Probleme mit Vista und JOGL Spiele- und Multimedia-Programmierung 2
P Probleme mit Wolkenbewegung Spiele- und Multimedia-Programmierung 5
W Probleme mit dem setTextureCoordinate Spiele- und Multimedia-Programmierung 3
D Probleme beim Download von GIF-Bildern Spiele- und Multimedia-Programmierung 4
S Probleme mit dem Licht und dem KeyListener Spiele- und Multimedia-Programmierung 2
L Probleme Bei Pong Programmierung Spiele- und Multimedia-Programmierung 2
D Probleme bei ATI Karten bekannt? Spiele- und Multimedia-Programmierung 4
X Probleme. Spiele- und Multimedia-Programmierung 2
E Probleme mit Kollisionserkennung ! Spiele- und Multimedia-Programmierung 2
F Probleme mit selbsterstelltem transparenten PNG Spiele- und Multimedia-Programmierung 5
S probleme mit material Spiele- und Multimedia-Programmierung 2
W Probleme beim entfernen von Childs im HauptSceneGraph Spiele- und Multimedia-Programmierung 8
N Pong - noch 2 kleinere Probleme Spiele- und Multimedia-Programmierung 16
M Probleme mit WaveFront-Object - Datei Spiele- und Multimedia-Programmierung 7
B Probleme beim zeichnen Spiele- und Multimedia-Programmierung 15
D Gomoku --- Probleme bei Instanzierung Spiele- und Multimedia-Programmierung 2
G Probleme beim installieren java 3d linux Spiele- und Multimedia-Programmierung 4
G Sound Probleme Spiele- und Multimedia-Programmierung 2
S Probleme mit Canvas! Spiele- und Multimedia-Programmierung 2
S Jump'n'Run: Probleme mit Kollision Spiele- und Multimedia-Programmierung 13
C Probleme mit Java3D (sun.awt.DrawingSurface) in Java 5 Spiele- und Multimedia-Programmierung 10
R Probleme mit Sound in Applikation. HILFE Spiele- und Multimedia-Programmierung 5
N Probleme mit View Spiele- und Multimedia-Programmierung 3
BraunBerry Rotation mit Radiusänderung Spiele- und Multimedia-Programmierung 0
BraunBerry Rotation von Objekten um ein Raumschiff Spiele- und Multimedia-Programmierung 6
E Rotation um Bildmittelpunkt ohne Affine Transform!!!!! Spiele- und Multimedia-Programmierung 13
RalleYTN LWJGL Rotation Spiele- und Multimedia-Programmierung 1
P Rotation von Sprite klappt nicht Spiele- und Multimedia-Programmierung 4
J Java 3d Rotation Spiele- und Multimedia-Programmierung 6
B j3d Rotation um mehr als eine Achse Spiele- und Multimedia-Programmierung 9
B j3d Kamera Rotation durch Tastendruck Spiele- und Multimedia-Programmierung 12
H Rotation auf Knopfdruck Spiele- und Multimedia-Programmierung 20
T [gelöst] Java3D: Unerwünschte Rotation um die 3.Achse vermeiden? Spiele- und Multimedia-Programmierung 3
W Rotation aller Objekte einer 3D-Szene Spiele- und Multimedia-Programmierung 8
V Jogl: Objekt trotz Rotation immer in gleiche Richtung bewegen Spiele- und Multimedia-Programmierung 5
E Tetris: Rotation der Tetrominos Spiele- und Multimedia-Programmierung 4
C Java3D Rotation um einen Punkt (y-achse) Spiele- und Multimedia-Programmierung 2
aze Transform3D - dauerhafte Rotation Spiele- und Multimedia-Programmierung 3
J Hilfe: Rotation X und Y Achse (Java3d) Spiele- und Multimedia-Programmierung 12
C JAVA3D Rotation um einen bestimmten Punkt Spiele- und Multimedia-Programmierung 20
"Er" Kamera rotation in Java3D Spiele- und Multimedia-Programmierung 2
R Tetris Rotation? Spiele- und Multimedia-Programmierung 7
P Figur Rotation Spiele- und Multimedia-Programmierung 14
G rotation eines würfels Spiele- und Multimedia-Programmierung 9
T Java3D: Rotation und Translation Spiele- und Multimedia-Programmierung 2
S Rotation relativ zur Rotation einer anderen Transform Group Spiele- und Multimedia-Programmierung 3
S Rotation um verschobene Achse Spiele- und Multimedia-Programmierung 7

Ähnliche Java Themen

Neue Themen


Oben