现在就是若干的常用图形使用一览。
我们要记住一个核心点,那就是所有几何体都是由若干个三角形组成的。切记。非常核心!!!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>threejs基本图形之网络模型</title>
<script src="../js/three.js"></script>
</head>
<body>
<!-- 点、线、面
首先,所有图形都是由点、线或面构成,所以有:
Points:点或点云,可以用点或点云表示图形
Line/LineSegments:直线和虚线,可以用线或线团表示图形
Mesh:网格模型,可以用若干三角面表示图形
-->
<!--
-->
<canvas id="cc"></canvas>
<script type="text/javascript">
// 创建一个场景,它将保存我们所有的元素,如物体、照相机和灯光。
var scene = new THREE.Scene();
// 创建一个摄像机,它定义了我们所处的位置.
var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000);
// 创建渲染并设置大小 指定渲染canvas对象
var renderer = new THREE.WebGLRenderer({
canvas: document.querySelector("#cc")
});
renderer.setClearColor(0xEEEEEE);
renderer.setSize(window.innerWidth, window.innerHeight);
//创建一个xyz坐标轴,方便初学者理解三维坐标
var axes = new THREE.AxesHelper(20);
scene.add(axes);
//创建网格模型
var sphereGeometry = new THREE.CubeGeometry(10, 20, 20);//我们就创建个立方体。
var material = new THREE.MeshBasicMaterial ({color:Math.random()*0xffffff})//基础材质
var cube = new THREE.Mesh(sphereGeometry,material)
scene.add(cube)
//我们的网格模型就搞成了。
//设置相机位置
camera.position.x = -30;
camera.position.y = 40;
camera.position.z = 30;
camera.lookAt(scene.position);
// 执行一次渲染器,GPU渲染成图像,绘制到canvas里面呈现
const draw = function(){
requestAnimationFrame(draw)//不断绘制
renderer.render(scene, camera);//渲染
cube.rotation.y+=0.01//网格模型旋转
}
draw()
</script>
</body>
</html>