亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wrapparticles3d.java

?? 一個用java寫的關于粒子系統的小程序
?? JAVA
字號:
// WrapParticles3D.java// Andrew Davison, April 2005, ad@fivedots.coe.psu.ac.th/* Three different implementations of Particle systems:      * points in a PointArray      * lines in a LineArray      * quads in a QuadArray   Geometrries are stored using BY_REFERENCE, and updated with   a GeometryUpdater subclass.   The QuadArray example illustrates how to apply a single texture    to each of the quads, and how to blend texture and colour.   The examples are all variations on a fountain of particles    emmitted from the origin in a parabolic arc. Particles are    reused when they drop below the XZ plane.*/import javax.swing.*;import java.awt.*;import com.sun.j3d.utils.universe.*;import com.sun.j3d.utils.geometry.*;import javax.media.j3d.*;import javax.vecmath.*;import com.sun.j3d.utils.behaviors.vp.*;public class WrapParticles3D extends JPanel// Holds the 3D canvas where the loaded image is displayed{  private static final int PWIDTH = 512;   // size of panel  private static final int PHEIGHT = 512;   private static final int BOUNDSIZE = 100;  // larger than world  private static final Point3d USERPOSN = new Point3d(0,5,20);    // initial user position  private SimpleUniverse su;  private BranchGroup sceneBG;  private BoundingSphere bounds;   // for environment nodes  public WrapParticles3D(int numParticles, int fountainChoice)  // construct the 3D canvas  {    setLayout( new BorderLayout() );    setOpaque( false );    setPreferredSize( new Dimension(PWIDTH, PHEIGHT));    GraphicsConfiguration config =					SimpleUniverse.getPreferredConfiguration();    Canvas3D canvas3D = new Canvas3D(config);    add("Center", canvas3D);    canvas3D.setFocusable(true);    canvas3D.requestFocus();    // the canvas now has focus, so receives key events    su = new SimpleUniverse(canvas3D);    createSceneGraph(numParticles, fountainChoice);    initUserPosition();        // set user's viewpoint    orbitControls(canvas3D);   // controls for moving the viewpoint        su.addBranchGraph( sceneBG );  } // end of WrapParticles3D()  private void createSceneGraph(int numParts, int fountainChoice)   // initilise the scene  {     sceneBG = new BranchGroup();    bounds = new BoundingSphere(new Point3d(0,0,0), BOUNDSIZE);       lightScene();         // add the lights    addBackground();      // add the sky    sceneBG.addChild( new CheckerFloor().getBG() );  // add the floor    switch(fountainChoice) {      case 1: addPointsFountain(numParts); break;      case 2: addLinesFountain(numParts); break;      case 3: addQuadFountain(numParts); break;      default: break;   // say nothing    }    sceneBG.compile();   // fix the scene  } // end of createSceneGraph()  private void lightScene()  /* One ambient light, 2 directional lights */  {    Color3f white = new Color3f(1.0f, 1.0f, 1.0f);    // Set up the ambient light    AmbientLight ambientLightNode = new AmbientLight(white);    ambientLightNode.setInfluencingBounds(bounds);    sceneBG.addChild(ambientLightNode);    // Set up the directional lights    Vector3f light1Direction  = new Vector3f(-1.0f, -1.0f, -1.0f);       // left, down, backwards     Vector3f light2Direction  = new Vector3f(1.0f, -1.0f, 1.0f);       // right, down, forwards    DirectionalLight light1 =             new DirectionalLight(white, light1Direction);    light1.setInfluencingBounds(bounds);    sceneBG.addChild(light1);    DirectionalLight light2 =         new DirectionalLight(white, light2Direction);    light2.setInfluencingBounds(bounds);    sceneBG.addChild(light2);  }  // end of lightScene()  private void addBackground()  // A blue sky  { Background back = new Background();    back.setApplicationBounds( bounds );    back.setColor(0.17f, 0.65f, 0.92f);    // sky colour    sceneBG.addChild( back );  }  // end of addBackground()  private void orbitControls(Canvas3D c)  /* OrbitBehaviour allows the user to rotate around the scene, and to     zoom in and out.  */  { OrbitBehavior orbit = 		new OrbitBehavior(c, OrbitBehavior.REVERSE_ALL);    orbit.setSchedulingBounds(bounds);    ViewingPlatform vp = su.getViewingPlatform();    vp.setViewPlatformBehavior(orbit);	      }  // end of orbitControls()  private void initUserPosition()  // Set the user's initial viewpoint using lookAt()  {    ViewingPlatform vp = su.getViewingPlatform();    TransformGroup steerTG = vp.getViewPlatformTransform();    Transform3D t3d = new Transform3D();    steerTG.getTransform(t3d);    // args are: viewer posn, where looking, up direction    t3d.lookAt( USERPOSN, new Point3d(0,0,0), new Vector3d(0,1,0));    t3d.invert();    steerTG.setTransform(t3d);  }  // end of initUserPosition()// -------------------------- fountains -------------  private void addPointsFountain(int numParts)  {    PointParticles ptsFountain = new PointParticles(numParts, 20);   // time delay    // move particles start position to (2,0,1)    TransformGroup posnTG = new TransformGroup();    Transform3D trans = new Transform3D();    trans.setTranslation( new Vector3d(2.0f, 0.0f, 1.0f) );    posnTG.setTransform(trans);    posnTG.addChild(ptsFountain);     sceneBG.addChild( posnTG );    // timed behaviour to animate the fountain    Behavior partBeh = ptsFountain.getParticleBeh();    partBeh.setSchedulingBounds( bounds );    sceneBG.addChild(partBeh);  } // end of addPointsFountain()  private void addQuadFountain(int numParts)  {    QuadParticles quadsFountain = new QuadParticles(numParts, 20);   // time delay    sceneBG.addChild(quadsFountain);   // will start at origin    // timed behaviour to animate the fountain    Behavior partBeh = quadsFountain.getParticleBeh();    partBeh.setSchedulingBounds( bounds );    sceneBG.addChild(partBeh);  } // end of addQuadFountain()  private void addLinesFountain(int numParts)  {    LineParticles linesFountain = 				new LineParticles(numParts, 20);   // time delay    sceneBG.addChild(linesFountain);   // will start at origin    // timed behaviour to animate the fountain    Behavior partBeh = linesFountain.getParticleBeh();    partBeh.setSchedulingBounds( bounds );    sceneBG.addChild(partBeh);  } // end of addLinesRefFountain()} // end of WrapParticles3D class

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡一二三区黄网| 久久疯狂做爰流白浆xx| 男女男精品视频| 国产黄色精品网站| 欧美日韩久久一区二区| 国产精品天美传媒| 免费人成网站在线观看欧美高清| k8久久久一区二区三区| 日韩一区二区三| 亚洲一卡二卡三卡四卡无卡久久| 国内精品在线播放| 91久久精品午夜一区二区| 精品久久免费看| 亚洲mv大片欧洲mv大片精品| 高清成人免费视频| 精品久久久久久久久久久院品网| 亚洲一区二区三区四区五区黄| 亚洲欧美福利一区二区| 欧美日本不卡视频| 欧美色欧美亚洲另类二区| 一区二区三区中文字幕| 国产麻豆日韩欧美久久| 色诱亚洲精品久久久久久| 国产精品欧美久久久久无广告 | 综合欧美亚洲日本| 韩日欧美一区二区三区| 欧美久久久久免费| 粉嫩蜜臀av国产精品网站| 国产精品久久久99| 日韩免费看的电影| 综合欧美一区二区三区| 亚洲高清在线精品| 麻豆成人91精品二区三区| 国产成人精品一区二| 777奇米成人网| 韩日欧美一区二区三区| 亚洲无人区一区| 一区二区三区四区中文字幕| 中日韩av电影| 欧美国产成人精品| 久久久噜噜噜久久人人看| 欧美久久高跟鞋激| 日韩视频在线一区二区| 中文字幕第一区第二区| 国产欧美日韩视频一区二区| 麻豆成人91精品二区三区| 日韩欧美国产一二三区| 另类成人小视频在线| 欧美电影免费观看高清完整版在线观看| 午夜国产精品影院在线观看| 欧美精品乱码久久久久久| 日本三级亚洲精品| 欧美成人性福生活免费看| 国内精品第一页| 国产欧美一区二区精品婷婷| 99国产精品国产精品久久| 亚洲精品高清在线观看| 欧美日韩国产精选| 看电影不卡的网站| 国产精品亲子乱子伦xxxx裸| 91麻豆免费观看| 全国精品久久少妇| 国产午夜亚洲精品理论片色戒| 99久久夜色精品国产网站| 亚洲风情在线资源站| 日韩欧美国产成人一区二区| 国产91在线|亚洲| 亚洲成人1区2区| 精品粉嫩超白一线天av| 91在线精品一区二区| 日本视频中文字幕一区二区三区| 久久久久国产精品麻豆ai换脸 | 国产伦精品一区二区三区在线观看| 久久综合九色综合欧美98 | 激情另类小说区图片区视频区| 国产欧美一区二区精品性色超碰| 色婷婷av久久久久久久| 久久av资源站| 亚洲黄色尤物视频| 欧美电影免费观看高清完整版在| av在线不卡观看免费观看| 日韩成人一区二区三区在线观看| 国产欧美一区二区精品性| www.成人网.com| 狠狠色丁香婷婷综合| 亚洲最新在线观看| 国产欧美日韩综合| 欧美一个色资源| 91色乱码一区二区三区| 国内精品久久久久影院色| 亚洲最大成人网4388xx| 久久久99免费| 日韩欧美国产综合在线一区二区三区| 91在线无精精品入口| 蜜臀av一级做a爰片久久| 樱花影视一区二区| 国产精品久久毛片| 精品粉嫩超白一线天av| 欧美一区二区三区视频| 91成人看片片| 91一区二区三区在线播放| 国产九九视频一区二区三区| 日韩专区一卡二卡| 亚洲一级二级三级| 亚洲精品日产精品乱码不卡| 国产嫩草影院久久久久| 2024国产精品| 精品区一区二区| 欧美一区二区黄色| 91精品国产综合久久久久久 | 麻豆精品一二三| 视频在线观看国产精品| 一区二区三区免费观看| 亚洲精品亚洲人成人网| 亚洲码国产岛国毛片在线| 国产精品久久久久久久浪潮网站 | 色综合中文综合网| 精品99999| 精品国产乱码久久久久久老虎| 欧美日韩国产成人在线免费| 欧美日韩激情一区二区三区| 欧美日韩国产小视频在线观看| 色综合久久中文综合久久牛| 97久久久精品综合88久久| 91亚洲国产成人精品一区二三| 不卡视频一二三四| 日本乱人伦aⅴ精品| 欧美影视一区在线| 欧美亚洲禁片免费| 欧美精品日韩精品| 欧美一区二区三区电影| 欧美电影精品一区二区| 久久伊人中文字幕| 中文字幕一区三区| 亚洲影视资源网| 日韩—二三区免费观看av| 蜜桃视频一区二区三区| 韩国av一区二区三区在线观看| 国产激情一区二区三区四区| 91在线免费看| 777久久久精品| 久久精品男人天堂av| 中文字幕在线不卡国产视频| 一区二区高清在线| 蜜桃精品在线观看| 懂色av一区二区夜夜嗨| 在线欧美日韩精品| 日韩一区二区免费在线电影| 久久久国际精品| 亚洲蜜臀av乱码久久精品| 日韩二区三区四区| 国产成人自拍网| 欧美亚洲国产一区在线观看网站 | 色综合久久88色综合天天| 欧美精品一卡二卡| 日本一区二区免费在线| 亚洲一区二区三区在线| 狠狠色伊人亚洲综合成人| 91亚洲午夜精品久久久久久| 91精品国模一区二区三区| 国产欧美日韩综合精品一区二区| 亚洲永久精品国产| 国产精品一卡二卡在线观看| 在线观看日韩电影| 国产日产欧美一区二区视频| 亚洲午夜国产一区99re久久| 国产精品一区二区免费不卡| 欧美无砖专区一中文字| 国产偷v国产偷v亚洲高清| 污片在线观看一区二区| 成人免费高清在线观看| 欧美一区二区三区视频在线| 一区二区三区在线视频免费| 国产成人免费在线| 欧美一卡二卡在线观看| 亚洲一区二区在线免费观看视频| 国产超碰在线一区| 91精品欧美综合在线观看最新 | 91蜜桃视频在线| 欧美精品一区视频| 婷婷六月综合网| 在线视频观看一区| 国产精品对白交换视频| 国产一区二区三区电影在线观看 | 亚洲成人黄色影院| 91在线国内视频| 国产午夜精品久久久久久免费视| 奇米综合一区二区三区精品视频| 在线精品视频一区二区| 综合精品久久久| 成人性生交大片免费看中文网站| 精品国产伦一区二区三区观看方式| 香港成人在线视频| 欧美日韩免费电影| 亚洲一二三四区| 欧美亚洲一区三区| 亚洲愉拍自拍另类高清精品| 色综合天天综合| 中文字幕一区免费在线观看 | 国产一区二区三区精品欧美日韩一区二区三区|