椭圆曲线

*{margin:0px;padding:0px;}

div{border:1px solid #111;}

.points{width:1px;height:1px;border:0px solid #111;

position:absolute;

line-height:1px;font-size:1px;

background:#111;}

.go-oval{width:10px;height:10px;border:0px solid #111;

position:absolute;

line-height:1px;font-size:1px;

background:#111;

border-radius:5px;

}

(function(){

function $(idd){

var obj = {};

if( typeof( idd ) === 'string'){

var idName = idd.substr(1, idd.length );

if( idd.substr(0,1) === '#' ){

obj = document.getElementById(idName);

}

else if( idd.substr(0,1) === '.'){

obj = document.getElementsByName(idName);

}

else if( idd == 'document' ){

obj = document;

}

else {

obj = document.getElementsByTagName(idd);

//alert(idd)

}

}

else {

obj = idd;

}

return obj;

}

//生成椭圆曲线的点(数组)

function make_points(a, b, interval, addX, addY){

var x,y;

var xy = [],xy1 = [],xy2 = [];

addX = addX ? addX : a;

addY = addY ? addY : b;

x = - Math.sqrt( (b*b)*a*a/(b*b) );

for(var n = 0; 1; n ++){

y = Math.sqrt( b*b - (b*b*x*x)/(a*a) );

if( n == 0 ){

y0 = y;

}

xy1[n] = [x + addX,y + addY];

xy2[n] = [x + addX,-y + addY];

x = x + interval;

if( x > Math.sqrt( (b*b)*a*a/(b*b) ) ){

break;

}

}

//xy2倒序

for(var n = 0, n2 = len = xy2.length - 1 ; n <= len; n ++, n2--){

xy[n] = xy2[n2];

}

xy = xy1.concat(xy);

return xy;

}

//画椭圆曲线

function draw_oval(points){

var len = points.length;

var divs = '';

for(var n = 0; n < len; n ++){

divs += '

}

return divs;

}

//沿着曲线跑动

function go_oval(idd,points, n, t, addX, addY){

var len = points.length;

n = n ? n : 0;

t = t ? t : 10;

addX = addX ? addX : 0;

addY = addY ? addY : 0;

var $obj = $(idd).style;

$obj.left = points[n][0] + addX + 'px';

$obj.top = points[n][1] + addY + 'px';

n ++;

n = n == len ? 0 : n;

setTimeout(function(){

go_oval(idd, points, n, t, addX, addY);

},t);

}

window.onload = function(){

var points1 = make_points(50,100,1,200,200);

var points2 = make_points(200,100,1);

//画椭圆曲线

$('#tuoyuan1').innerHTML = draw_oval( points1 );

$('#tuoyuan2').innerHTML = draw_oval( points2 );

//alert( make_points(200,100,3) )

//小点在曲线上跑动

go_oval('#go-oval1',points1,0,10 ,-5,-5);

go_oval('#go-oval2',points2,0,10 ,-5,-5);

};

})();

js实现椭圆轨迹_Js 椭圆轨迹运动动画 代码分享相关推荐

  1. html图片自动切换的幻灯片效果的,js带点自动图片轮播幻灯片特效代码分享

    本文实例讲述了javascript带点自动图片轮播幻灯片特效.分享给大家供大家参考.具体如下: 这是一款基于javascript实现带点自动图片轮播幻灯片特效代码,实现过程很简单. 运行效果图:--- ...

  2. 教你用html+js制作一个自己的点名系统,实例代码分享

    简介 教你用html+js制作一个自己的点名系统,实例代码如下. 效果 代码 HTML <div class="wrapper"><h1 align=" ...

  3. Three.js学习五——让模型沿着轨迹移动

    目录 流程 搭建场景环境 添加模型 增加运动轨迹 让模型沿轨迹运动 完整代码和效果 流程 基本流程 1.添加模型 2.增加运动轨迹 3.让模型沿轨迹运动 工程文件结构如下图: static:存放静态资 ...

  4. PHP3d地球,three.js绘制地球、飞机与轨迹的效果示例

    对于three.js不太熟悉的朋友们可以参考这篇文章,threejs官网:https://threejs.org/ 首先我们来看下要实现的效果 这个缩小后的图片,下面我们来看下近距离的动态效果.. 效 ...

  5. 地图 显示 动态轨迹_动态轨迹怎么制作?华为Watch GT2轻松搞定

    在抖音上,很多用户喜欢分享自己的运动轨迹视频,比如:小伙跑步去见女朋友,视频中的地图跑步轨迹形似爱心,健身立马甜蜜蜜.狗粮吃撑之余,也有很多小伙伴们好奇:既能监测运动卡路里等多项数据.又能展现人物动态 ...

  6. GPS/轨迹追踪、轨迹回放、围栏控制

    折腾一个多月终于弄完了这个项目,起初都未曾接触GPS/轨迹追踪.轨迹回放.圈划围栏...等一些在百度地图或者Googel地图操作的一些业务,后端的业务相对来说简单点 cas单点登录,mongdb灵活的 ...

  7. 鹰眼轨迹android,鹰眼轨迹服务

    轨迹追踪 鹰眼为每一个应用提供1000万终端以上轨迹管理能力,并且支持全球轨迹追踪.鹰眼提供多种API和SDK供开发者从各种终端追踪轨迹,如:手机.GPS定位器.智能后视镜等硬件设备.此外,鹰眼也支持 ...

  8. 人员走动轨迹展示——小人走动行走动画

    曾想过把轨迹中人员行走做成动画效果,一直没找到好的办法,现在找到一个开源使用openlayers开发的动画,但是该动画是飞机飞行,需要稍作修改,将飞机换成小人的64向图.需要调整的部分为: 1.飞机不 ...

  9. Moveit编程——moveit 编程技巧笔记——圆弧轨迹规划+修改轨迹

    moveit 编程技巧笔记--圆弧轨迹规划+修改轨迹 1 笛卡尔空间圆弧轨迹规划 2 轨迹重定义(修改moveit生成的轨迹数据) 1 笛卡尔空间圆弧轨迹规划 之前学习过笛卡尔空间下轨迹规划API:( ...

  10. 采用rrt进行机械臂轨迹规划得到轨迹的算法步骤

    采用RRT进行机械臂轨迹规划得到轨迹的算法步骤如下: 定义机械臂的状态空间和操作空间,其中状态空间包括机械臂的关节角度.末端执行器的位置和姿态等信息,操作空间包括机械臂的关节空间和笛卡尔空间. 初始化 ...

最新文章

  1. 到2030年,智能农业或将养活85亿人!但网络安全威胁需要重视
  2. java解析静态AIS原始数据
  3. Unity3D_NGUI_安卓APK安装包瘦身实践
  4. 阿里云服务器安装JDK指南
  5. Oracle使用ODBC连接配置
  6. 快讯:阿里巴巴加入JCP执行委员会
  7. 获取列表的最后一个元素
  8. python之路 Day9 MySQL学习
  9. svm loss function是什么
  10. 华氏温度转摄氏温度c语言作业,C语言摄氏度互相转换华氏
  11. 电力职称计算机英语成绩查询,职称考试成绩查询
  12. python与数据库实现报表的分组统计_报表排版与布局:数据分组和统计(RDL/页面报表)...
  13. Gephi 网络可视化——调整节点大小
  14. 产生唯一的id(idworker工具类)
  15. 在疫情肆虐的世界里,适度恐惧的活着
  16. 最近研究的windows API
  17. 怎么在cmd 窗口 远程连接服务器
  18. 谈谈promise,谈谈微任务
  19. 销售crm系统排行?2022年终十大销售管理系统软件推荐
  20. su和su-以及sudo的理解

热门文章

  1. 国内数据资源共享平台介绍
  2. web常见的五种前端布局方式
  3. Android手机修改wifi图标,安卓手机怎么改wifi密码?
  4. 搜狗微信文章采集php,[造轮子]爬取搜狗微信公众号文章
  5. dw怎么写html,dw怎么写html
  6. 2021年T电梯修理考试报名及T电梯修理试题及解析
  7. 自然语言处理实战:新闻文本分类(附代码)
  8. linux用sed命令修改IP地址,通过sed命令获取IP地址
  9. JUCE学习笔记01-子组件与Graphics类
  10. 博图注册表删除方法_win7系统鼠标右键刷新反应慢原因【解决方法】