亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Three.js學習之幾何形狀

2019-11-20 09:21:37
字體:
來源:轉載
供稿:網友

1.立方體

  雖然這一形狀的名字叫立方體(CubeGeometry),但它其實是長方體,也就是長寬高可以設置為不同的值。其構造函數是:

THREE.CubeGeometry(width,height,depth,widthSegments,heightSegments, depthSegments)

  width:x方向上的長度

  height:y方向上的長度

  depth:z方向上的長度

  widthSegments:x方向上的分段數(可選,缺省值1)

  heightSegments:y方向上的分段數(同上)

  depthSegments:z方向上的分段數(同上) 

  未分段:

var material = new THREE.MeshBasicMaterial({  color: 0xffff00,  wireframe: true});drawCube(scene, material);function drawCube(scene, material) {  var cube = new THREE.Mesh(new THREE.CubeGeometry(1, 2, 3), material);  scene.add(cube);}


  物體的默認位置是原點,對于立方體而言,是其幾何中心在原點的位置。

  分段:

var cube = new THREE.Mesh(new THREE.CubeGeometry(1, 2, 3, 2, 2, 3), material);

  為什么會有這么多邪線呢?版本問題。R73版本:

 

  注意這個分段是對六個面進行分段,而不是對立方體的體素分段,因此在立方體的中間是不分段的,只有六個側面被分段。

2.平面

  這里的平面(PlaneGeometry)其實是一個長方形,而不是數學意義上無限大小的平面。其構造函數為:

THREE.PlaneGeometry(width, height, widthSegments, heightSegments) 

  width:x方向上的長度

  height:y方向上的長度

  widthSegments:x方向上的分段數(可選,缺省值1)

  heightSegments:y方向上的分段數(同上)

  new THREE.PlaneGeometry(2, 4);創建的平面在x軸和y軸所在平面內,效果如下:

 

3.球體

  球體(SphereGeometry)的構造函數是:

THREE.SphereGeometry(radius,segmentsWidth,segmentsHeight,phiStart, phiLength, thetaStart, thetaLength)// radius:半徑// segmentsWidth:經度上的分段數// segmentsHeight:緯度上的分段數// phiStart:經度開始的弧度// phiLength:經度跨過的弧度// thetaStart:緯度開始的弧度// thetaLength:緯度跨過的弧度

  3.1 經緯度分段數

  首先,我們來理解下segmentsWidth和segmentsHeight。使用var sphere = new THREE.SphereGeometry(3, 8, 6)可以創建一個半徑為3,經度劃分成8份,緯度劃分成6份的球體,如下圖所示。

 

  segmentsWidth相當于經度被切成了幾瓣,而segmentsHeight相當于緯度被切成了幾層。

  new THREE.SphereGeometry(3, 5, 4)的效果:

 

  new THREE.SphereGeometry(3, 8, 6)的效果:

 

  new THREE.SphereGeometry(3, 18, 12)的效果:

 

  在圖形底層的實現中,并沒有曲線的概念,曲線都是由多個折線近似構成的。對于球體而言,當這兩個值較大的時候,形成的多面體就可以近似看做是球體了。 

  3.2 經度弧度

  new THREE.SphereGeometry(3, 8, 6, Math.PI / 6, Math.PI / 3)表示起始經度為Math.PI / 6,經度跨度為Math.PI / 3。

效果如下:

 

  注意,這里segmentsWidth為8意味著對于經度從Math.PI / 6跨過Math.PI / 3的區域內劃分為8塊,而不是整個球體的經度劃分成8塊后再判斷在此經度范圍內的部分。 

  3.3 緯度弧度

  緯度弧度同理。new THREE.SphereGeometry(3, 8, 6, 0, Math.PI * 2, Math.PI / 6, Math.PI / 3)表示緯度從Math.PI / 6跨過Math.PI / 3。

效果如下:

 

  new THREE.SphereGeometry(3, 8, 6, Math.PI / 2, Math.PI, Math.PI / 6, Math.PI / 2)的效果:

 

