html绘制函数曲线,JS+CSS动态绘制元素曲线运动轨迹(数学函数)

本文主要是介绍html绘制函数曲线,JS+CSS动态绘制元素曲线运动轨迹(数学函数),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0818b9ca8b590ca3270a3433284dd417.png相信许多小伙伴都想知道CSS+JS如何实现物体的曲线运动吧!

其实原理就是运用数学用的函数公式,本文运用的是sin函数上进行的基础变形.

今天的主要目标就是让这张图的里足球运动起来。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

首先肯定要先把这张图拆成两部分,这里我是用美图秀秀的抠图功能把足球扣出来的,再用消除笔把足球在原图中消除掉。得到以下的2张图。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

注意,足球必须是png,图片,这样在图片上运动的时候才不会把原图中的背景覆盖掉,形成正方形的白块。

index.html文件内容,没什么特别的。就不用多说了

bg1_0.png

ball.png

CSS样式也挺一般!

css_index.css

*{

margin: 0px;

padding: 0px;

}

body{

height: 900px;

width: 1440px;

}

.bg{

width: 100%;

height: 100%;

}

#ball{

position: absolute;

width: 100px;

height:100px;

left: 400px;

top: 350px;

}

接下来就是最核心的JS部分了。

js_index.js文件

var l=400;//球的left距离

var t=350;//球的top距离

var a=1;//计数器

var pi = 3.14;//pi

$(document).ready(function(){

window.setInterval("ball_go()",5);//让球每隔5毫秒运动一次即 每五秒执行一次ball_go函数

})

function ball_go(){

var i= document.getElementById("ball");

var change =parseInt(sport_line(l-a));

i.style.transform = 'rotate('+a*10+'deg)';//让球开始旋转

console.log(t);

//当球抵达目标位置的时候,球停止曲线运动,即a=280的时候球不再曲线运动,只进行旋转

if(a<=280){

i.style.left = (l-a)+"px";

i.style.top  = (change)+"px";

}

a++;

}

//运动曲线

function sport_line(x){

var y;

y= 115-Math.sin((x-100)/200*pi)*235;//决定球运动轨迹的函数,公式理解需一定数学基础,理解sin函数的人应该不会陌生,画出曲线图应该可以理解

return y;

}

大致就这样,挺简单了,相信各位都能看懂吧!当然网上也有工具可以自定义生成运动轨迹,大家可以去看看!

下面附有完整的文件,解压后就可以直接运行!

http://download.csdn.net/detail/shanamaid/9486577

非常抱歉

之前上传的代码JS部分有个符号打成中文的了

导致无法出现足球运动的效果,现在已经修正并重新上传!

这篇关于html绘制函数曲线,JS+CSS动态绘制元素曲线运动轨迹(数学函数)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/188858

相关文章

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab