⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tra.java

📁 基本的java3d程序 画图 三角形 还可以旋转 对于图形编程有一定的意义
💻 JAVA
字号:
import java.applet.Applet; 
import java.awt.BorderLayout; 
import com.sun.j3d.utils.applet.MainFrame; 
import com.sun.j3d.utils.image.TextureLoader; 
import com.sun.j3d.utils.universe.*; 
import com.sun.j3d.utils.geometry.*; 
import javax.media.j3d.*; 
import javax.vecmath.*; 
 
public class Tra extends Applet { 
 
    private BranchGroup createSceneGraph() { 
        BranchGroup objRoot = new BranchGroup(); 
           objRoot.addChild(createObject()); 
        BoundingSphere bounds=new BoundingSphere(new Point3d(0.0,0.0,0.0),100.0); 
        Background bg=new Background(new Color3f(1.0f,1.0f,1.0f)); 
        bg.setApplicationBounds(bounds); 
        objRoot.addChild(bg); 
        objRoot.compile(); 
        return objRoot; 
    } 
 
    private Group createObject() { 
        Transform3D t = new Transform3D(); 
        TransformGroup objTrans = new TransformGroup(t); 
        objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); 
 
       Appearance ap=new Appearance(); 
          Color3f ambient=new Color3f(1.0f,0.0f,0.0f); 
          Color3f emissive = new Color3f(0.8f,0.2f,0.2f); 
          Color3f diffuse=new Color3f(1.f,1.f,0.f); 
          Color3f specular = new Color3f(1.0f,1.0f,1.0f); 
       ap.setMaterial(new Material(ambient,emissive,diffuse,specular,100.0f));      
 
      PolygonAttributes pa = new PolygonAttributes(); 
          pa.setCullFace(PolygonAttributes.CULL_NONE); 
      ap.setPolygonAttributes(pa); 
 
        TransparencyAttributes ta=new TransparencyAttributes(); 
        ta.setCapability(TransparencyAttributes.ALLOW_VALUE_WRITE); 
        ta.setTransparencyMode(ta.BLENDED); 
        ta.setTransparency(.0f); 
        ap.setTransparencyAttributes(ta); 
 
        Alpha alpha = new Alpha(-1, 
                        Alpha.INCREASING_ENABLE|Alpha.DECREASING_ENABLE, 
                        0, 0, 8000, 0, 0, 8000, 0, 0); 
        TransparencyInterpolator transparency= 
               new TransparencyInterpolator(alpha,ta,.0f,1.f); 
        BoundingSphere bounds=new BoundingSphere(new Point3d(0.0,0.0,0.0),100.0); 
                transparency.setSchedulingBounds(bounds); 
        Shape3D shape = new myShape(); 
        shape.setAppearance(ap); 
        objTrans.addChild(shape); 
        objTrans.addChild(transparency); 
 
    Transform3D yAxis = new Transform3D(); 
        Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE, 
                       0, 0, 4000, 0, 0, 0, 0, 0); 
 
        RotationInterpolator rotator = 
            new RotationInterpolator(rotationAlpha, objTrans, yAxis, 
                                     0.0f, (float) Math.PI*2.0f); 
        rotator.setSchedulingBounds(bounds); 
        objTrans.addChild(rotator); 
         
        return objTrans; 
    } 
 
    public Tra() { 
        setLayout(new BorderLayout()); 
        Canvas3D c = new Canvas3D(null); 
        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 Tra(), 540,361); 
    } 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -