当前位置: 首页 > news >正文

淘宝搜索关键词排名查询工具海口seo快速排名优化

淘宝搜索关键词排名查询工具,海口seo快速排名优化,河南省建设厅网站建设领域涉黑,北京网上服务平台点赞 关注 收藏 学会了 ellipsoid() 是 p5.js 中用于绘制 3D 椭球体的函数,就像 3D 版本的椭圆。它可以创建各种形状的球体和椭球体,是 3D 绘图中非常基础且常用的函数。 基本语法 ellipsoid(w, h, d, [detailX], [detailY])w:椭球体在 X …

点赞 + 关注 + 收藏 = 学会了

ellipsoid() 是 p5.js 中用于绘制 3D 椭球体的函数,就像 3D 版本的椭圆。它可以创建各种形状的球体和椭球体,是 3D 绘图中非常基础且常用的函数。

基本语法

ellipsoid(w, h, d, [detailX], [detailY])
  • w:椭球体在 X 轴方向的宽度
  • h:椭球体在 Y 轴方向的高度
  • d:椭球体在 Z 轴方向的深度
  • detailX(可选):X 方向的细节级别,值越大表面越光滑,默认 12
  • detailY(可选):Y 方向的细节级别,默认 12

动手试试

先绘制一个简单的椭球体,在setup()中设置 3D 画布,并在draw()中设置相机视角。

01.gif

 
 
function setup() {  // 创建3D画布,需要指定WEBGL参数  createCanvas(600, 400, WEBGL); }  function draw() {  background(220);    // 添加简单光照,让3D效果更明显  ambientLight(150);  pointLight(255, 255, 255, 100, 100, 200);    // 旋转椭球体,让我们能看到3D效果  rotateX(frameCount * 0.01);  rotateY(frameCount * 0.01);    // 绘制一个球体(当w=h=d时就是球体)  fill(100, 150, 255);  ellipsoid(80, 150, 100); }
 

这段代码很简单,我逐一讲讲关键方法

  • createCanvas(600, 400, WEBGL):创建 3D 画布,必须添加WEBGL参数才能使用 3D 函数
  • ambientLight()pointLight():添加光照让 3D 物体有立体感
  • rotateX()rotateY():让物体随时间旋转,方便观察 3D 效果
  • ellipsoid(80, 150, 100):绘制一个椭球体的三维参数。而当三个维度数值相等时,绘制的就是一个标准球体

不同参数的效果

一起看看改变参数会产生什么效果:

02.png

function setup() {createCanvas(800, 600, WEBGL);
}function draw() {background(20);ambientLight(100);directionalLight(255, 255, 255, 0, 0, -1);// 旋转整个场景orbitControl(); // 允许用户通过鼠标旋转视角// 左侧:橄榄球形状(X轴拉长)push(); // 保存当前坐标系状态translate(-200, 0, 0); // 向左移动fill(255, 100, 100);ellipsoid(100, 50, 50); // X轴更长pop(); // 恢复坐标系状态// 中间:正常球体push();fill(100, 255, 100);ellipsoid(80, 80, 80); // 所有轴相等pop();// 右侧:扁平形状(Y轴压缩)push();translate(200, 0, 0); // 向右移动fill(100, 100, 255);ellipsoid(80, 40, 80, 24, 24); // 更高细节级别pop();
}

搞点猛的

做一个动态气泡效果。

03.gif

let bubbles = [];
let numBubbles = 15;function setup() {createCanvas(800, 600, WEBGL);// 创建多个气泡for (let i = 0; i < numBubbles; i++) {bubbles.push({x: random(-width/2, width/2),y: random(-height/2, height/2),z: random(-500, 500),size: random(20, 80),speed: random(0.5, 3),rotX: random(0.01),rotY: random(0.01),hue: random(180, 240) // 蓝色系气泡});}// 启用鼠标控制视角orbitControl();
}function draw() {background(10);// 添加环境光和方向光ambientLight(30);directionalLight(255, 255, 255, 0, 1, -1);// 绘制所有气泡for (let b of bubbles) {push();// 移动到气泡位置translate(b.x, b.y, b.z);// 旋转气泡rotateX(frameCount * b.rotX);rotateY(frameCount * b.rotY);// 设置气泡颜色和透明度noStroke();fill(b.hue, 200, 255, 200);// 绘制椭球体作为气泡let w = b.size * random(0.8, 1.2); // 轻微变形,更自然let h = b.size * random(0.8, 1.2);let d = b.size * random(0.8, 1.2);ellipsoid(w, h, d, 20, 20);pop();// 移动气泡(Z轴方向)b.z += b.speed;// 当气泡移出视野,重置位置if (b.z > 600) {b.z = -600;b.x = random(-width/2, width/2);b.y = random(-height/2, height/2);}}
}

这个案例创建了一个气泡数组,每个气泡都有自己的位置、大小、速度等属性。使用随机值让每个气泡的大小略有不同,看起来更自然。通过translate()将每个气泡放置在不同位置,每个气泡有独立的旋转速度,增加动态效果。使用半透明颜色和光照,营造出气泡的通透感,当气泡移出视野时,会在另一侧重新出现,形成循环效果。


以上就是本文的全部内容了,想了解更多P5.js玩法的工友欢迎关注《P5.js中文教程》

点赞 + 关注 + 收藏 = 学会了

http://www.dtcms.com/a/557292.html

相关文章:

  • Spring AI--RAG知识库
  • [已更新]2025大湾区杯粤港澳金融数学建模B题数据代码思路文章完整讲解:稳定币的综合评价与发展分析
  • Java Web 开发:JSON 基础 + @Test 测试 + Cookie/Session/ 请求处理
  • 做的比较好的卡车网站桂林网上商城
  • 营销建设网站制作浙江软装设计公司
  • MIP与VR:医学影像处理与虚拟现实技术详解
  • 如何用虚拟主机建设网站房地产项目网站建设
  • 快速上手大模型:深度学习3(实践:线性神经网络Softmax)
  • 网站 标准规划电子商务网站建设方案
  • 阻塞队列(BlockingQueue)原理、实现与应用:多线程编程中的核心数据结构
  • mstscax!CCC::CCFSMProc调试记录设置为1打开调试开关
  • 树莓派连接海康威视工业相机
  • 建设家具网站手机端怎么看世界杯
  • Go语言设计模式:工厂模式详解
  • Docker 部署 openEuler 教程及常见问题解决
  • 厦门专业做网站 厦门做网站的公司 厦门做服饰网站网站开发程序员需要会的技能
  • W55MH32三模自由控:小程序按键网页随选
  • 物联网入侵检测技术综合综述报告
  • 大模型-Qwen-Agent框架:系列Agent功能介绍 (2)
  • 网站 设计理念淄博网站建设优化运营熊掌号
  • R 包的制作
  • 【矩阵分析与应用】【第5章 梯度分析与最优化】【5.2.2 矩阵迹的微分计算示例d(tr(U))=tr(dU)证明】
  • 岳阳网站设计公司网站开发意义
  • MySQL的CONCAT函数介绍
  • 潜山云建站网站建设wordpress获取当前用户id
  • makefile 函数全解
  • day01_牛客_数字统计_C++
  • Redis RDB 持久化机制深入理解:Copy-On-Write 与数据一致性保障
  • 做哪方面的网站阳泉哪里做网站
  • 电商网站改版方案有哪些免费的ppt模板下载网站