Hallo ich bin neu hier. Ich suche mittlerweile den ganzen Tag schon nach der Lösung meines Problems. Vieelicht könnte Ihr mir weiterhelfen. Ich möchte lediglich einen Punkt in JAVA3D darstellen, Linien und Würfel funtionieren wunderbar. Nicht wundern über die 4D (soll so sein) . JAVA3D soll bei mir zur Darstellung von Punktwolken aus einer Datenbank dienen.
Es gibt bei Punkt auch keine Fehlermeldung, aber er wird halt einfach nicht angezeigt, was mache ich falsch.
Danke schonmal für Eure Hilfe.
PS: ich habe wirklich schon viel gegoogelt und gelesen bevor ich mich hier gemeldet habe.
Hier Point4D
Es gibt bei Punkt auch keine Fehlermeldung, aber er wird halt einfach nicht angezeigt, was mache ich falsch.
Danke schonmal für Eure Hilfe.
PS: ich habe wirklich schon viel gegoogelt und gelesen bevor ich mich hier gemeldet habe.
Java:
public class Java3DContainer extends JPanel {
private static final long serialVersionUID = 1L;
public Java3DContainer() {
setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse
.getPreferredConfiguration();
Canvas3D canvas3d = new Canvas3D(config);
add("Center", canvas3d);
SimpleUniverse universe = new SimpleUniverse(canvas3d);
universe.getViewingPlatform().setNominalViewingTransform();
Transform3D transform3d = new Transform3D();
MouseTransformGroup transroot = new MouseTransformGroup(transform3d);
transroot.addChild(new ColorCube(0.01f));
transroot.addChild(new Line4D(0.0F, 0.0F, 0.0F, 0.1F, 0.1F, 0.1F));
transroot.addChild(new Point4D(0.2F, 0.2F, 0.2F));
BranchGroup branchgroup = new BranchGroup();
branchgroup.addChild(transroot);
universe.addBranchGraph(branchgroup);
}
}
Hier Point4D
Java:
package primitives;
import java.util.Date;
import javax.media.j3d.Appearance;
import javax.media.j3d.Material;
import javax.media.j3d.PointAttributes;
import javax.media.j3d.PointArray;
import javax.media.j3d.Shape3D;
import javax.vecmath.Point3f;
public class Point4D extends Shape3D implements ITimeDependent {
private static final long serialVersionUID = -6076552396469910439L;
private float x;
private float y;
private float z;
public Point4D(float x, float y, float z) {
this.x = x;
this.y = y;
this.z = z;
this.addGeometry(getPoint());
}
public PointArray getPoint() {
PointArray pointsArray = new PointArray(1, PointArray.COORDINATES
| PointArray.ALLOW_TEXCOORD_WRITE);
Point3f[] points = { new Point3f(x, y, z) };
pointsArray.setCoordinates(0, points);
Appearance pointAppearance = createAppearance();
PointAttributes pointAttrib = new PointAttributes();
pointAttrib.setPointAntialiasingEnable(true);
pointAttrib.setPointSize(1);
pointAppearance.setPointAttributes(pointAttrib);
return pointsArray;
}
public float getX() {
return this.x;
}
public float getY() {
return this.y;
}
public float getZ() {
return this.z;
}
public Date GetCreateDate() {
return createDate;
}
}
Zuletzt bearbeitet: