vue2+three.js(入门级)

20232.9.12今天我学习了如何使用vue2+three制作一个3d图形,效果:

 首先安装:

npm install three

相关代码: 

<!--3d基础版,实现单个3d图形-->
<template><div><div id="content"/></div>
</template>
<script>
import * as THREE from 'three'export default {data() {return {scene: null,//场景camera: null,//照相机renderer: null,//渲染器mesh: null,//物体light: null,//灯光num: 0,//增加物体}},mounted() {this.init()},methods: {init() {// 创建场景this.createScene()// 创建照相机this.createCamera()// 创建渲染器this.createRenderer()// 创建灯光this.createLight()// 创建物体this.createMesh()// 触发this.render()this.animation()},// 创建场景createScene() {this.scene = new THREE.Scene()},// 创建照相机createCamera() {this.camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000)this.camera.position.set(200, 200, 200)this.camera.lookAt(this.scene.position)},// 创建渲染器createRenderer() {this.renderer = new THREE.WebGLRenderer()this.renderer.setSize(window.innerWidth, window.innerHeight)this.renderer.setClearColor(new THREE.Color(0xffffff))document.getElementById('content').appendChild(this.renderer.domElement)},// 创建灯光createLight() {this.light = new THREE.DirectionalLight({color: 'red'})this.light.position.set(100, 100, 100)this.scene.add(this.light)},// 创建物体createMesh() {const geometry = new THREE.BoxGeometry(30, 30, 30)const material = new THREE.MeshLambertMaterial({color: 0x0000ff})this.mesh = new THREE.Mesh(geometry, material)this.scene.add(this.mesh)this.render()},//触发render() {this.renderer.render(this.scene, this.camera)},animation() {let time = new Date() * 0.001;// 对物体旋转// this.mesh.position.set(100 * Math.cos(time), 100 * Math.sin(time), 0)// 对照相机旋转// this.camera.position.set(100 * Math.cos(time), 100 * Math.sin(time), 0)// this.camera.lookAt(this.scene.position)this.render()requestAnimationFrame(this.animation)}}
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/107710.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

水轮发电机组预测性维护的实现:基于PreMaint电气信号特征分析

在现代电力工业中&#xff0c;水轮发电机组扮演着至关重要的角色&#xff0c;为我们的生活和工业生产提供了可靠的电力供应。然而&#xff0c;这些发电机组的长期运行不可避免地伴随着各种挑战&#xff0c;最显著的是转子振动故障。这种故障可能会导致设备停机、维修成本增加以…

59从零开始学Java之StringBuilder与StringBuffer

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 最近的这几篇文章&#xff0c;壹哥一直在给大家讲解字符串相关的内容。其实字符串按照可变性&#xf…

rtthread下基于spi device架构MCP25625驱动

1.CAN驱动架构 由于采用了RTT的spi device架构&#xff0c;不能再随心所遇的编写CAN驱动 了&#xff0c;之前内核虽然采用了RTT内核&#xff0c;但是驱动并没有严格严格按RTT推荐的架构来做&#xff0c;这次不同了&#xff0c;上次是因为4个MCP25625挂在了4路独立的SPI总线上&…

一文讲透java弱引用以及使用场景

概念 大部分情况下我们看到是强引用&#xff0c;比如下面这一行: String str1 new String("abc");变量str1被用来存放一个string对象的强引用上。强引用在你正在使用时这个对象时&#xff0c;一般是不会被垃圾回收器回收的。当出现内存空间不足时&#xff0c;虚拟…

99%的人都不知道的免费在线制作电子画册的网站

你是否曾经想过自己制作一本精美的电子画册&#xff1f; 现在&#xff0c;小编给大家分享一款免费在线制作电子画册的工具&#xff0c;可以帮助你轻松实现。这个网站不仅提供了丰富的模板和素材&#xff0c;还让你在制作过程中可以随时预览和编辑&#xff0c;无需任何排版设计…

详解梯度下降从BGD到ADAM - [北邮鲁鹏]

文章目录 参考文章及视频导言梯度下降的原理、过程一、什么是梯度下降&#xff1f;二、梯度下降的运行过程 批量梯度下降法(BGD)随机梯度下降法(SGD)小批量梯度下降法(MBGD)梯度算法的改进梯度下降算法存在的问题动量法(Momentum)动量法还有什么效果&#xff1f; 自适应梯度(Ad…

RJ45网络信号浪涌保护器解决方案

RJ45网络信号浪涌保护器是一种用于保护网络设备免受雷击或其他高压电流干扰的装置&#xff0c;它可以有效地吸收和释放信号线路上的过电压&#xff0c;从而避免设备损坏或数据丢失。 RJ45信号浪涌保护器的应用领域和施工方案如下&#xff1a; 地凯科技RJ45网络信号浪涌保护器…

PCL 计算字符型ply文件的法向量

文章目录 ply格式计算法向量意义具体代码 ply格式 PLY&#xff08;Polygon File Format&#xff09;是一种用于存储三维模型数据的文件格式。在PLY文件中&#xff0c;法向量是指每个顶点或面片的法向量&#xff0c;用于描述表面的朝向和光照计算。 在PLY文件中&#xff0c;法…

Unity之创建第一个2D游戏项目

一 Unity环境配置 1.1 Untity资源官网下载&#xff1a;https://unity.cn/releases 1.2 Unity Hub集成环境&#xff0c;包含工具和项目的管理 1.3 Unity Editor编辑器 1.4 Visual Studio 2022脚本编辑器 1.5 AndroidSKD&#xff0c;JDK&#xff0c;NDK工具&#xff0c;用于and…

Gartner 2023API管理市场指南重磅发布,得帆云iPaaS标杆入榜

中国API管理-市场指南 Market Guide for API Management, China 是由全球最具权威的IT咨询与研究机构Gartner发布、聚焦中国API管理市场领域的专业研究报告&#xff0c;通过对市场概况以及代表厂商的分析&#xff0c;为企业决策者提供重要依据与参考。 得帆云iPaaS融合集成平台…

PPT架构师架构技能图

PPT架构师架构技能图 目录概述需求&#xff1a; 设计思路实现思路分析1.软素质2.核心输出&#xff08;office输出&#xff09; 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,ma…

算法:移除数组中的val的所有元素---双指针[2]

文章来源&#xff1a; https://blog.csdn.net/weixin_45630258/article/details/132689237 欢迎各位大佬指点、三连 1、题目&#xff1a; 给你一个数组 nums和一个值 val&#xff0c;你需要原地移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用…