📄 mypoint.java
字号:
//MyPoint.java
import java.applet.Applet;
import java.awt.BorderLayout;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.Primitive;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import java.awt.GraphicsConfiguration;
public class MyPoint extends Applet {
public BranchGroup createSceneGraph() {
BranchGroup objRoot=new BranchGroup();
BoundingSphere bounds=new BoundingSphere(new Point3d(0.0,0.0,0.0),100.0);
Color3f bgColor=new Color3f(1.0f,1.0f,1.0f);
Background bg=new Background(bgColor);
bg.setApplicationBounds(bounds);
objRoot.addChild(bg);
float vert[]= {
.5f,0.5f,0.0f, -0.5f,0.5f,0.0f,
0.3f,0.0f,0.0f, -0.3f,0.0f,0.0f,
-0.5f,-0.5f,0.0f, 0.5f,-0.5f,0.0f,
};
float color[]= {
0.0f,0.5f,0.0f, 0.0f,0.5f,0.0f,
0.0f,0.3f,2.0f, 0.0f,0.0f,0.3f,
0.0f,0.0f,0.3f, 0.3f,0.3f,0.0f,
};
Shape3D shape=new Shape3D();
int[ ] index={0,1,2};
int vCount=6;
int iCount=3;
IndexedPointArray point=new IndexedPointArray(vCount,IndexedPointArray.COORDINATES|IndexedPointArray.COLOR_3,iCount);
point.setCoordinates(0,vert);
point.setColors(0,color);
point.setCoordinateIndices(0,index);
point.setColorIndices(0,index);
PointAttributes pa=new PointAttributes( );
pa.setPointSize(10.0f);
pa.setPointAntialiasingEnable(true); //显示效果为圆形;不加这行,显示效果为方形
Appearance app=new Appearance( );
app.setPointAttributes(pa);
shape.setGeometry(point);
shape.setAppearance(app);
objRoot.addChild(shape);
objRoot.compile();
return objRoot;
}
public MyPoint() {
setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D c=new Canvas3D(config);
add("Center",c);
BranchGroup scene=createSceneGraph();
SimpleUniverse u=new SimpleUniverse(c);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
}
public static void main(String[] args) {
new MainFrame(new MyPoint(),400,300);
}
}//end of MyPoint.java
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -