Three.js-硬要自学系列7 (查看几何体顶点位置和索引、旋转,缩放,平移几何体)

本章主要学习知识点

  • 学会如何查看几何体的顶点位置数据以及索引
  • 设置几何体旋转、缩放、平移,以及居中模型

查看几何体顶点位置和索引

首先创建几个常见的几何体,方便我们进行查看

js 复制代码
// 创建长方体
const boxGeometry = new THREE.BoxGeometry(3,3,3,4,3);
// 创建球体
const sphereGeometry = new THREE.SphereGeometry(2,64,32);
// 创建圆柱体 
const cylinderGeometry = new THREE.CylinderGeometry(2,2,5);
// 创建矩形平面
const planeGeometry = new THREE.PlaneGeometry(3,3,4,4);
// 创建圆形平面
const circleGeometry = new THREE.CircleGeometry(2)

几何体的顶点数据存储在 posistion属性上

js 复制代码
//输出立方体的顶点信息
console.log(boxGeometry.attributes.position);

顶点数据集合以数组的形式存储在array字段中,count表示顶点数

索引存储在几何体对象的index属性上

js 复制代码
//输出立方体的索引
console.log(boxGeometry.index);

这里要注意的是count为228,表示拥有228个索引,每三个索引组成一个顶点

你可以尝试输出其它几何体的顶点和索引,查看它们彼此之间的区别

索引、旋转,缩放,平移几何体

创建一个矩形平面,它是两面可见的

通过scale设置缩放

js 复制代码
// x轴和z轴上缩放2倍,Y轴不变
geometry.scale(2,1,2)

通过translate设置平移

js 复制代码
// 将几何体在X轴上平移至3,Y轴平移至1,Z轴保持不变
geometry.translate(3,1,0)

通过rotate设置旋转

js 复制代码
// 将几何体在x,y,z轴上各旋转45度
geometry.rotateX(Math.PI/4)
geometry.rotateY(Math.PI/4)
geometry.rotateZ(Math.PI/4)

通过center将几何体设置到原点

当我们缩放,平移,旋转几何体后,其已经不在原点,通过调用几何体对象的center方法,可快速将几何体修正到原点

js 复制代码
geometry.scale(2,1,2)
// 平移
geometry.translate(3,1,0)

// // 旋转 
geometry.rotateX(Math.PI/4)
geometry.rotateY(Math.PI/4)
geometry.rotateZ(Math.PI/4)
js 复制代码
geometry.center()

以上就是本章的全部内容,内容不难,但需要通过大量的练习和实操才能更快的上手,其实很多东西并没有想象的那么困难,每天啃一点,学一点,时间总会给出答案,我很反感一开始就扣概念搞原理,任何一门知识的学习都要经过由浅入深这个过程,先做,做出个东西,哪怕是狗屎,管它完美不完美,在学习的过程中阶段性拿到结果,获得成就感,难到不是学习过程中的正向反馈么,加油!敬自己

以上案例均可在案例中心查看体验

THREE 案例中心

相关推荐
KaMeidebaby5 小时前
卡梅德生物技术快报|骆驼纳米抗体:从原核表达、高通量测序到分子对接全流程实现
前端·数据库·其他·百度·新浪微博
子兮曰7 小时前
Node.js v26.1.0 深度解读:FFI、后量子密码与调试器的进化
前端·后端·node.js
测试员周周7 小时前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
西洼工作室8 小时前
前端直传OSS服务端签名(Policy+Signature)/STS临时凭证
前端·文件上传·oss
你很易烊千玺9 小时前
日常练习-数组 字符串常用的场景
前端·javascript·字符串·数组
weixin199701080169 小时前
[特殊字符] RESTful API 接口规范详解:构建高效、可扩展的 Web 服务(附 Python 源码)
前端·python·restful
存在的五月雨10 小时前
Vue3项目一些语法
前端·javascript·react.js
nashane10 小时前
HarmonyOS 6学习:Web组件同层渲染事件处理与智能长截图实现
前端·学习·harmonyos·harmonyos 5
大家的林语冰10 小时前
Node 2026 发布,JS 三大新功能上线,最后一个奇偶版本
前端·javascript·node.js