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

📄 mypoint.java

📁 这个就是目前我收集,以及自己写的一些java3d的原码,大部分都可以运行,适合和我一样,刚刚开始对java3D心动的菜鸟
💻 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 + -