超级漂亮的 Ai 官网源码

超级漂亮的 AI 官网源码

  • 效果图
  • 部分源码
  • 领取源码
  • 下期更新预报

效果图

在这里插入图片描述在这里插入图片描述
在这里插入图片描述


部分源码

<script lang="js">function project3D(x, y, z, vars) {var p, dx -= vars.camXy -= vars.camY - 8z -= vars.camZp = Math.atan2(x, z)d = Math.sqrt(x * x + z * z)x = Math.sin(p - vars.yaw) * dz = Math.cos(p - vars.yaw) * dp = Math.atan2(y, z)d = Math.sqrt(y * y + z * z)y = Math.sin(p - vars.pitch) * dz = Math.cos(p - vars.pitch) * dvar rx1 = -1000var ry1 = 1var rx2 = 1000var ry2 = 1var rx3 = 0var ry3 = 0var rx4 = xvar ry4 = zvar uc = (ry4 - ry3) * (rx2 - rx1) - (rx4 - rx3) * (ry2 - ry1)var ua = ((rx4 - rx3) * (ry1 - ry3) - (ry4 - ry3) * (rx1 - rx3)) / ucvar ub = ((rx2 - rx1) * (ry1 - ry3) - (ry2 - ry1) * (rx1 - rx3)) / ucif (!z) z = 0.000000001if (ua > 0 && ua < 1 && ub > 0 && ub < 1) {return {x: vars.cx + (rx1 + ua * (rx2 - rx1)) * vars.scale,y: vars.cy + (y / z) * vars.scale,d: x * x + y * y + z * z,}} else {return { d: -1 }}}function elevation(x, y, z) {var dist = Math.sqrt(x * x + y * y + z * z)if (dist && z / dist >= -1 && z / dist <= 1) return Math.acos(z / dist)return 0.00000001}function rgb(col) {col += 0.000001var r = parseInt((0.5 + Math.sin(col) * 0.5) * 16)var g = parseInt((0.5 + Math.cos(col) * 0.5) * 16)var b = parseInt((0.5 - Math.sin(col) * 0.5) * 16)return '#' + r.toString(16) + g.toString(16) + b.toString(16)}function interpolateColors(RGB1, RGB2, degree) {var w2 = degreevar w1 = 1 - w2return [w1 * RGB1[0] + w2 * RGB2[0],w1 * RGB1[1] + w2 * RGB2[1],w1 * RGB1[2] + w2 * RGB2[2],]}function rgbArray(col) {col += 0.000001var r = parseInt((0.5 + Math.sin(col) * 0.5) * 256)var g = parseInt((0.5 + Math.cos(col) * 0.5) * 256)var b = parseInt((0.5 - Math.sin(col) * 0.5) * 256)return [r, g, b]}function colorString(arr) {var r = parseInt(arr[0])var g = parseInt(arr[1])var b = parseInt(arr[2])return ('#' +('0' + r.toString(16)).slice(-2) +('0' + g.toString(16)).slice(-2) +('0' + b.toString(16)).slice(-2))}function process(vars) {if (vars.points.length < vars.initParticles)for (var i = 0; i < 5; ++i) spawnParticle(vars)var p, d, tp = Math.atan2(vars.camX, vars.camZ)d = Math.sqrt(vars.camX * vars.camX + vars.camZ * vars.camZ)d -= Math.sin(vars.frameNo / 80) / 25t = Math.cos(vars.frameNo / 300) / 165vars.camX = Math.sin(p + t) * dvars.camZ = Math.cos(p + t) * dvars.camY = -Math.sin(vars.frameNo / 220) * 15vars.yaw = Math.PI + p + tvars.pitch = elevation(vars.camX, vars.camZ, vars.camY) - Math.PI / 2var tfor (var i = 0; i < vars.points.length; ++i) {x = vars.points[i].xy = vars.points[i].yz = vars.points[i].zd = Math.sqrt(x * x + z * z) / 1.0075t = 0.1 / (1 + (d * d) / 5)p = Math.atan2(x, z) + tvars.points[i].x = Math.sin(p) * dvars.points[i].z = Math.cos(p) * dvars.points[i].y +=vars.points[i].vy * t * ((Math.sqrt(vars.distributionRadius) - d) * 2)if (vars.points[i].y > vars.vortexHeight / 2 || d < 0.25) {vars.points.splice(i, 1)spawnParticle(vars)}}}function drawFloor(vars) {var x, y, z, d, point, afor (var i = -25; i <= 25; i += 1) {for (var j = -25; j <= 25; j += 1) {x = i * 2z = j * 2y = vars.floord = Math.sqrt(x * x + z * z)point = project3D(x, y - (d * d) / 85, z, vars)if (point.d != -1) {size = 1 + 15000 / (1 + point.d)a = 0.15 - Math.pow(d / 50, 4) * 0.15if (a > 0) {vars.ctx.fillStyle = colorString(interpolateColors(rgbArray(d / 26 - vars.frameNo / 40),[0, 128, 32],0.5 + Math.sin(d / 6 - vars.frameNo / 8) / 2))vars.ctx.globalAlpha = avars.ctx.fillRect(point.x - size / 2,point.y - size / 2,size,size)}}}}

领取源码

领取地址:https://www.123pan.com/s/ji8kjv-12PU3.html


下期更新预报

手把手教会你拥有自己的Ai

  • 📢博客主页:孤客网络科技工作室官方账号
  • 📢欢迎点赞👍收藏⭐️留言 📝如有错误敬请指正!
  • 📢本文由孤客原创,若侵权联系作者,首发于CSDN博客
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更好的生活💻

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

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

相关文章

揭秘奇葩环境问题:IDEA与Maven版本兼容性解析

1.问题描述 最近在实现通过Java爬虫获取网页源码&#xff0c;然后紧接着将源码转换为图片上传到OSS服务器&#xff0c;其中探索了很多办法&#xff0c;但是在实现过程中遇到一个奇葩问题&#xff0c;就是我无论下载任何Maven依赖&#xff0c;都无法正常下载&#xff0c;简直是…

八年前端开发之路中遇到的一些实用技巧分享——代码思路及通用场景

在开发中比较有用的代码思路 1. 链式编程2. 高阶函数应用-(添加数据并提供删除方法)3. 利用Promise链切入&#xff08;延迟执行&#xff09;4. 通过中间层来解决问题&#xff08;装饰者模式&#xff09;5. 单例模式 1. 链式编程 所谓链式编程即是函数调用后返回对象本身 let …

自动化中遇到的问题归纳总结

1、动态元素定位不到 解决方法&#xff1a;尽量使用固定元素定位&#xff0c;如没有固定元素&#xff0c;则采用绝对路径进行定位&#xff0c;因为元素路径是唯一且不变的 2、自动化脚本执行速度较慢 尽量使用css方法定位元素&#xff0c;使用等待时&#xff0c;少用sleep方…

中国目前比较有影响力的人物颜廷利:物质与无知通音

既然是在中国优秀传统文化之根-汉语当中&#xff0c;汉字‘物质’二字跟‘无知’通音&#xff0c;因此&#xff0c;面对当前金钱肆虐、物欲横流的现实生活&#xff0c;当人类众生把‘物质’&#xff08;无知&#xff09;生活看的太真、太重时&#xff0c;那么&#xff0c;这就很…

浅谈现代消息队列与云存储

一、前言 1970 年代末&#xff0c;消息系统用于管理多主机的打印作业&#xff0c;这种削峰解耦的能力逐渐被标准化为“点对点模型”和稍复杂的“发布订阅模型”&#xff0c;实现了数据处理的分布式协同。随着时代的发展&#xff0c;Kafka&#xff0c;Amazon SQS&#xff0c;Ro…

2024年3月 电子学会 青少年等级考试机器人理论真题五级

202403 青少年等级考试机器人理论真题五级 第 1 题 下图程序运行后&#xff0c;串口监视器显示的结果是&#xff1f;&#xff08; &#xff09; A&#xff1a;0 B&#xff1a;1 C&#xff1a;3 D&#xff1a;4 第 2 题 下列选项中&#xff0c;关于74HC595移位寄存器芯片的…

旧手机-基于Termux配置服务器(不用拿去换钢盆了)

Hi&#xff0c;大家好&#xff0c;我是抢老婆酸奶的小肥仔。 大家用手机这么多年了&#xff0c;手上或多或少都有一两个被替换下来的旧手机&#xff0c;也不用拿去换啥钢盆了&#xff0c;使用Termux可以将旧手机改造成一个服务器。 不多说&#xff0c;直接开干。 1、安装app…

JAVA毕业设计141—基于Java+Springboot+Vue的物业管理系统(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的物业管理系统(源代码数据库)141 一、系统介绍 本项目前后端分离&#xff0c;分为管理员、员工、用户三种角色(角色权限可自行分配) 1、用户&#xff1a; …

相机模型,坐标变换,畸变

小孔成像模型 墨子就记录了小孔成像是倒立的。这从几何光学的角度是很好理解的&#xff1a;光沿直线传播&#xff0c;上方和下方的光线交叉&#xff0c;导致在成像平面位置互换。 小孔的大小有什么影响&#xff1f; 小孔越大&#xff0c;进光量变大了&#xff0c;但是成像平…

研究生学习---找工作

规划 研一~研二上学期完成小论文&#xff0c;实习&#xff0c;秋招 竞赛&#xff1a;kaggle&#xff1f; 面试题一般简单且为原题&#xff0c;笔试题目很难&#xff0c;不会出原题 项目 找工作软件

Github项目管理——仓库概述(一)

个人名片&#xff1a; &#x1f393;作者简介&#xff1a;嵌入式领域优质创作者&#x1f310;个人主页&#xff1a;妄北y &#x1f4de;个人QQ&#xff1a;2061314755 &#x1f48c;个人邮箱&#xff1a;[mailto:2061314755qq.com] &#x1f4f1;个人微信&#xff1a;Vir2025WB…

随身wifi能不能买?怎么买不踩坑?随身wifi哪个品牌最好用?热销榜第一的格行随身wifi真的好用吗?对比其他品牌有何优势?

你是否遇到过这些问题&#xff1a;出差办公酒店信号差&#xff0c;领导信息接收不及时&#xff01;外出旅游&#xff0c;手机流量不够用&#xff01;高速导航&#xff0c;信号差导航延迟等等...所以更多的人选择随身wifi&#xff0c;但是市面那么多品牌&#xff0c;随身wifi到底…