千家信息网

html5怎么实现波浪效果图

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍了html5怎么实现波浪效果图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇html5怎么实现波浪效果图文章都会有所收获,下面我们一起来看看吧。先画个最作
千家信息网最后更新 2025年01月19日html5怎么实现波浪效果图

这篇文章主要介绍了html5怎么实现波浪效果图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇html5怎么实现波浪效果图文章都会有所收获,下面我们一起来看看吧。

  先画个最作一新求抖直微圈简单的圆

  var ctx = document.getElementById('myCanvas').getContext('2d');

  ctx.lineWidth = 1;

  ctx.strokeStyle = "orange";

  ctx.arc(100,100,90,0,2*Math.PI,false);

  ctx.stroke();

  在圆内上下滚遇新是直朋能到分览动的线

  var ctx = document.getElementById('myCanvas').getContext('2d');

  var y = 100;

  var flag = 0;

  function init(){

  //清空canvas

  ctx.clearRect(0,0,200,200);

  //计算在左半圆上随着y值上下移动,对应的x值

  // var y = 30;

  var expression = 8100 - Math.pow((100-y),2);

  var x = 100 - Math.sqrt(expression) ;

  ctx.beginPath();

  ctx.lineWidth = 1;

  ctx.strokeStyle = "orange";

  ctx.arc(100,100,90,0,2*Math.PI,false);

  ctx.stroke();

  ctx.lineWidth = 1;

  ctx.strokeStyle = "green";

  ctx.beginPath();

  ctx.moveTo(x,y);

  ctx.lineTo(200-x, y);

  ctx.stroke();

  if (flag == 0) {

  y += 1;

  if(y == 130){

  flag = 1;

  }

  }else{

  y -= 1;

  if (y == 70) {

  flag = 0;

  }

  }

  window.requestAnimationFrame(init);

  }

  模拟水在整中比需抖接朋功要朋插个球内起伏

  var ctx = document.getElementById('myCanvas').getContext('2d');

  var y = 100;

  var flag = 0;

  function init(){

  //清空canvas

  ctx.clearRect(0,0,200,200);

  //计算在左半圆上随着y值上下移动,对应的x值

  var expression = 8100 - Math.pow((100-y),2);

  var x = 100 - Math.sqrt(expression) ;

  ctx.lineWidth = 1;

  ctx.strokeStyle = "green";

  ctx.beginPath();

  ctx.moveTo(x,y);

  ctx.lineTo(200-x, y);

  ctx.stroke();

  //计算圆起始点(与X轴平行的直径的右侧端点)与圆左侧给定Y坐标的点

  var distance = Math.sqrt(Math.pow((190-x),2)+Math.pow((100-y),2));

  //sina=d/2r a为夹角的一半 2a为两点的圆心角 Math.asin最终结果为弧度 如asin(1)=1/2*PI

  var angle = Math.asin(distance/180)*2;

  ctx.beginPath();

  if(y<100){

  angle = 2*Math.PI - angle;

  }

  ctx.arc(100,100,90,Math.PI-angle,angle,false);

  ctx.stroke();

  if (flag == 0) {

  y += 1;

  if(y == 150){

  flag = 1;

  }

  }else{

  y -= 1;

  if (y == 50) {

  flag = 0;

  }

  }

  window.requestAnimationFrame(init);

  }

  模拟球两边的起伏不同比抖朋要插支一圈不者地步

  var ctx = document.getElementById('myCanvas').getContext('2d');

  var step = 0;

  function init(){

  //清空canvas

  ctx.clearRect(0,0,200,200);

  step++;

  //转化为弧度

  var stepAngle = step*Math.PI/180;

  var deltaHeight = Math.sin(stepAngle)*30;

  var deltaHeightRight = Math.cos(stepAngle)*30;

  var y = 100 + deltaHeight;

  //计算在左半圆上随着y值上下移动,对应的x值

  var expression = 8100 - Math.pow((100-y),2);

  var x = 100 - Math.sqrt(expression) ;

  var rightY = 100 + deltaHeightRight;

  var expressionRight = 8100 - Math.pow((100-rightY),2);

  //取右侧的X坐标(同一个y值会有两个x坐标)

  var rightX = 200 - (100 - Math.sqrt(expressionRight));

  // alert("rightX:"+rightX+" rightY:"+rightY+" x:"+x+" y:"+y);

  ctx.lineWidth = 1;

  ctx.strokeStyle = "green";

  ctx.fillStyle = "green";

  ctx.beginPath();

  ctx.moveTo(x,y);

  ctx.lineTo(rightX, rightY);

  ctx.stroke();

  //计算圆起始点(与X轴平行的直径的右侧端点)与圆左侧给定Y坐标的点

  var distance = Math.sqrt(Math.pow((190-x),2)+Math.pow((100-y),2));

  //sina=d/2r a为夹角的一半 2a为两点的圆心角 Math.asin最终结果为弧度 如asin(1)=1/2*PI

  var angle = Math.asin(distance/180)*2;

  var distanceRight = Math.sqrt(Math.pow((190-rightX),2)+Math.pow((100-rightY),2));

  var angleRight = Math.asin(distanceRight/180)*2;

  ctx.beginPath();

  //如果在左侧上半圆则用2PI-弧度

  if(y<100){

  angle = 2*Math.PI - angle;

  }

  if(rightY < 100){

  angleRight = -angleRight;

  }

  ctx.arc(100,100,90,angleRight,angle,false);

  ctx.stroke();

  // ctx.fill();

  window.requestAnimationFrame(init);

  }

  把起伏的直朋不功事做时次功好来多这开制的请一例农在线改成曲线(见开头的效果图是能览调不页新代些事几求事都时学下是事)

  var ctx = document.getElementById('myCanvas').getContext('2d');

  var step = 0;

  function init(){

  //清空canvas

  ctx.clearRect(0,0,200,200);

  step+=3;

  //转化为弧度

  var stepAngle = step*Math.PI/180;

  var deltaHeight = Math.sin(stepAngle)*20;

  var deltaHeightRight = Math.cos(stepAngle)*20;

  var y = 100 + deltaHeight;

  //计算在左半圆上随着y值上下移动,对应的x值

  var expression = 8100 - Math.pow((100-y),2);

  var x = 100 - Math.sqrt(expression) ;

  var rightY = 100 + deltaHeightRight;

  var expressionRight = 8100 - Math.pow((100-rightY),2);

  //取右侧的X坐标(同一个y值会有两个x坐标)

  var rightX = 200 - (100 - Math.sqrt(expressionRight));

  // alert("rightX:"+rightX+" rightY:"+rightY+" x:"+x+" y:"+y);

  ctx.lineWidth = 5;

  ctx.strokeStyle = "green";

  ctx.beginPath();

  ctx.arc(100,100,90,0,Math.PI*2,false);

  ctx.stroke();

  // ctx.fillStyle = "green";

  ctx.fillStyle = "rgba(0,222,255, 0.2)";

  ctx.beginPath();

  ctx.moveTo(x,y);

  // ctx.lineTo(rightX, rightY);

  ctx.bezierCurveTo(100, y-30, 100, rightY-30, rightX,rightY);

  // ctx.stroke();

  //计算圆起始点(与X轴平行的直径的右侧端点)与圆左侧给定Y坐标的点

  var distance = Math.sqrt(Math.pow((190-x),2)+Math.pow((100-y),2));

  //sina=d/2r a为夹角的一半 2a为两点的圆心角 Math.asin最终结果为弧度 如asin(1)=1/2*PI

  var angle = Math.asin(distance/180)*2;

  var distanceRight = Math.sqrt(Math.pow((190-rightX),2)+Math.pow((100-rightY),2));

  var angleRight = Math.asin(distanceRight/180)*2;

  // ctx.beginPath();

  //如果在左侧上半圆则用2PI-弧度

  if(y<100){

  angle = 2*Math.PI - angle;

  }

  if(rightY < 100){

  angleRight = -angleRight;

  }

  ctx.arc(100,100,90,angleRight,angle,false);

  // ctx.stroke();

  ctx.fill();

  window.requestAnimationFrame(init);

  }

关于"html5怎么实现波浪效果图"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"html5怎么实现波浪效果图"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

坐标 弧度 半圆 效果 效果图 上下 右侧 波浪 移动 圆心 圆心角 夹角 直径 知识 端点 结果 平行 起始 两个 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 人民银行西安分行网络安全周 网络安全宣传周开幕式视频 我的世界网易有哪两个服务器 机械臂控制软件开发 mdf用什么数据库打开 成都任我行网络技术有 达梦数据库中删除字段类型的语句 在履行网络安全监管职责中 数据库表设计视图中显示的是 山西恩驰深信服网络安全 乐山大佛服务器怎么样 软件开发总投资和实施计划 服务器snmp使用 阿里云服务器运行环境 广西潘达易网络技术有限公司 云计算改变软件开发 贵州省网络安全知识 超聚变服务器和华为服务器 多租户数据库 软件开发上线周期的描述 青岛易卓网络技术服务 服务器设置多少比较好 深圳千星网络技术有限公司 mt5用什么服务器好 蓬莱微信公众号软件开发外包公司 溢出隐藏软件开发 幼儿园网络安全培训反思 广西潘达易网络技术有限公司 计算机网络技术基础答案第二版 墨子推演数据库设计
0