4.源碼

<!DOCTYPE html><html>  <head>    <meta charset="UTF-8">    <title>3.js測試四</title>  </head>  <body onload="init()">    <canvas id="mainCanvas" width="400px" height="300px" ></canvas>  </body>  <script type="text/javascript" src="js/three.min.js"></script>  <script type="text/javascript">    function init() {      var renderer = new THREE.WebGLRenderer({        canvas: document.getElementById('mainCanvas')      });      renderer.setClearColor(0x000000);      var scene = new THREE.Scene();            // camera      var camera = new THREE.OrthographicCamera(-5, 5, 3.75, -3.75, 0.1, 100);      camera.position.set(25, 25, 25);      camera.lookAt(new THREE.Vector3(0, 0, 0));      scene.add(camera);            // 材質      var material = new THREE.MeshBasicMaterial({        color: 0xffff00,        wireframe: true      });            drawCube(scene, material);    //立方體//     drawPlane(scene, material);    //平面//     drawSphere(scene, material);  //球體            // render      renderer.render(scene, camera);    }        function drawCube(scene, material) {      var cube = new THREE.Mesh(new THREE.CubeGeometry(1, 2, 3, 2, 2, 3), material);      scene.add(cube);    }        function drawPlane(scene, material) {      var plane = new THREE.Mesh(new THREE.PlaneGeometry(2, 4), material);      scene.add(plane);    }        function drawSphere(scene, material) {      var sphere = new THREE.Mesh(new THREE.SphereGeometry(3, 18, 12), material);//     var sphere = new THREE.Mesh(new THREE.SphereGeometry(3, 8, 6, Math.PI / 6, Math.PI / 3), material);//     var sphere = new THREE.Mesh(new THREE.SphereGeometry(3, 8, 6, 0, Math.PI * 2, Math.PI / 6, Math.PI / 3), material);//      var sphere = new THREE.Mesh(new THREE.SphereGeometry(3, 8, 6, Math.PI / 2, Math.PI, Math.PI / 6, Math.PI / 2), material);      scene.add(sphere);    }  </script></html>

以上就是Three.js學習之幾何形狀的全部內容,小編陸續還會更新關于Three.js的文章,請大家繼續關注武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久电影| 92裸体在线视频网站| 国产午夜精品视频免费不卡69堂| 亚洲国产精品资源| 国产精品无码专区在线观看| 亚洲综合精品一区二区| 欧美成人午夜影院| 国产精品久久久久久影视| www高清在线视频日韩欧美| 国产精品ⅴa在线观看h| 国产精品一区二区女厕厕| 欧美日韩综合视频| www.欧美免费| 国产精品国产福利国产秒拍| 少妇av一区二区三区| 尤物九九久久国产精品的特点| 欧美日韩福利电影| 一区二区三区国产在线观看| 国产精品免费网站| 91国偷自产一区二区三区的观看方式| 成人午夜在线影院| 狠狠做深爱婷婷久久综合一区| 一本一本久久a久久精品综合小说| 色青青草原桃花久久综合| 亚洲国产精品系列| 欧美又大又粗又长| 亚洲免费中文字幕| 亚洲va码欧洲m码| 中国日韩欧美久久久久久久久| 91免费人成网站在线观看18| 亚洲人a成www在线影院| 亚洲国产精品中文| 亚洲视频国产视频| 97国产精品人人爽人人做| 色爱av美腿丝袜综合粉嫩av| 欧美国产一区二区三区| 亚洲精品一区二区三区不| 中文字幕久热精品视频在线| 国产精品777| 亚洲黄页视频免费观看| 国产精品99免视看9| 国产精品一区二区久久精品| 国产99视频在线观看| 国产啪精品视频| 日韩av在线高清| 视频一区视频二区国产精品| 欧美黄网免费在线观看| 亚洲人成伊人成综合网久久久| 97色在线观看免费视频| 丝袜一区二区三区| 国产欧美精品xxxx另类| 精品久久香蕉国产线看观看亚洲| 亚洲国产91色在线| 久久久极品av| 91精品啪aⅴ在线观看国产| 精品日本高清在线播放| 成人啪啪免费看| 国产精品一区专区欧美日韩| 精品欧美国产一区二区三区| 日韩一区二区精品视频| 中文字幕欧美日韩| 欧美性猛交xxxx富婆弯腰| 亚洲香蕉成人av网站在线观看| 国产精品久久久久久久久久新婚| 国产在线视频91| 自拍偷拍免费精品| 国产精品日韩一区| 欧美三级xxx| 久久精品视频一| 亚洲欧美制服第一页| 91大神福利视频在线| 日韩成人在线免费观看| 色老头一区二区三区| 九九九久久国产免费| 亚洲 日韩 国产第一| 久久91超碰青草是什么| 欧美日韩在线影院| 国产精品欧美激情| 欧美成人性色生活仑片| 国产日韩欧美一二三区| 久久99国产精品自在自在app| 日本成人在线视频网址| 亚洲国产精品久久久| 国产精品中文字幕在线观看| 久久久久国产精品免费网站| 91精品久久久久久久久久久久久| 亚洲国产美女精品久久久久∴| 亚洲经典中文字幕| 久久国产一区二区三区| 国产精品日韩一区| 精品国产91乱高清在线观看| 性色av一区二区三区| 热re91久久精品国99热蜜臀| 国产97色在线|日韩| 91热精品视频| 国产精品一区二区三区成人| 亚洲自拍小视频免费观看| 亚洲成年人在线播放| 亚洲综合中文字幕在线| 久久亚洲精品网站| 国产大片精品免费永久看nba| 亚洲精品欧美日韩| 国产精品第2页| 日韩av片永久免费网站| 久久免费视频网站| 深夜福利一区二区| 久久精品小视频| 日韩欧美成人区| 欧美综合在线观看| 国产精品久久久久久久久久三级| 欧美三级欧美成人高清www| 57pao国产成人免费| 欧美精品在线观看91| 精品国产欧美一区二区三区成人| 亚洲网站在线看| 欧美香蕉大胸在线视频观看| 一本一本久久a久久精品综合小说| 在线色欧美三级视频| 91久久精品一区| 欧美日韩免费观看中文| 精品电影在线观看| 亚洲欧美成人精品| 国产一区二区三区久久精品| 欧美丰满老妇厨房牲生活| 欧美大片免费观看在线观看网站推荐| 91精品国产高清久久久久久久久| 国产九九精品视频| 日韩欧美在线免费| 中文字幕av一区中文字幕天堂| 国产精品久久久久久久久久99| 91在线网站视频| 国产精品久久久久久久av电影| 欧美高清视频免费观看| 亚洲国产天堂久久国产91| 亚洲综合国产精品| 一区二区欧美久久| 日韩在线免费av| 精品久久久国产精品999| www.99久久热国产日韩欧美.com| 91亚洲国产成人久久精品网站| 97成人精品区在线播放| 欧美午夜www高清视频| 中文字幕欧美亚洲| 成人国产精品日本在线| 亚洲自拍小视频免费观看| 在线观看欧美视频| 91亚洲精品在线观看| 大桥未久av一区二区三区| 亚洲成人在线视频播放| 97精品一区二区视频在线观看| 成人福利免费观看| 中文字幕少妇一区二区三区| 亚洲v日韩v综合v精品v| 这里只有精品在线观看| 亚洲第一精品自拍| 日韩美女视频免费看| 欧美激情一区二区三级高清视频| 亚洲香蕉在线观看| 精品国产乱码久久久久酒店| 国产成人一区二区三区电影| 日韩欧美在线看| 欧美亚洲国产日韩2020| 国产a级全部精品| 亚洲毛茸茸少妇高潮呻吟|