<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8' />
<title>3D LOVE in canvas</title>
</head>
<body>
<canvas id="pad" width="800" height="800" ><a href='http://www.cssass.com'>cssass.com</a>HTML5 canva</canvas>
</body>
<script type="text/javascript" >
function g(e){
return document.getElementById(e);
}
var theta = -0.4;
var eleva = -0.1;
var pad = g('pad');
var ctx = pad.getContext('2d');
ctx.translate(200,200);
ctx.scale(82,82);
function iso(x,y,z){
var dist = Math.sqrt(x*x+y*y);
var angle = (x==0 && y==0) ? 0 : Math.atan(y/x) + theta + ((x<0)? Math.PI : 0);
x=Math.cos(angle)*dist;
y=-Math.sin(angle)*dist;
var fact = (y*Math.cos(eleva) + z*Math.sin(eleva)+8)/8;
y=y*Math.sin(eleva) - z*Math.cos(eleva);
x*=fact;
y*=fact;
return {
x: x,
y: y
};
}
function love(){
var x,y,z,m,t=3;
for(z=-3;z<=3;){
for(y=-3;y<=3;){
for(x=-3;x<=3;){
m=(x*x + (9/4)*y*y + z*z - 1)*(x*x + (9/4)*y*y + z*z - 1)*(x*x + (9/4)*y*y + z*z - 1) - x*x*z*z*z - (9/80)*y*y*z*z*z;
if(m<0){
co = iso(x,y,z);
ctx.strokeRect(co.x, co.y,0.02,0.02);
ctx.closePath();
}
x+=0.11;
}
y+=0.11;
}
z+=0.11;
}
}
function preview(){
ctx.clearRect(-10,-10,20,20);
ctx.lineWidth=0.008;
ctx.lineJoin = "round";
ctx.strokeStyle = 'rgba(150,0,100,0.3)';
var co;
ctx.beginPath();
love();
ctx.stroke();
};
preview();
/* ����϶����� */
pad.onmousedown=function(e){
var x0 = e.clientX, y0 = e.clientY;
document.onmousemove=function(e){
theta -= (x0 - (x0=e.clientX))/100;
eleva -= (y0 - (y0=e.clientY))/100;
theta%=Math.PI*2; if (theta<0) theta+=Math.PI*2;
eleva%=Math.PI*2; if (eleva<0) eleva+=Math.PI*2;
preview();
}
document.onmouseup=function(e){
document.onmousemove=null;
}
}
</script>
</html>
分享到:
相关推荐
1、html5 2、地球旋转 3、canvas
项目中的"HTML5 Canvas实现3D旋转物体动画及模糊发光特效源码.txt"文件很可能是详细解释代码工作原理的文档,而"js"和"css"文件夹则包含了实现这一特效的JavaScript代码和CSS样式。JavaScript文件中,你可能会找到...
"HTML5 Canvas三维立体的旋转物体动画"这个主题涉及到的是利用Canvas API来实现三维空间中的物体旋转效果,这在游戏、数据可视化、用户界面设计等领域有广泛应用。 Canvas API提供了基础的绘图命令,如画线、填充...
HTML5的canvas元素是网页开发中的一个强大工具,它提供了在浏览器端动态绘制图形的能力,包括图片处理。在这个示例中,我们将深入探讨如何利用canvas进行图片的裁剪、旋转和缩放操作。 首先,我们需要在HTML文件中...
接下来,我们讨论一下如何在Canvas上实现旋转效果。HTML5 Canvas提供了一个叫做`rotate()`的方法,它可以改变当前的绘图坐标系统,使其沿着指定的角度进行旋转。通过在每次绘制星星之前调用`rotate()`,并随着时间...
在这个“html5 canvas绘制3D地球旋转动画特效”中,我们将深入探讨如何利用HTML5 Canvas API来创建一个逼真的3D地球模型,并实现其旋转的动画效果。 首先,我们需要理解Canvas的基本用法。Canvas是一个矩形区域,在...
在这个特定的场景中,我们讨论的是一个利用HTML5 Canvas实现的飘动的爱心心形动画特效,这通常用于节日、表白或者浪漫的场合,比如520这一天。 首先,我们需要理解Canvas的基本用法。Canvas是一个二维绘图上下文,...
在这个特定的案例中,“HTML5 Canvas模拟3D地球旋转动画特效”利用了Canvas的强大功能来创建一个逼真的3D地球模型,并在浏览器中实现动态旋转的效果。 首先,Canvas元素是HTML5新增的特性,它是一个矩形区域,通过...
`rotate()`方法接受一个角度参数,用于改变后续绘图操作的坐标系统,从而实现旋转效果。 为了形成3D旋转的效果,开发者可能使用了透视变换。在2D Canvas中,可以通过调整坐标比例来模拟3D效果。例如,越远离中心点...
在这个特定的场景中,我们讨论的是如何使用Canvas实现页面滚动时背景图片的旋转动画特效。这样的效果可以增加网页的视觉吸引力,为用户带来更生动的浏览体验。 首先,我们要了解Canvas的基本用法。Canvas是一个HTML...
"HTML5 canvas纸片3D旋转动画"是一个利用canvas实现的交互式3D效果,通常用于创建引人入胜的网页视觉体验。在本示例中,我们将会探讨如何使用HTML5的canvas API来创建3D旋转和卷曲噪音动画。 首先,要理解HTML5 ...
在这个“html5 canvas 词云旋转.zip”压缩包中,重点介绍的是如何利用Canvas实现一个可自定义旋转、颜色和速度的词云效果。其中,TagCanvas是一个用于在HTML5 Canvas上创建3D词云的JavaScript库。 词云(Word Cloud...
在这个名为“html5 canvas实现旋转的3D几何模型动画特效源码.zip”的压缩包中,我们很显然会涉及到使用HTML5 Canvas API来构建旋转的3D几何模型动画的技巧和方法。 首先,Canvas API提供了`drawImage()`、`fillRect...
本项目基于HTML5的Canvas技术,实现了商品的360度全方位展示,适用于Chrome、Firefox以及IE9及以上的浏览器。 HTML5是现代网页开发的标准,它引入了许多新的API和元素,Canvas就是其中之一。Canvas是一个二维绘图上...
本篇文章将深入探讨如何使用HTML5 Canvas实现一个简单的箭头旋转动画。 首先,我们需要在HTML文件中创建一个`<canvas>`元素,这是Canvas的基本画布。例如: ```html <!DOCTYPE html> <html lang="zh"> <title>...
在本篇文章中,我们将深入探讨如何使用HTML5 Canvas实现文本的旋转动画。 首先,我们需要创建一个HTML文件并在其中引入Canvas元素。Canvas元素通过JavaScript来控制,所以我们需要在JavaScript中获取Canvas的2D渲染...
html5 canvas 三维旋转的水晶球特效,除了使用CSS3技术外,还引用了一个regl.min.js特效库,类似jquery的插件库。其实这个球看上去更像是一个光棱球,能看到反射出的光线,另外背景的渲染也很到位,使整体的三维效果...
HTML5 canvas实现人物【图片】360度旋转三维特效,不是平面意义上的旋转,而是三维旋转,从人物的下面旋转至人物的背面,再旋转到正面,就像是摄像机围绕人物转一圈的效果,非常流畅,角度无死角,通过这个例子你会...