可视化-three.js波浪线条
项目地址下载
DEMO
function Initialize(opt) {var camera, scene, renderer;var clock = new THREE.Clock();var Config = {width: 400,// 长度number: 5,// 条数u_time: 0,// 时间ygap: 10,// y 间隔zgap: 5,// x 间隔speed: 1,// 速度}var lines = [];function init() {camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 1, 10000);camera.position.set(0, 100, 300);camera.lookAt(new THREE.Vector3(0, 0, 0))scene = new THREE.Scene();renderer = new THREE.WebGLRenderer({ antialias: true });renderer.setPixelRatio(window.devicePixelRatio);renderer.setSize(window.innerWidth, window.innerHeight);document.querySelector(opt.id).appendChild(renderer.domElement);//把canvas加载到dom元素中df_canvas = renderer.domElementif (THREE.OrbitControls) {new THREE.OrbitControls(camera, renderer.domElement);}createWave()animate()}function update(dt) {let waveArr = [];for (let i = 0; i < Config.number; i++) {const arr = [];var src = new THREE.Vector3(- Config.width / 2, 0, i * 5);var dst = new THREE.Vector3(Config.width / 2, 0, i * 5);arr.push(src, dst);waveArr.push(arr);}// 计算位置waveArr.forEach((elem, i) => {let paths = _tranformPath(elem, 0.5);paths.forEach((_elem) => {_elem.y = Math.cos(_elem.x * 0.05 + i / 2 + dt) * Config.ygap - i;_elem.z = Math.sin(_elem.x * 0.05 + i / 2 + dt) * Config.zgap - i;_elem.x = _elem.x + i * 2;})let line = lines[i]let position = [];paths.forEach((elem) => {position.push(elem.x, elem.y, elem.z)})line.geometry.addAttribute("position", new THREE.Float32BufferAttribute(position, 3))})}function createWave() {for (let i = 0; i < Config.number; i++) {const arr = [];addLine(arr, i / 5)}}function addLine(vecs, op = 1) {let geometry = new THREE.BufferGeometry();let material = new THREE.LineBasicMaterial({color: 0xffffff,depthTest: false,transparent: true,opacity: op});let line = new THREE.Line(geometry, material);scene.add(line);lines.push(line);}function _tranformPath(arr, dpi = 1) {const vecs = [];for (let i = 1; i < arr.length; i++) {let src = arr[i - 1];let dst = arr[i];let s = new THREE.Vector3(src.x, src.y, src.z);let d = new THREE.Vector3(dst.x, dst.y, dst.z);let length = s.distanceTo(d) * dpi;let len = parseInt(length);for (let i = 0; i <= len; i++) {vecs.push(s.clone().lerp(d, i / len))}}return vecs;}function animate() {requestAnimationFrame(animate);var dt = clock.getDelta();if (dt > 0.2) return;if (lines) {Config.u_time += dt * Config.speed;update(Config.u_time);}renderer.render(scene, camera);}init();
}
可视化-three.js波浪线条相关推荐
- html5 canvas全屏变色波浪线条动画js特效
下载地址 基于html5 canvas+js制作的全屏变色波浪线条动画特效,线条发光背景颜色变换效果. dd:
- CSS3 SVG波浪线条动画js特效
下载地址 CSS3 SVG波浪线条动画特效是一款简单的线条波浪滚动,线条弯曲动画特效. dd:
- html5波浪线条,HTML5 svg炫酷波浪线条动画插件
这是一款HTML5 svg炫酷波浪线条动画插件.该波浪动画插件基于tweenMax和SVG,也可以作为jQuery插件来使用,可以制作出漂亮的波浪线条动画特效. 使用方法 在页面中引入jquery和T ...
- R语言ggplot2可视化改变图中线条的透明度级别实战
R语言ggplot2可视化改变图中线条的透明度级别实战 目录 R语言ggplot2可视化改变图中线条的透明度级别实战 #默认没有透明
- JS实现线条动态背景
[Top] JS实现线条动态背景 线条随机运动,鼠标移动过程中,有吸附性,话不多说,直接上代码吧! !function () {let num = 100;//设置所画线的颜色let colorLin ...
- 惊艳!可视化的 js:动态图演示 - 事件循环 Event Loop
原文地址:https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif 原文作者:Lydia Hallie 译者:夜尽天明 译者博客 ...
- d3.js放射线条生成器lineRadial
d3.js放射线条生成器lineRadial 白色是用三角函数生成的数据. 红色是随机生成的数据. <!DOCTYPE html> <html lang="en" ...
- 可视化-three.js 城市 波浪特效 城市 扫光 掠过效果
使用Obj 模型 + shader 实线 模型以及代码 csdn 模型以及代码 git 已有效果添加波浪 快速搭建工具 加载 obj 格式文件加载到 scene中: 使用 ShaderMaterial ...
- 知识图谱可视化vue.js + d3.js
Github 前端 vue.js + d3.js. 需求 上部区域 展示所有的概念类别.以及画布内他们的个数 展示所有关系类别,以及画布内他们的个数 显示所有的概念场景(scenes 字段).关系场景 ...
最新文章
- 2022-2028年中国丁晴橡胶行业市场深度分析及投资规划分析报告
- 有道精品课python-115批量转存与提取sha1工具2020下载
- 如何用python创建一个下载网站-用Python写一个简单的网页下载
- 雅虎宣布关闭旗下7个数字杂志
- 杭电ACM刷题(1):1002,A + B Problem II
- 《系统集成项目管理工程师》必背100个知识点-56X理论和Y理论
- Python牛刀小试(五)--logging模块
- mysql卸载时弹框,win10卸载mysql5安装mysql8
- linux brctl命令,Linux中brctl命令起什么作用呢?
- java equ,Java equals方法详解
- 工作两年多的一个菜鸟感想
- msyql开启慢查询以及分析慢查询
- mysql8 win10_window10下安装多个MySQL8.0
- jQuery 学习-DOM篇(六):jQuery 替换 DOM 元素
- 程序员修炼之道 pdf_程序员修炼之道-注重实效
- 电脑丢失api-ms-win-core-libraryloader-|1-1-1.dll怎么办
- WPS2019 所有宏被禁,用启用宏要付费,如何免费使用
- dm连接mysql_DM数据库JDBC连接
- 【机器学习】Tensorflow:理解和实现快速风格化图像fast neural style
- java throw throwable_异常处理:throw,throws和Throwable