3.1 基本幾何形狀
平面(PlaneGeometry)
說明:
這里的平面(PlaneGeometry)其實是一個長方形,而不是數學意義上無限大小的平面。
構造函數:
THREE.PlaneGeometry(width, height, widthSegments, heightSegments)
width:
x方向上的長度;
height:
是y方向上的長度;
widthSegments:x軸方向的分段;
heightSegments:y軸方向的分段。
如new THREE.PlaneGeometry(2, 4);
創建的平面在x軸和y軸所在平面內,效果如下:
如果需要創建的平面在x軸和z軸所在的平面內,可以通過物體的旋轉來實現,具體的做法將在5.2節作介紹
完整示例代碼demo與效果圖:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script type="text/javascript" src="./three.js"></script> <title>Document</title> </head> <body onload="init()"> <canvas width="800px" height="600px" id="mainCanvas"></canvas> </body> <script> function init() { var renderer = new THREE.WebGLRenderer({ canvas: document.getElementById('mainCanvas') }); renderer.setClearColor(0x000000); var scene = new THREE.Scene(); var camera = new THREE.OrthographicCamera(-2, 2, 1.5, -1.5, 1, 10); camera.position.set(1, 2, 3); scene.add(camera); camera.lookAt(new THREE.Vector3(0, 0, 0)); var cube = new THREE.Mesh(new THREE.PlaneGeometry(1, 2, 16, 32), new THREE.MeshBasicMaterial({ color: 0xff0000, wireframe: true }) ) scene.add(cube); renderer.render(scene, camera); } </script> </html>