查看效果:http://hovertree.com/texiao/html5/8.htm

给我一个支点,我就可以撬动地球 阿基米德

下载 http://hovertree.com/down/h/earthhovertree.htm

代码如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>html5 canvas让地球转动起来 - 何问起</title><base target="_blank" />
<script type="text/javascript" src="http://hovertree.com/texiao/html5/8/clay.min.js"></script>
<script type="text/javascript">
function Earth() {
var stage = new Clay.Stage(800, 600);
var world = stage.getWorld();
var camera = stage.getCamera(); camera.set(0,0,0);
camera.setResolution(800, 600);
camera.setTarget(new Clay.Vector(-100,0,100)); window.onresize = function() {
stage.resizeTo(
800,600
);
}; window.onresize();
Clay.Collada.load('http://hovertree.com/texiao/html5/8/earth.xml', function (scene) {
scene.init(stage); var earth = new Clay.Texture('http://hovertree.com/texiao/html5/8/earthmap1k.jpg', stage); var clouds = new Image();
clouds.src = 'http://hovertree.com/texiao/html5/8/earthclouds1k.png'; var dark = new Image();
dark.src = 'http://hovert'+'ree.com/texiao/html5/8/darkside.png'; var waiting = setInterval(function(){
if (earth.complete && clouds.complete && dark.complete){
clearInterval(waiting);
play();
}
}, 1000); function play() {
var shape = world.getShapes()[0];
shape.setMaterial(earth); var x, y, z, t = Math.PI/4, r = 0, tick = 0.01, radius = 200;
var ttx = earth.canvas.getContext('2d');
var base = earth.image;
var wind = 0; stage.addEvent('enterframe', function(){ ttx.drawImage(base, 0,0);
var pos = (++wind)%1000;
ttx.drawImage(clouds, pos, 0);
ttx.drawImage(clouds, pos-1000, 0);
ttx.drawImage(dark, 0,0); t += tick;
x = -100 + Math.sin(t) * radius;
z = 100 + Math.cos(t) * radius;
y = Math.cos(t/3) * 50
camera.set(x, y, z);
}); stage.run();
}
});
}
window.addEventListener('load', function(){
new Earth();
}, false);
</script>
<style type="text/css">
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
position: relative;
background: black;
} .canvas3D {
background: black;
position: absolute;
left: 0;
top: 0;
}
.earthhovertree{z-index:4321;position:fixed;left:789px;color:white;height:1234px}a{color:white}
</style>
</head>
<body>
<div class="earthhovertree">
<h3>给我一个支点,我就可以撬动地球 阿基米德</h3>
<h3>给我一个HTML5浏览器,我就能转动地球 何问起</h3>
<a href="http://hovertree.com">首页</a>
<a href="http://hovertree.com/texiao/">特效</a>
<a href="http://hovertree.com/hvtart/bjae/dubjwt12.htm">原文</a>
<a href="http://hovertree.com/texiao/html5/7.htm">时钟</a>
<a href="http://hovertree.com/texiao/css/12.htm">登录</a>
<a href="http://hovertree.com/texiao/css/8.htm">打火机</a>
<a href="http://hovertree.com/texiao/html5/6.htm">玫瑰花</a>
<a href="http://hovertree.com/texiao/css/9.htm">3D文字</a> <a href="http://hovertree.com/texiao/html5/9.htm">太阳系</a>
<br />Clay - A 3D engine on canvas
<br />
<img src="http://hovertree.com/hvtimg/201512/pcmkj3ib.png" alt="阿基米德" /> </div>
<div>
<div id="canvas">
您的浏览器不支持canvas,请使用支持HTML5的浏览器查看本页。何问起 hovertree.com
</div>
</div>
</body>
</html>

更多: http://www.cnblogs.com/roucheng/p/texiao.html

HTML5模仿逼真地球自转的更多相关文章

  1. HTML5 + CSS3 实现地球绕太阳公转

    使用的是正面视角,主要是用 HTML5 + CSS3 来实现,JS只是用来画图. test.html: <!DOCTYPE html> <html> <head> ...

  2. Adobe Edge Animate –地球自转动画的实现,类似flash遮罩层的效果

    Adobe Edge Animate –地球自转动画的实现,类似flash遮罩层的效果 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 目前Edge的功能尚 ...

  3. CSS3实现3D地球自转行星公转

    截图效果:实际效果是动态的:地球自西向东自转,行星绕着地球公转,轨道也会转动 HTML页面代码: <!DOCTYPE html> <html lang="en"& ...

  4. js,jquery,css,html5特效

    包含js,jquery,css,html5特效,源代码 本文地址:http://www.cnblogs.com/roucheng/p/texiao.html 2017新年快乐特效 jQuery最新最全 ...

  5. Web前端资源汇总

    本文地址:http://www.cnblogs.com/jihua/p/webfront.html 网页特效库 2017新年快乐特效 CSS3+jQuery实现时钟插件 Html5入门实例" ...

  6. JS+HTML5的Canvas画图模拟太阳系运转

    查看效果:http://hovertree.com/texiao/html5/9.htm 地球自传 http://hovertree.com/texiao/html5/8.htm 代码如下: < ...

  7. 8个超炫酷仿苹果应用的HTML5动画

    苹果的产品一直以精美的UI著称,无论是软件应用还是硬件设备.本文主要分享了8个很不错的HTML5动画应用,这些动画正式模仿了苹果的各类应用,有焦点图.钟表.菜单等HTML5应用和jQuery插件,大家 ...

  8. 14款超时尚的HTML5时钟动画

    时钟动画在网页应用中也非常广泛,在一些个人博客中,我们经常会看到一些相当个性化的HTML5时钟动画.今天我们向大家分享了14款形态各异的超时尚HTML5时钟动画,其中有圆盘时钟.3D时钟.个性化时钟等 ...

  9. 14款形态各异的超时尚HTML5时钟动画

    14款超时尚的HTML5时钟动画(附源码)   时钟动画在网页应用中也非常广泛,在一些个人博客中,我们经常会看到一些相当个性化的HTML5时钟动画.今天我们向大家分享了14款形态各异的超时尚HTML5 ...

随机推荐

  1. [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能

    [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能 本节导读: 上节说了缓存是以空间来换取时间的技术,介绍了客户端缓存和两种常用服务器缓布,本节主要介绍一种. ...

  2. 开发必备的Windows小技巧

    在Windows中我们经常会遇到各种小问题,而这些小问题又确实在影响着工作效率,如果能解决这些小问题,那么就能在一定程度上提高工作效率,保证心情愉悦.今天我就来分享一下几个自认为比较有用的小技巧. 保 ...

  3. 辛巴学院-Unity-剑英的c#提高篇(一)主循环

    这是测试版 辛巴学院:正大光明的不务正业. 最近刚刚离开了我服务了三年多的公司,因为一个无数次碰到的老问题,没钱了. 之前不知道做什么好的时候,机缘巧合之下和哒嗒网络的吴总聊了一下,发现了vr gam ...

  4. MyISAM和InnoDB

    MyISAM和InnoDB MyISAM MyISAM使用B+tree作为索引结构,叶节点存放的是数据地址. MyISAM不支持事务和外键. MyISAM是表锁,对数据库写操作时会锁住整个表,效率低. ...

  5. Please Call Me NIO

    与其他语言相比,Java的IO功能显得异常复杂,各种流操作,通过程序员多次封装才可以达到操作文件的目的.自从jdk1.4之后,java提供了一个新的api完成IO操作,人称New IO(NIO),使用 ...

  6. 前nginx后Apache+Node反向代理

    前几天一直在被一个问题困扰,机器上跑的站点太多了,Apache上面有十几个,NodeJS的也有一堆,记端口号都要烦死,于是萌生了使用反向代理的想法.出发点貌似太low了,完全不是出于负载均衡.高并发什 ...

  7. Azure SQL Database (19) Stretch Database 概览

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  8. addUser

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. iOS开发-闪退问题-解决之前上架的 App 在 iOS 9 会闪退问题

    最新更新:(2015.10.02) 开发环境: Delphi 10 Seattle OS X El Capitan v10.11 需使用下列 HotfixID: 30398, PAServer Hot ...

  10. Android知识——ViewHolder的作用与用法

    ViewHolder通常出现在适配器里,为的是listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能.在android开发中Listview是一个很重要的组件,它以列表的形式 ...