`

使用two.js生成的卫星环绕动画效果

阅读更多

日期:2013-7-10  来源:GBin1.com

使用two.js生成的卫星环绕动画效果

two.js是一个帮助你实现绘图和动画效果的类库,同时支持三种前端绘图实现:

  • webgl
  • svg
  • 2d画布

使用这个类库,可以方便的支持这三种不同的实现,你只需要设置参数:Two.Types.canvas, Two.Types.svg, or Two.Types.webgl

下面是使用two.js生成的一个动画效果:

http://www.gbtags.com/gb/debug/592abb4d-6449-4654-a824-0232c0c3b110.htm

相关JS代码如下:

    var el = document.getElementById("main"),
    two = new Two({
    width: '800',
    height: '600'
    });
    two.appendTo(el);
     
    var earthAngle = 0,
    moonAngle = 0,
    distance = 30,
    radius = 50,
    padding = 100,
    orbit = 200,
    offset = orbit + padding,
    orbits = two.makeGroup();
     
    var earthOrbit = two.makeCircle(offset, offset, orbit);
    earthOrbit.noFill();
    earthOrbit.linewidth = 2;
    earthOrbit.stroke = "#EFEFEF";
    orbits.add(earthOrbit);
    two.update();
     
    var pos = getPositions(earthAngle++, orbit),
    earth = two.makeCircle(pos.x + offset, pos.y + offset, radius);
    earth.stroke = "#444";
    earth.linewidth = 3;
    earth.fill = "#CCCCCC";
     
    var moonOrbit = two.makeCircle(earth.translation.x, earth.translation.y, radius + distance);
    moonOrbit.noFill();
    moonOrbit.linewidth = 2;
    moonOrbit.stroke = "#ccc";
    orbits.add(moonOrbit);
    var pos = getPositions(moonAngle, radius + distance),
    moon = two.makeCircle(earth.translation.x + pos.x, earth.translation.y + pos.y, radius / 4);
    moonAngle += 5;
    moon.fill = "#474747";
     
     
     
    two.bind("update", function (frameCount) {
    var pos = getPositions(earthAngle++, orbit);
    earth.translation.x = pos.x + offset;
    earth.translation.y = pos.y + offset;
     
    var moonPos = getPositions(moonAngle, radius + distance);
    moon.translation.x = earth.translation.x + moonPos.x;
    moon.translation.y = earth.translation.y + moonPos.y;
    moonAngle += 5;
    moonOrbit.translation.x = earth.translation.x;
    moonOrbit.translation.y = earth.translation.y;
    });
     
    function getPositions(angle, orbit) {
    return {
    x: Math.cos(angle * Math.PI / 180) * orbit,
    y: Math.sin(angle * Math.PI / 180) * orbit
    };
    }
    two.play();

网站地址:http://jonobr1.github.io/two.js

via 极客标签

来源:使用two.js生成的卫星环绕动画效果

0
1
分享到:
评论

相关推荐

    基于Two.js实现星球环绕动画效果的示例

    在本文中,我们将深入探讨如何使用Two.js库来创建一个星球环绕动画效果。Two.js是一个强大的JavaScript库,它提供了一种简单的方式来在Web浏览器中进行2D图形绘制,支持SVG、Canvas和WebGL三种渲染方式。这个库特别...

    前端项目-two.js.zip

    4. **艺术和实验性项目** - 对于艺术家或实验性Web项目,"two.js" 提供了一种强大的工具来创建动态视觉效果。 **使用技巧** 1. **预处理图形** - 通过预定义图形模板,可以在运行时快速复用和修改,提高性能。 2. *...

    Two.js---二维绘图 API

    Two.js 有一个内置的动画循环,可搭配其他动画库。Two.js 包含可伸缩矢量图形解释器,这意味着开发人员和设计人员都可以在商业应用中,如 Adobe Illustrator 中创建 SVG 元素,并把它引入 Two.js 使用场景中。

    two.js之实现动画效果示例

    Two.js 包含可伸缩矢量图形解释器,这意味着开发人员和设计人员都可以在商业应用中,如 Adobe Illustrator 中创建 SVG 元素,并把它引入 Two.js 使用场景中。 二、导入two.js 三、用two.js实现动画 1)一个简单的小...

    Twojs插件使用demo

    在"Twojs插件使用demo"中,可能会演示如何使用Two.js的动画系统。这通常涉及到设置图形的属性,如位置、旋转或缩放,并指定一个时间函数来平滑地改变这些属性。`two.update()`方法是关键,它在每次重绘时更新所有...

    Twojs是一个二维的绘图API用于较新的Web浏览器

    - **动画**:使用 `two.update()` 更新帧,结合`rect.animate()` 或者设置图形属性的动画来实现动态效果。 - **事件处理**:通过 `rect.bind('click', function() {...})` 绑定点击事件,自定义事件处理函数。 4....

    tess-two.tesseract3.01.rar

    tess-two.tesseract3.01.rar tess-two.tesseract3.01.rar tess-two.tesseract3.01.rar tess-two.tesseract3.01.rar

    批处理加密 四种加密方式 自动将ONE.bat 生成TWO.bat

    本文将深入探讨如何使用批处理进行文件加密,以及如何通过批处理脚本自动将一个批处理文件(如ONE.bat)转换为另一个加密的批处理文件(TWO.bat)。我们将介绍四种不同的加密方式,并详细讲解每种方式的实现步骤。 ...

    two.js:面向Web的渲染器不可知的二维绘图api

    Two.js 适用于现代浏览器的二维绘图API。 它与渲染器无关,可以使同一api在多个上下文中渲染:webgl,canvas2d和svg。 •••••用法下载最新的并将其包含在html中。 < script src =" js/two.min.js " > <...

    two.js:2D游戏引擎

    在JavaScript的世界里,two.js提供了图形绘制、动画制作、精灵处理、碰撞检测等关键的游戏开发工具。 首先,让我们来深入了解一下two.js的核心特性: 1. **图形绘制**:two.js支持多种图形的绘制,包括但不限于...

    json2.js 亲测可用

    它基于JavaScript的一个子集,设计为人类可读且易于编写,同时也易于机器解析和生成。JSON2.js是一个JavaScript库,由Douglas Crockford开发,主要目的是为了在旧版本的JavaScript引擎中提供完整的JSON支持。 在...

    canvas-engines-comparison:PixiJS,Two.js,Paper.js,Fabric.js和Pencil.js的性能比较;

    画布引擎比较描述 , , , , , , 和 ; 在画布上以不同速度移动的1000、2000或5000个不同的矩形。快速开始$ yarn install$ yarn build$ yarn start

    JSON2.JS JSON.JS JSON_PARSE.JS

    cycle.js: This file contains two functions, JSON.decycle and JSON.retrocycle, which make it possible to encode cyclical structures and dags in JSON, and to then recover them. JSONPath is used to ...

    唯美雪景雪花飘落效果代码.zip

    我们可以利用Two.js的动画系统来更新雪花的位置,模拟它们在屏幕上的飘落轨迹。 其次,Snow.js是一个专门用于创建雪花飘落效果的JavaScript插件。它通常包含一系列预定义的雪花形状和飘落行为,可以通过调整参数来...

    After-Effects-CEP-Extension-Two.js:将 Two.js 路径转换为 ​​After Effects 形状图层

    After-Effects-CEP-Extension-Two.js 在 After Effects 中加载 TWO.js 形状以塑造图层的概念证明。 有关 Adob​​e CEP 扩展的更多信息,请参阅: 的以下文字改编自那里: 播放器调试模式设置 除非经过加密签名,...

    前端项目-satellite.js.zip

    在这个案例中,“satellite-js-master”可能是一个基于JavaScript的前端应用,它可能利用现代Web技术如React、Vue或Angular来实现,也可能仅使用原生JavaScript,为用户提供实时的卫星追踪功能。 2. **卫星轨道计算...

    air_force_two.zip

    《STK中的“air_force_two.zip”模型资源详解》 在信息技术领域,模拟和仿真工具在科学研究、工程设计以及教学中扮演着至关重要的角色。其中,Satellite ToolKit(STK)是一款广受好评的空间态势感知和分析软件,它...

    tess-two.9.1.0.tar.gz

    **OCR技术与tess-two库** OCR(Optical Character Recognition,光学字符识别)是一种计算机技术,用于将图像中的打印或手写文字转换为机器编辑的文本。它在文档扫描、表格处理、车牌识别等领域有着广泛的应用。在...

Global site tag (gtag.js) - Google Analytics