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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? this is our first simple program that creates a cube.txt

?? 關(guān)于java3D結(jié)合vrml文件開發(fā)虛擬現(xiàn)實(shí)的例子及源碼.
?? TXT
字號(hào):

/*
Essential Java 3D Fast

Ian Palmer

Publisher: Springer-Verlag

ISBN: 1-85233-394-4

*/
//Import the Java3D classes

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.media.j3d.Appearance;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.Locale;
import javax.media.j3d.Node;
import javax.media.j3d.PhysicalBody;
import javax.media.j3d.PhysicalEnvironment;
import javax.media.j3d.QuadArray;
import javax.media.j3d.Shape3D;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.media.j3d.View;
import javax.media.j3d.ViewPlatform;
import javax.media.j3d.VirtualUniverse;
import javax.vecmath.AxisAngle4d;
import javax.vecmath.Vector3f;

/**
 * This is our first simple program that creates a cube. We have no lighting
 * defined so the object appears a bright white colour. The cube is tilted
 * slightly so that we can see its shape by creating a transform group.
 * 
 * @author I.J.Palmer
 * @version 1.0
 */
public class SimpleWorld extends Frame implements ActionListener {
  /** The canvas 3D used to display the scene. */
  protected Canvas3D myCanvas3D = new Canvas3D(null);

  /** The AWT button used to exit the application. */
  protected Button myButton = new Button("Exit");

  /**
   * This function builds the view branch of the scene graph. It creates a
   * branch group and then creates the necessary view elements to give a
   * useful view of our content.
   * 
   * @param c
   *            Canvas3D that will display the view
   * @return BranchGroup that is the root of the view elements
   */
  protected BranchGroup buildViewBranch(Canvas3D c) {
    //This is the root of our view branch
    BranchGroup viewBranch = new BranchGroup();

    //The transform that will move our view
    //back 5 units along the z-axis
    Transform3D viewXfm = new Transform3D();
    viewXfm.set(new Vector3f(0.0f, 0.0f, 5.0f));

    //The transform group that will be the parent
    //of our view platform elements
    TransformGroup viewXfmGroup = new TransformGroup(viewXfm);
    ViewPlatform myViewPlatform = new ViewPlatform();

    //Next the physical elements are created
    PhysicalBody myBody = new PhysicalBody();
    PhysicalEnvironment myEnvironment = new PhysicalEnvironment();

    //Then we put it all together
    viewXfmGroup.addChild(myViewPlatform);
    viewBranch.addChild(viewXfmGroup);
    View myView = new View();
    myView.addCanvas3D(c);
    myView.attachViewPlatform(myViewPlatform);
    myView.setPhysicalBody(myBody);
    myView.setPhysicalEnvironment(myEnvironment);

    return viewBranch;
  }

  /**
   * This builds the content branch of our scene graph. It uses the buildCube
   * function to create the actual shape, adding to to the transform group so
   * that the shape is slightly tilted to reveal its 3D shape.
   * 
   * @param shape
   *            Node that represents the geometry for the content
   * @return BranchGroup that is the root of the content branch
   */
  protected BranchGroup buildContentBranch(Node shape) {
    //Create the branch group that will be the root of the content branch
    BranchGroup contentBranch = new BranchGroup();

    //Create the transform that will cause the shape to appear tilted
    Transform3D rotateCube = new Transform3D();
    rotateCube.set(new AxisAngle4d(1.0, 1.0, 0.0, Math.PI / 4.0));
    TransformGroup rotationGroup = new TransformGroup(rotateCube);

    //Put the branch together
    contentBranch.addChild(rotationGroup);
    rotationGroup.addChild(shape);

    return contentBranch;
  }

  /**
   * This constructs a cube as an array of quadrilateral polygons. There are
   * six faces, each with four vertices (obviously!). The cube extends 1 unit
   * along each axis in the positive and negavtive directions and is centred
   * on the origin.
   * 
   * @return Shape3D that is the cube
   */
  protected Shape3D buildCube() {
    //Create the array of numbers that will form the
    //vertex information.
    float[] cubeFaces = { 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f,
        1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, -1.0f, -1.0f, 1.0f,
        -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f,
        -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f,
        -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, -1.0f,
        -1.0f, -1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f,
        -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, 1.0f, -1.0f, -1.0f, 1.0f,
        -1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, 1.0f };

    //Create the array of quadrilaterals from the vertices
    QuadArray cubeData = new QuadArray(24, QuadArray.COORDINATES);
    cubeData.setCoordinates(0, cubeFaces);

    //Create a default appearance
    Appearance app = new Appearance();

    //Create and return the cube
    return new Shape3D(cubeData, app);
  }

  /**
   * Handles the exit button action to quit the program.
   */
  public void actionPerformed(ActionEvent e) {
    dispose();
    System.exit(0);
  }

  /**
   * This creates a default universe and locale, creates a window and uses the
   * functions defined in this class to build the view and content branches of
   * the scene graph.
   */
  public SimpleWorld() {
    //Create a default universe and locale
    VirtualUniverse myUniverse = new VirtualUniverse();
    Locale myLocale = new Locale(myUniverse);

    //Use the functions to build the scene graph
    myLocale.addBranchGraph(buildViewBranch(myCanvas3D));
    myLocale.addBranchGraph(buildContentBranch(buildCube()));

    //Do some AWT stuff to set up the window
    setTitle("SimpleWorld");
    setSize(400, 400);
    setLayout(new BorderLayout());
    add("Center", myCanvas3D);
    myButton.addActionListener(this);
    add("South", myButton);
    setVisible(true);
  }

  /**
   * Just create the class and run!
   */
  public static void main(String[] args) {
    SimpleWorld sw = new SimpleWorld();
  }
}

           

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本精品裸体写真集在线观看 | 亚洲三级在线观看| 美女视频第一区二区三区免费观看网站| av动漫一区二区| 国产精品免费人成网站| 岛国一区二区三区| 欧美国产一区二区| 波多野结衣一区二区三区| 国产午夜精品理论片a级大结局 | 成人h动漫精品| 国产精品久久久久永久免费观看| 色狠狠一区二区三区香蕉| 亚洲777理论| 国产亚洲一二三区| 91国产免费看| 九色综合狠狠综合久久| 国产精品久久久久毛片软件| 日本高清不卡aⅴ免费网站| 偷拍与自拍一区| 国产色一区二区| 欧美三级日韩三级国产三级| 精品一区二区三区在线播放 | 国产精品国产三级国产aⅴ入口 | 亚洲情趣在线观看| 欧美喷潮久久久xxxxx| 国产麻豆成人传媒免费观看| ...xxx性欧美| 日韩欧美国产综合在线一区二区三区| 成人伦理片在线| 亚洲第一福利一区| 国产欧美一区二区精品婷婷| 在线观看日韩国产| 国产成人亚洲精品青草天美 | 亚洲免费高清视频在线| 精品乱码亚洲一区二区不卡| 色老头久久综合| 国产一区二区三区av电影| 亚洲制服丝袜在线| 国产免费成人在线视频| 欧美一区永久视频免费观看| 99国产精品国产精品久久| 九一九一国产精品| 亚洲成在人线免费| 日韩美女视频一区二区| 久久综合久久久久88| 欧美日韩视频在线第一区| 成人少妇影院yyyy| 久草中文综合在线| 日日夜夜免费精品| 亚洲激情成人在线| 国产欧美在线观看一区| 欧美xxxxx裸体时装秀| 欧美在线影院一区二区| 99久久精品国产观看| 国产九色精品成人porny| 1024精品合集| 日本一区二区三区高清不卡| 久久亚洲春色中文字幕久久久| 5566中文字幕一区二区电影 | 欧美日韩高清在线| 一本色道久久综合狠狠躁的推荐| 国产成人精品影视| 久久国产精品99久久人人澡| 午夜精品影院在线观看| 亚洲国产婷婷综合在线精品| 亚洲天天做日日做天天谢日日欢 | 亚洲视频你懂的| 欧美韩日一区二区三区| 久久久91精品国产一区二区精品| 欧美变态tickling挠脚心| 欧美日韩日日摸| 欧美美女一区二区在线观看| 欧美美女黄视频| 欧美高清视频www夜色资源网| 欧美日韩在线精品一区二区三区激情 | 欧美唯美清纯偷拍| 日本久久一区二区三区| 在线中文字幕不卡| 91黄视频在线观看| 欧美日韩电影一区| 69精品人人人人| 精品999久久久| 国产日韩亚洲欧美综合| 国产精品电影一区二区| 亚洲欧美一区二区久久| 亚洲一区在线观看免费| 天天综合网 天天综合色| 青椒成人免费视频| 久草精品在线观看| 成人av资源网站| 91蜜桃婷婷狠狠久久综合9色| 一本一道久久a久久精品| 欧美日韩在线播放三区四区| 欧美日韩精品一区二区| 日韩女同互慰一区二区| 久久久久一区二区三区四区| 中文字幕精品在线不卡| 亚洲欧美另类久久久精品| 亚洲成av人片观看| 日本91福利区| 久久激情五月激情| 国产999精品久久| 欧美在线综合视频| 欧美成人一区二区三区| 中文字幕精品一区二区精品绿巨人| 亚洲色图在线视频| 免费观看日韩电影| 99久久精品国产毛片| 欧美精品v国产精品v日韩精品| 精品国产乱码久久久久久蜜臀| 国产精品水嫩水嫩| 五月激情六月综合| 成人免费毛片嘿嘿连载视频| 欧美在线综合视频| 国产午夜精品福利| 亚洲国产视频一区| 国产xxx精品视频大全| 欧美无人高清视频在线观看| 国产色产综合色产在线视频| 午夜视频一区二区三区| 国产成人一区二区精品非洲| 欧美日韩不卡在线| 国产精品美女久久久久久久 | 欧美精品一区二区在线观看| 亚洲同性gay激情无套| 狠狠色综合播放一区二区| 91成人国产精品| 国产女主播视频一区二区| 日韩av高清在线观看| 一本大道综合伊人精品热热| 久久久www免费人成精品| 午夜久久久久久久久久一区二区| 成人精品国产一区二区4080| www.66久久| 欧美日本一道本| 亚洲欧美在线视频观看| 精品一区二区三区的国产在线播放| 欧洲av在线精品| 日本一区二区免费在线观看视频| 日韩制服丝袜av| 在线观看精品一区| 亚洲视频免费在线观看| 懂色av一区二区三区免费观看| 日韩女优毛片在线| 五月婷婷激情综合网| 日本高清无吗v一区| 国产精品麻豆久久久| 国产精品白丝jk黑袜喷水| 日韩三级电影网址| 首页国产欧美日韩丝袜| 欧美性高清videossexo| 亚洲精品视频一区二区| 91丨porny丨国产| 国产精品免费人成网站| 成人午夜免费视频| 国产日韩欧美在线一区| 国产成人综合在线| 久久精品亚洲精品国产欧美| 久久电影网电视剧免费观看| 日韩欧美亚洲国产精品字幕久久久 | 国产一区二区三区久久悠悠色av| 日韩亚洲欧美一区| 久久99精品久久久久久动态图| 制服.丝袜.亚洲.中文.综合| 亚洲成人av资源| 欧美久久一二区| 亚洲福利视频一区| 欧美日韩国产天堂| 午夜av一区二区| 欧美一区日韩一区| 麻豆国产欧美一区二区三区| 日韩欧美亚洲另类制服综合在线| 久久精品国产77777蜜臀| 日韩视频一区二区| 国产在线看一区| 国产欧美1区2区3区| 不卡一区二区三区四区| 亚洲特级片在线| 在线精品视频一区二区| 亚洲.国产.中文慕字在线| 欧美一级片免费看| 国产一区二区电影| 国产精品久久久久影院| 在线影视一区二区三区| 午夜激情综合网| 精品国产乱码久久| 成人免费高清在线观看| 一区二区三区中文在线| 欧美人伦禁忌dvd放荡欲情| 久久se精品一区精品二区| 国产调教视频一区| 一本一道久久a久久精品综合蜜臀| 亚洲va韩国va欧美va精品| 日韩欧美成人激情| 99久久夜色精品国产网站| 午夜精品久久久久久久蜜桃app| 日韩欧美第一区| 99久久99久久综合| 日本最新不卡在线| 中文字幕亚洲区|