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

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

?? interpreter.java

?? 采用Java3D,基于L-system
?? JAVA
字號:
import java.util.Vector;import javax.media.j3d.*;import javax.vecmath.*;import com.sun.j3d.utils.geometry.*;/** * This class walks through an L-system rule, as a Logo turtle would. * The turtle draws line segments (cylinders) behind it. * (called by: Lsystem.java, Interpreter.java) * * @author: Scott Teresi, April 1999, www.teresi.us */public class Interpreter {  State s = new State();  Vector stateStack = new Vector();  Appearance branchApp = new Appearance();  Appearance leafApp = new Appearance();  int depth;  String rule;  int cylEdges = 3;  double cylRadius = 0.1;  double mult = 0.01;  boolean debug = false;;  public Interpreter () {    // set the default Appearances    Material mat1 = new Material();    mat1.setDiffuseColor(.9f, .2f, .05f);    mat1.setAmbientColor(.18f, .05f, 0f);    branchApp.setMaterial(mat1);    Material mat2 = new Material();    mat2.setDiffuseColor(0f, .7f, .05f);    mat2.setAmbientColor(0f, .3f, 0f);    leafApp.setMaterial(mat2);  }  public void setState (State state) {    s = state;  }  public void setAppearance (Appearance app1, Appearance app2) {    branchApp = app1;    leafApp = app2;  }  public void initDraw (double rad, double m, int edges, boolean dbg) {    cylRadius = rad;    mult = m;    cylEdges = edges;    debug = dbg;  }  public BranchGroup execute(int d, String r) {    depth = d;    rule = r;    BranchGroup bg = new BranchGroup();    if (depth == 0)      return bg;    if (debug) {      for (int i = 0; i < (8-depth); i ++)	System.out.print("  ");      System.out.println("Interpreting: " + rule);    }    int i = 0;    while (i < rule.length()) {      // System.out.println(rule.charAt(i) + "  " + new Point3f(s.curPos) +      //		 "  " + s.angle);      switch (rule.charAt(i)) {        case ' ':        case '=':	  break;        case '+':	  // turn the cursor left	  if (!s.swapDirections)	    s.angle += s.angleInc;   // turn left	  else	    s.angle -= s.angleInc;   // turn right	  if (s.angle > 360.0)	    s.angle -= 360.0;	  if (s.angle < -360.0)	    s.angle += 360.0;	  break;        case '-':	  // turn the cursor right	  if (!s.swapDirections)	    s.angle -= s.angleInc;   // turn right	  else	    s.angle += s.angleInc;   // turn left	  if (s.angle > 360.0)	    s.angle -= 360.0;	  if (s.angle < -360.0)	    s.angle += 360.0;	  break;        case '!':	  // swap directions of all following cursor turns	  s.swapDirections = !s.swapDirections;	  break;        case 'f':	  // move forward one line length (actually DRAW something!)	  double x = s.lineLength*Math.cos(Math.PI * s.angle/180.0) +	             s.curPos.x;	  double y = s.lineLength * Math.sin(Math.PI * s.angle/180.0) +	             s.curPos.y;	  double z = s.curPos.z;	  CylinderCreator cylinder = new CylinderCreator();	  cylinder.setResolution(cylEdges);	  Appearance app;	  if (depth > 1)	    app = branchApp;	  else	    app = leafApp;	  // make a branch	  bg.addChild(cylinder.create(s.curPos, new Point3d(x, y, z),	       cylRadius + mult * s.lineLength, app));	  // cap the end of the branch	  Transform3D transMatrix = new Transform3D();	  transMatrix.setTranslation(new Vector3d(x, y, z));	  TransformGroup tg = new TransformGroup(transMatrix);	  Sphere sphere = new Sphere((float) (cylRadius + mult*s.lineLength),				     Sphere.GENERATE_NORMALS, app);	  tg.addChild(sphere);	  bg.addChild(tg);	  s.curPos = new Point3d(x, y, z);	  break;        case '@':	  // scale the line length up or down	  i = readScaleValue(i+1);	  break;        case 'z':        case 'y':        case 'x':        case 'w':        case 'v':	  // interpret the rule for the variable encountered	  Interpreter interpreter = new Interpreter();	  interpreter.setState(s);	  interpreter.setAppearance(branchApp, leafApp);	  interpreter.initDraw (cylRadius, mult, cylEdges, debug);	  bg.addChild(interpreter.execute(depth - 1,					  Rules.getRule(rule.charAt(i))));	  break;        case '[':	  // remember the current graphics state	  stateStack.addElement(new State(s));	  break;        case ']':	  // recall the previous graphics state	  if (stateStack.size() > 0)	    s = (State) stateStack.remove(stateStack.size() - 1);	  else	    System.out.println("Missing ] in line: " + rule);	  break;        default:	  break;      }      i ++;    }    bg.compile();    return bg;  }  int readScaleValue(int i) {    StringBuffer valString = new StringBuffer();    while (i < rule.length()) {      switch (rule.charAt(i)) {        case '.':        case '1':        case '2':        case '3':        case '4':        case '5':        case '6':        case '7':        case '8':        case '9':        case '0':	  valString.append(rule.charAt(i));	  break;        default:	  double scale = 0;	  try {	    scale = (new Double(valString.toString())).doubleValue();	  } catch (Exception ex) {	    System.out.println("Bad line length scale value, position " + i);	    System.out.println("Line: " + rule);	    System.exit(1);	  }	  s.lineLength *= scale;	  // if (debug)	  //  System.out.println("new line length: " + s.lineLength);	  return i-1;      }      i ++;    }    return i;  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆国产精品一区二区三区| 日韩免费在线观看| 国产亚洲欧美日韩日本| 日韩二区在线观看| 欧美日韩一区不卡| 亚洲国产精品久久久久婷婷884| 91视频免费观看| 一区二区三区日韩在线观看| 久久精品国产77777蜜臀| 日韩一区二区免费在线观看| 图片区小说区区亚洲影院| 色婷婷国产精品综合在线观看| 国产精品三级电影| 成人性色生活片免费看爆迷你毛片| 欧美国产视频在线| 成人免费毛片嘿嘿连载视频| 日本一区二区免费在线| jlzzjlzz国产精品久久| 专区另类欧美日韩| 成人高清视频在线| 一区2区3区在线看| 欧美日本韩国一区| 精品一区二区免费在线观看| 国产午夜精品久久久久久久| 日韩—二三区免费观看av| 日韩欧美中文一区| 国产一区二区伦理| 国产日韩精品久久久| 国产成人免费视频精品含羞草妖精 | 奇米精品一区二区三区在线观看| 久久久久久**毛片大全| 日本精品一区二区三区四区的功能| 亚洲国产精品欧美一二99| 精品国产91九色蝌蚪| 91麻豆精东视频| 国产一区二区免费在线| 亚洲国产精品麻豆| 国产精品久久久久久久裸模| 在线电影欧美成精品| 波多野结衣欧美| 精品夜夜嗨av一区二区三区| 一区二区高清视频在线观看| 亚洲国产精品99久久久久久久久 | 高清在线成人网| 日本一区中文字幕| 亚洲免费三区一区二区| 久久精品视频一区| 日韩三级免费观看| 精品视频123区在线观看| bt7086福利一区国产| 久久成人av少妇免费| 亚洲一区电影777| 国产精品久久久久影院老司| 亚洲精品一线二线三线无人区| 欧美亚洲动漫精品| 99riav一区二区三区| 国产91精品入口| 国产精品一区二区三区乱码| 久久精品国产秦先生| 亚洲大片精品永久免费| 亚洲另类色综合网站| 国产精品久久久爽爽爽麻豆色哟哟| 国产夜色精品一区二区av| 日韩欧美aaaaaa| 日韩限制级电影在线观看| 欧美日韩在线播放三区| 91国产免费看| 色综合久久中文字幕综合网| 成人ar影院免费观看视频| 国产精品亚洲第一| 国产在线一区二区| 狠狠色综合播放一区二区| 天堂蜜桃一区二区三区| 夜夜嗨av一区二区三区中文字幕| 亚洲免费观看高清| 久久丁香综合五月国产三级网站| 亚洲成在人线免费| 偷窥少妇高潮呻吟av久久免费| 亚洲电影一区二区| 丝袜脚交一区二区| 丝袜美腿亚洲一区二区图片| 免费在线观看成人| 久久精品国产色蜜蜜麻豆| 激情成人综合网| 国产精品99久久久久| 粉嫩一区二区三区性色av| 成人99免费视频| 色综合天天综合网天天看片| 欧美专区亚洲专区| 欧美三级中文字幕| 91麻豆精品国产91久久久更新时间 | 高清不卡一区二区在线| 成人国产一区二区三区精品| 91免费精品国自产拍在线不卡| 在线观看视频欧美| 3atv一区二区三区| 久久久久久夜精品精品免费| 国产精品入口麻豆原神| 亚洲综合久久av| 日日夜夜免费精品视频| 狠狠色丁香久久婷婷综合丁香| 国产福利视频一区二区三区| 99精品一区二区| 欧美日韩卡一卡二| 精品国产91九色蝌蚪| 国产精品久久久久久久久晋中 | 国产亚洲一区字幕| 国产精品第四页| 香蕉久久一区二区不卡无毒影院| 久久99精品网久久| 色综合咪咪久久| 日韩亚洲欧美高清| 136国产福利精品导航| 亚洲成人激情社区| 国产成人精品亚洲777人妖| 色综合天天综合网天天看片| 日韩欧美123| 亚洲欧洲精品一区二区三区不卡| 日韩在线观看一区二区| 国产精品正在播放| 欧美日韩免费一区二区三区 | 中文字幕精品一区二区精品绿巨人| 亚洲人成在线观看一区二区| 日韩国产欧美在线播放| 成人av免费在线观看| 91麻豆精品国产| 亚洲视频一区在线| 久久91精品久久久久久秒播| 一本色道a无线码一区v| 精品久久久三级丝袜| 亚洲午夜私人影院| 成人激情免费视频| 精品日韩欧美在线| 亚洲va在线va天堂| 91猫先生在线| 国产日韩精品一区| 久久er99热精品一区二区| 欧美三级视频在线| 中文字幕一区二区三区在线观看| 麻豆一区二区在线| 欧美日韩国产综合久久| 成人欧美一区二区三区白人| 国产在线精品一区二区夜色| 欧美日韩国产美女| 伊人夜夜躁av伊人久久| 成人免费视频播放| 久久免费美女视频| 毛片不卡一区二区| 欧美日韩精品高清| 亚洲一区二区三区爽爽爽爽爽 | 亚洲国产日韩a在线播放| 高清成人免费视频| 久久久久久久综合日本| 另类中文字幕网| 日韩一区二区中文字幕| 亚洲综合成人在线| 91蝌蚪porny| 日韩一区在线免费观看| 成人免费高清视频在线观看| 欧美精品一区二区蜜臀亚洲| 七七婷婷婷婷精品国产| 欧美日本高清视频在线观看| 亚洲不卡一区二区三区| 欧美午夜影院一区| 午夜精品123| 欧美丰满一区二区免费视频| 亚洲图片欧美视频| 欧美日韩一区不卡| 日韩精品一区第一页| 91精品久久久久久蜜臀| 免费在线看一区| 精品国产电影一区二区| 国内精品国产三级国产a久久| 欧美xxxx在线观看| 国产一区二区三区美女| 国产精品毛片无遮挡高清| 97精品国产露脸对白| 亚洲欧美日韩国产综合在线| 91美女片黄在线观看| 亚洲成人手机在线| 欧美一二区视频| 国产成人免费在线视频| 国产精品成人午夜| 色吧成人激情小说| 午夜不卡av在线| 精品国产一区a| av电影在线观看完整版一区二区| 亚洲视频你懂的| 欧美三级日韩在线| 日韩电影网1区2区| 精品国产亚洲在线| aa级大片欧美| 五月天一区二区| 日韩欧美aaaaaa| 99久久精品国产一区二区三区| 亚洲九九爱视频| 日韩欧美国产综合| eeuss鲁片一区二区三区| 亚洲成人动漫在线观看| 精品国产一区二区三区av性色|