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>

