<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>canvas</title>
</head><body><div>地球公转速度:<input type="input" value="60" id="m-earth-speed"> 月球公转速度:<input type="input" value="6" id="m-moon-speed"><input type="button" id="m-btn" value='设置'></div><canvas id="myCanvas" width="800" height="800" style="border:1px solid #d3d3d3;">您的浏览器不支持 HTML5 canvas 标签。</canvas><script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script><script>$(function() {var myAction = {},ctx, earchSpeed = 60,moonSpeed = 6;var dom = {earchSpeed: $('#m-earth-speed'),moonSpeed: $('#m-moon-speed'),btn: $('#m-btn'),canvas: $('#myCanvas')};$.extend(myAction, {initCanvas: function() {ctx = dom.canvas[0].getContext("2d");myAction.draw();},draw: function() {ctx.clearRect(0, 0, 300, 300); //清空所有的内容ctx.fillRect(0, 0, 300, 300);//绘制太阳ctx.save();ctx.beginPath();ctx.fillStyle = "yellow";ctx.arc(150, 150, 20, 0, Math.PI * 2);ctx.fill();ctx.restore();ctx.save();ctx.translate(150, 150);//绘制地球轨道ctx.beginPath();ctx.strokeStyle = "rgba(255,255,0,0.5)";ctx.arc(0, 0, 100, 0, 2 * Math.PI);ctx.stroke()var time = new Date();//绘制地球ctx.rotate(2 * Math.PI / earchSpeed * time.getSeconds() + 2 * Math.PI / (earchSpeed * 1000) * time.getMilliseconds());ctx.translate(100, 0);ctx.beginPath();ctx.fillStyle = "blue";ctx.arc(0, 0, 10, 0, Math.PI * 2);ctx.fill();//绘制月球轨道ctx.beginPath();ctx.strokeStyle = "rgba(255,255,255,.3)";ctx.beginPath();ctx.arc(0, 0, 40, 0, 2 * Math.PI);ctx.stroke();//绘制月球ctx.rotate(2 * Math.PI / moonSpeed * time.getSeconds() + 2 * Math.PI / (moonSpeed * 1000) * time.getMilliseconds());ctx.translate(40, 0);ctx.fillStyle = "#ffffff";ctx.beginPath();ctx.arc(0, 0, 4, 0, Math.PI * 2);ctx.fill();ctx.restore();requestAnimationFrame(myAction.draw);},initEvent: function() {dom.btn.on('click', function() {earchSpeed = dom.earchSpeed.val() - 0;moonSpeed = dom.moonSpeed.val() - 0;});}});var init = function() {myAction.initCanvas();myAction.initEvent();}();})</script>
</body></html>

canvas实现动画 地球绕太阳公转 月球绕地球公转相关推荐

  1. 地球和月球的转动(二)

    子贡曰:"贫而无谄,富而无骄,何如?"子曰:"可也:未若贫而乐,富而好礼者也."子贡曰:"诗云:'如切如磋,如琢如磨',其斯之谓与?"子曰: ...

  2. html月球绕地球转,CSS3地球公转,月球绕地球转

    CSS3地球公转,月球绕地球转 -何问起 .box{ transform: scale(0.5); position: relative; padding: 1px; height: 300px; w ...

  3. canvas 模拟地球绕太阳转动 月球绕地球转动

    requestAnimationFrame,Web中写动画的另一种选择 HTML5/CSS3时代,我们要在web里做动画选择其实已经很多了: 你可以用CSS3的animattion+keyframes ...

  4. Canvas模拟太阳地球月球的运动过程

    先看效果图 代码 package com.test.paintdemo.pathrelate;import android.content.Context; import android.graphi ...

  5. Canvas模拟地球,月球公转

    前言 众所周知,地球绕着太阳公转,月球作为地球的卫星,绕着地球沿着一定的轨道在旋转,这儿用圆来模拟地球和月球的旋转轨道(实际为椭圆). 正文 首先来分析,如何画一个绕着太阳不停旋转的地球.大家都知道c ...

  6. android画图 旋转 地球*月球,Unity3D实现月球绕地球旋转的C#脚本

    演示了用RotateAround实现月球绕地球旋转. 源代码如下: using UnityEngine; using System.Collections; public class MoonAndE ...

  7. 基于Canvas的动画基本原理与数理分析

    转载自https://www.jianshu.com/p/e70c9cfbdb38 什么是动画? 就像思考哲学问题无法回避思维和存在的关系一样,制作动画同样无法逃避的问题是动画的原理是什么?这里提一句 ...

  8. python月球和地球体重_地球和月球围绕太阳运行,与Python玩游戏

    我想在pygame中用python代码使太阳系只有两个性质:地球绕太阳转,月球绕地球连续运行.这是我的代码:import sys, random, math import pygame from py ...

  9. OpenGL模拟太阳、地球、月球公转自转

    // OpenGL_Prac.cpp : Defines the entry point for the console application. // #include "stdafx.h ...

最新文章

  1. 半吊子菜鸟学Web开发 -- PHP学习 4 --异常
  2. 使用idea编写SparkStreaming消费kafka中的数据【小案例】(四)
  3. Modularity QuickStart学习
  4. 内存还剩余很多,却使用 swap 分区
  5. 英特尔 开源降噪库 api_Google的新操作系统,英特尔的开源VR耳机以及更多新闻
  6. 2、组件注册-@Configuration@Bean给容器中注册组件
  7. jsp input maxlength无效_出现这3个现象, 说明你的孩子在无效学习! 家长们: 原来如此...
  8. 使用mybatis插入数据(insert)时返回主键的问题
  9. 【算法题目】数组中的逆序对
  10. 建议收藏!前端工程师一线大厂面试2021总结篇(50个JS常问知识点)
  11. Operations Manager 2007 R2 Beta可下载试用
  12. MongoDB studio3T 破解
  13. 腾讯校招都会问些什么?| 五面腾讯(Java岗)经历分享
  14. python opencv 实现图像白平衡
  15. 寒霜朋克计算机丢失,Frostpunk寒霜朋克冰汽时代已停止工作修复补丁(Windows6.1-KB2670838-x64)...
  16. 网络信息安全等级与标准
  17. 评分卡分箱原则及单调性
  18. N63044-第十周
  19. C++中的string用法
  20. MySQL数据库——MySQL数据表添加字段(三种方式)

热门文章

  1. 静态库那些事儿/MT /MD
  2. 【飞桨PaddlePaddle学习心得】被遗忘的8张图片(day2爬虫的王姝慧的问题)
  3. matlab 数组语法
  4. bzoj1707[Usaco2007 Nov]tanning分配防晒霜*
  5. 钟汉良日记:为何我持续写日记四十天后,让他精神层面完全被影响?
  6. ORB-SLAM2代码详解08: 局部建图线程LocalMapping
  7. 魔术师的猜牌术(一维数组) C++程序
  8. 2021年Java面经分享:java软件工程师证书多少钱
  9. 区块链+支付:区块链技术是什么?它如何在支付行业中使用?
  10. 工商局爬虫 商标网爬虫