📄 mypoint.java
字号:
package com.java3d.test;
import java.applet.Applet;
import java.awt.BorderLayout;
import javax.media.j3d.Appearance;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.LineArray;
import javax.media.j3d.LineAttributes;
import javax.media.j3d.LineStripArray;
import javax.media.j3d.PointArray;
import javax.media.j3d.PointAttributes;
import javax.media.j3d.Shape3D;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.universe.SimpleUniverse;
public class myPoint extends Applet {
/**
*
*/
private static final long serialVersionUID = 1L;
public BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup();
float vert[] = {
.8f, 0.8f,0.0f,
-0.8f, 0.8f,0.0f,
0.5f, 0.0f,0.0f,
-0.5f, 0.0f,0.0f,
-0.8f,-0.8f,0.0f,
0.8f,-0.8f,0.0f,
};
float pvert[] = {
.8f,-0.8f,0.0f
};
float pcolor[] = {
0.3f,0.8f,0.0f
};
float color[] = {
0.0f,0.5f,1.0f,
0.5f,0.0f,1.0f,
0.0f,0.8f,0.2f,
1.0f,0.0f,0.3f,
0.0f,1.0f,0.3f,
0.3f,0.8f,0.0f,
};
Shape3D shape = new Shape3D();
Shape3D pshape = new Shape3D();
//几个点连成线
int StripCount[] = new int[1];
StripCount[0] = 6;
PointArray point = new PointArray(6,PointArray.COORDINATES | PointArray.COLOR_3);
//LineArray line = new LineArray (6,PointArray.COORDINATES | PointArray.COLOR_3);
LineStripArray line = new LineStripArray (6,PointArray.COORDINATES | PointArray.COLOR_3,StripCount);
point.setCoordinates(0,pvert);
point.setColors(0,pcolor);
line.setCoordinates(0,vert);
line.setColors(0,color);
pshape.setGeometry(point);
shape.setGeometry(line);
PointAttributes ppa = new PointAttributes();
ppa.setPointSize(20.0f);
LineAttributes pa = new LineAttributes();
pa.setLineWidth(1.5f);
pa.setLinePattern(LineAttributes.PATTERN_DASH);
ppa.setPointAntialiasingEnable(true);
//pa.setLineAntialiasingEnable(true);
//不加这一行,点的显示效果为正方形
//加了这一行,点的显示效果为圆形
Appearance ap = new Appearance();
Appearance pap = new Appearance();
pap.setPointAttributes(ppa);
ap.setLineAttributes(pa);
shape.setAppearance(ap);
pshape.setAppearance(pap);
objRoot.addChild(shape);
objRoot.addChild(pshape);
objRoot.compile();
return objRoot;
}
public myPoint() {
Canvas3D canvas = new Canvas3D(SimpleUniverse
.getPreferredConfiguration());
setLayout(new BorderLayout());
add("Center", canvas);
BranchGroup scene = createSceneGraph();
SimpleUniverse u = new SimpleUniverse(canvas);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
}
public static void main(String[] args) {
new MainFrame(new myPoint(), 500,500);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -