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

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

?? navigation around the scene.txt

?? 關于java3D結合vrml文件開發虛擬現實的例子及源碼.
?? TXT
字號:

/*
Essential Java 3D Fast

Ian Palmer

Publisher: Springer-Verlag

ISBN: 1-85233-394-4

*/

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

import javax.media.j3d.AmbientLight;
import javax.media.j3d.Appearance;
import javax.media.j3d.BoundingLeaf;
import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.DirectionalLight;
import javax.media.j3d.Locale;
import javax.media.j3d.Material;
import javax.media.j3d.PhysicalBody;
import javax.media.j3d.PhysicalEnvironment;
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.Color3f;
import javax.vecmath.Point3d;
import javax.vecmath.Vector3d;
import javax.vecmath.Vector3f;

import com.sun.j3d.utils.behaviors.keyboard.KeyNavigatorBehavior;
import com.sun.j3d.utils.geometry.Box;

/**
 * This application uses the mouse keyboard utility class to allow navigation
 * around the scene. The scene consists of a yellow and red cube.
 * 
 * @author I.J.Palmer
 * @version 1.0
 */
public class SimpleKeyNav extends Frame implements ActionListener {
  protected Canvas3D myCanvas3D = new Canvas3D(null);

  protected Button exitButton = new Button("Exit");

  protected BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0,
      0.0), 100.0);

  /**
   * Build the view branch of the scene graph. In this case a key navigation
   * utility object is created and associated with the view transform so that
   * the view can be changed via the keyboard.
   * 
   * @return BranchGroup that is the root of the view branch
   */
  protected BranchGroup buildViewBranch(Canvas3D c) {
    BranchGroup viewBranch = new BranchGroup();
    Transform3D viewXfm = new Transform3D();
    viewXfm.set(new Vector3f(0.0f, 0.0f, 10.0f));
    TransformGroup viewXfmGroup = new TransformGroup(viewXfm);
    viewXfmGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
    viewXfmGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    BoundingSphere movingBounds = new BoundingSphere(new Point3d(0.0, 0.0,
        0.0), 100.0);
    BoundingLeaf boundLeaf = new BoundingLeaf(movingBounds);
    ViewPlatform myViewPlatform = new ViewPlatform();
    viewXfmGroup.addChild(boundLeaf);
    PhysicalBody myBody = new PhysicalBody();
    PhysicalEnvironment myEnvironment = new PhysicalEnvironment();
    viewXfmGroup.addChild(myViewPlatform);
    viewBranch.addChild(viewXfmGroup);
    View myView = new View();
    myView.addCanvas3D(c);
    myView.attachViewPlatform(myViewPlatform);
    myView.setPhysicalBody(myBody);
    myView.setPhysicalEnvironment(myEnvironment);

    KeyNavigatorBehavior keyNav = new KeyNavigatorBehavior(viewXfmGroup);
    keyNav.setSchedulingBounds(movingBounds);
    viewBranch.addChild(keyNav);

    return viewBranch;
  }

  /**
   * Add some lights to the scene graph
   * 
   * @param b
   *            BranchGroup that the lights are added to
   */
  protected void addLights(BranchGroup b) {
    // Create a bounds for the background and lights
    // Set up the global lights
    Color3f ambLightColour = new Color3f(0.5f, 0.5f, 0.5f);
    AmbientLight ambLight = new AmbientLight(ambLightColour);
    ambLight.setInfluencingBounds(bounds);
    Color3f dirLightColour = new Color3f(1.0f, 1.0f, 1.0f);
    Vector3f dirLightDir = new Vector3f(-1.0f, -1.0f, -1.0f);
    DirectionalLight dirLight = new DirectionalLight(dirLightColour,
        dirLightDir);
    dirLight.setInfluencingBounds(bounds);
    b.addChild(ambLight);
    b.addChild(dirLight);
  }

  /**
   * Build the content branch for the scene graph
   * 
   * @return BranchGroup that is the root of the content
   */
  protected BranchGroup buildContentBranch() {
    //Create the appearance an appearance for the two cubes
    Appearance app1 = new Appearance();
    Appearance app2 = new Appearance();
    Color3f ambientColour1 = new Color3f(1.0f, 0.0f, 0.0f);
    Color3f ambientColour2 = new Color3f(1.0f, 1.0f, 0.0f);
    Color3f emissiveColour = new Color3f(0.0f, 0.0f, 0.0f);
    Color3f specularColour = new Color3f(1.0f, 1.0f, 1.0f);
    Color3f diffuseColour1 = new Color3f(1.0f, 0.0f, 0.0f);
    Color3f diffuseColour2 = new Color3f(1.0f, 1.0f, 0.0f);
    float shininess = 20.0f;
    app1.setMaterial(new Material(ambientColour1, emissiveColour,
        diffuseColour1, specularColour, shininess));
    app2.setMaterial(new Material(ambientColour2, emissiveColour,
        diffuseColour2, specularColour, shininess));
    //Make two cubes
    Box leftCube = new Box(1.0f, 1.0f, 1.0f, app1);
    Box rightCube = new Box(1.0f, 1.0f, 1.0f, app2);

    BranchGroup contentBranch = new BranchGroup();
    addLights(contentBranch);
    //Put it all together
    Transform3D leftGroupXfm = new Transform3D();
    leftGroupXfm.set(new Vector3d(-1.5, 0.0, 0.0));
    TransformGroup leftGroup = new TransformGroup(leftGroupXfm);
    Transform3D rightGroupXfm = new Transform3D();
    rightGroupXfm.set(new Vector3d(1.5, 0.0, 0.0));
    TransformGroup rightGroup = new TransformGroup(rightGroupXfm);

    leftGroup.addChild(leftCube);
    rightGroup.addChild(rightCube);
    contentBranch.addChild(leftGroup);
    contentBranch.addChild(rightGroup);
    return contentBranch;

  }

  /**
   * Use the action event of the exit button to end the application.
   */
  public void actionPerformed(ActionEvent e) {
    dispose();
    System.exit(0);
  }

  public SimpleKeyNav() {
    VirtualUniverse myUniverse = new VirtualUniverse();
    Locale myLocale = new Locale(myUniverse);
    myLocale.addBranchGraph(buildViewBranch(myCanvas3D));
    myLocale.addBranchGraph(buildContentBranch());
    setTitle("SimpleKeyNav");
    setSize(400, 400);
    setLayout(new BorderLayout());
    Panel bottom = new Panel();
    bottom.add(exitButton);
    add(BorderLayout.CENTER, myCanvas3D);
    add(BorderLayout.SOUTH, bottom);
    exitButton.addActionListener(this);
    setVisible(true);
  }

  public static void main(String[] args) {
    SimpleKeyNav skn = new SimpleKeyNav();
  }
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成av人片一区二区| 亚洲国产精品一区二区尤物区| 色94色欧美sute亚洲线路一ni| 欧美激情在线观看视频免费| 欧美精品1区2区3区| 成人av电影在线| 国产精品资源站在线| 亚洲国产成人tv| 亚洲老司机在线| 亚洲欧美区自拍先锋| 国产精品国产三级国产aⅴ原创 | 91国内精品野花午夜精品| 欧美男女性生活在线直播观看| 成人免费三级在线| 国产超碰在线一区| 国产一区二区视频在线| 精品亚洲aⅴ乱码一区二区三区| 亚洲一二三四区不卡| 亚洲一级二级三级在线免费观看| 日韩美女视频一区二区| 香蕉影视欧美成人| 蜜臀精品久久久久久蜜臀 | 久久女同互慰一区二区三区| 久久久久久99精品| 天堂成人国产精品一区| 日本中文一区二区三区| 国产激情一区二区三区四区| www.在线欧美| 正在播放亚洲一区| 国产日本欧美一区二区| 一区二区三区不卡在线观看 | 日韩免费看的电影| 亚洲国产激情av| 亚洲成人午夜电影| 国产精品一二三在| 欧美三级在线视频| 国产三级三级三级精品8ⅰ区| 一区二区三区在线看| 久久精品国产99国产| 91亚洲男人天堂| 日韩美女视频在线| 一区二区三区在线影院| 国产乱人伦偷精品视频免下载 | 91丨porny丨首页| 欧美一区二区在线不卡| 国产精品你懂的在线| 免费观看成人鲁鲁鲁鲁鲁视频| 成人黄色在线视频| 日韩欧美中文字幕一区| 一个色在线综合| 成人亚洲一区二区一| 欧美不卡视频一区| 亚洲成人精品影院| 91福利在线播放| 国产精品无遮挡| 狠狠色狠狠色综合日日91app| 欧美日韩日本视频| 一区二区三区视频在线看| 国产成人在线看| 欧美成人伊人久久综合网| 亚洲国产日日夜夜| 色八戒一区二区三区| 国产精品私人影院| 岛国精品在线播放| 国产日韩三级在线| 国产一区二区三区最好精华液| 欧美第一区第二区| 久久激情五月婷婷| 日韩欧美久久一区| 久久国产精品色婷婷| 欧美成人三级在线| 精品一区二区三区日韩| 日韩免费观看2025年上映的电影| 日本欧洲一区二区| 欧美一区二区三区四区五区 | xnxx国产精品| 国产真实精品久久二三区| 日韩欧美成人一区二区| 久久99精品久久只有精品| 欧美不卡一区二区三区| 国产一区二区三区在线观看精品| 久久久高清一区二区三区| 国产91清纯白嫩初高中在线观看| 国产日韩欧美电影| 波多野结衣精品在线| 国产精品成人一区二区艾草| 成人app软件下载大全免费| 亚洲人成网站精品片在线观看| 色综合av在线| 免费av网站大全久久| 久久久久综合网| 99精品黄色片免费大全| 亚洲一区二三区| 欧美成人精品1314www| 成人丝袜高跟foot| 亚洲三级理论片| 在线成人午夜影院| 国产精品一区二区不卡| 中文字幕一区二区三| 欧美午夜一区二区| 美女mm1313爽爽久久久蜜臀| 欧美韩国日本一区| 欧美日本国产一区| 国产精品18久久久久久久久 | 亚洲福利一区二区| 久久综合色之久久综合| 91精品福利视频| 久久aⅴ国产欧美74aaa| 中文字幕一区视频| 91精品国产色综合久久不卡蜜臀| 国产不卡视频在线播放| 亚洲国产欧美另类丝袜| 精品国产一区二区三区不卡| 色婷婷久久99综合精品jk白丝 | 成人黄色小视频| 日韩精品免费视频人成| 国产精品理论在线观看| 欧美一级一区二区| 91麻豆高清视频| 国产永久精品大片wwwapp| 亚洲卡通欧美制服中文| 久久久久国产免费免费| 欧美在线免费播放| 国产一区二区影院| 三级亚洲高清视频| 亚洲另类在线一区| 欧美激情在线免费观看| 欧美一级一区二区| 欧美中文字幕一区| 91美女福利视频| 粉嫩高潮美女一区二区三区| 日韩电影在线免费观看| 亚洲精品国产视频| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美一区二区视频在线观看2020 | 8x8x8国产精品| 91视频免费播放| 成人自拍视频在线| 精品一区二区av| 日韩精品91亚洲二区在线观看| 一区二区在线免费观看| 国产精品久久久久久亚洲毛片| 久久一区二区三区国产精品| 日韩一区二区三区视频在线 | 精品国产乱码久久久久久牛牛| 欧美日韩一区二区三区免费看| 色综合久久久久久久久久久| 成人免费观看男女羞羞视频| 黄色日韩网站视频| 黄色日韩三级电影| 国产精品一区久久久久| 狠狠狠色丁香婷婷综合激情| 久久99深爱久久99精品| 久久国产剧场电影| 国产真实乱偷精品视频免| 国内精品国产成人| 国产传媒久久文化传媒| 国产成人精品影视| 成人av网在线| 欧美性一二三区| 欧美一区二区三区不卡| 精品国产伦一区二区三区观看体验| 91精品欧美久久久久久动漫| 日韩一区二区精品葵司在线| 欧美tk—视频vk| 日本一区二区三区在线观看| 亚洲精品自拍动漫在线| 图片区小说区区亚洲影院| 看片网站欧美日韩| 国产91综合网| 欧美性一二三区| 精品国产一区二区三区不卡| 日本一区二区电影| 亚洲一区二区偷拍精品| 五月婷婷综合激情| 国产一区二区美女诱惑| av电影天堂一区二区在线| 日本韩国视频一区二区| 67194成人在线观看| 久久久久久久综合日本| 一区二区三区在线观看视频| 男人操女人的视频在线观看欧美| 国产麻豆精品久久一二三| 91丨porny丨中文| 精品欧美一区二区三区精品久久| 国产偷国产偷精品高清尤物| 一级女性全黄久久生活片免费| 奇米888四色在线精品| 成人黄色综合网站| 91精品国产日韩91久久久久久| 欧美激情自拍偷拍| 日韩1区2区3区| av不卡在线播放| 精品剧情v国产在线观看在线| 成人欧美一区二区三区小说 | 福利一区二区在线| 欧美日韩亚洲综合在线| 国产亚洲短视频| 日韩av一级电影| 欧美写真视频网站|