`
wjlgryx
  • 浏览: 306876 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

html5 canvas实现旋转的心

阅读更多

<!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>
  • xin.rar (958 Bytes)
  • 下载次数: 27
分享到:
评论

相关推荐

    超炫酷HTML5 Canvas 3D旋转地球动画DEMO演示

    1、html5 2、地球旋转 3、canvas

    HTML5 Canvas实现3D旋转物体动画及模糊发光特效源码

    项目中的"HTML5 Canvas实现3D旋转物体动画及模糊发光特效源码.txt"文件很可能是详细解释代码工作原理的文档,而"js"和"css"文件夹则包含了实现这一特效的JavaScript代码和CSS样式。JavaScript文件中,你可能会找到...

    HTML5 Canvas三维立体的旋转物体动画

    "HTML5 Canvas三维立体的旋转物体动画"这个主题涉及到的是利用Canvas API来实现三维空间中的物体旋转效果,这在游戏、数据可视化、用户界面设计等领域有广泛应用。 Canvas API提供了基础的绘图命令,如画线、填充...

    使用HTML5 canvas 标签进行图片裁剪、旋转、缩放示例代码

    HTML5的canvas元素是网页开发中的一个强大工具,它提供了在浏览器端动态绘制图形的能力,包括图片处理。在这个示例中,我们将深入探讨如何利用canvas进行图片的裁剪、旋转和缩放操作。 首先,我们需要在HTML文件中...

    html5 canvas炫酷旋转银河系星空背景特效

    接下来,我们讨论一下如何在Canvas上实现旋转效果。HTML5 Canvas提供了一个叫做`rotate()`的方法,它可以改变当前的绘图坐标系统,使其沿着指定的角度进行旋转。通过在每次绘制星星之前调用`rotate()`,并随着时间...

    html5 canvas绘制3D地球旋转动画特效

    在这个“html5 canvas绘制3D地球旋转动画特效”中,我们将深入探讨如何利用HTML5 Canvas API来创建一个逼真的3D地球模型,并实现其旋转的动画效果。 首先,我们需要理解Canvas的基本用法。Canvas是一个矩形区域,在...

    基于html5 canvas实现的飘动的爱心心形动画特效

    在这个特定的场景中,我们讨论的是一个利用HTML5 Canvas实现的飘动的爱心心形动画特效,这通常用于节日、表白或者浪漫的场合,比如520这一天。 首先,我们需要理解Canvas的基本用法。Canvas是一个二维绘图上下文,...

    HTML5 Canvas模拟3D地球旋转动画特效

    在这个特定的案例中,“HTML5 Canvas模拟3D地球旋转动画特效”利用了Canvas的强大功能来创建一个逼真的3D地球模型,并在浏览器中实现动态旋转的效果。 首先,Canvas元素是HTML5新增的特性,它是一个矩形区域,通过...

    HTML5 Canvas 旋转的心形文字动画.rar

    `rotate()`方法接受一个角度参数,用于改变后续绘图操作的坐标系统,从而实现旋转效果。 为了形成3D旋转的效果,开发者可能使用了透视变换。在2D Canvas中,可以通过调整坐标比例来模拟3D效果。例如,越远离中心点...

    html5 canvas页面滚动背景图片旋转动画特效

    在这个特定的场景中,我们讨论的是如何使用Canvas实现页面滚动时背景图片的旋转动画特效。这样的效果可以增加网页的视觉吸引力,为用户带来更生动的浏览体验。 首先,我们要了解Canvas的基本用法。Canvas是一个HTML...

    HTML5 canvas纸片3D旋转动画.zip

    "HTML5 canvas纸片3D旋转动画"是一个利用canvas实现的交互式3D效果,通常用于创建引人入胜的网页视觉体验。在本示例中,我们将会探讨如何使用HTML5的canvas API来创建3D旋转和卷曲噪音动画。 首先,要理解HTML5 ...

    html5 canvas 词云旋转.zip

    在这个“html5 canvas 词云旋转.zip”压缩包中,重点介绍的是如何利用Canvas实现一个可自定义旋转、颜色和速度的词云效果。其中,TagCanvas是一个用于在HTML5 Canvas上创建3D词云的JavaScript库。 词云(Word Cloud...

    html5 canvas实现旋转的3D几何模型动画特效源码.zip

    在这个名为“html5 canvas实现旋转的3D几何模型动画特效源码.zip”的压缩包中,我们很显然会涉及到使用HTML5 Canvas API来构建旋转的3D几何模型动画的技巧和方法。 首先,Canvas API提供了`drawImage()`、`fillRect...

    商品展示 360度全景图-HTML5 Canvas 实现

    本项目基于HTML5的Canvas技术,实现了商品的360度全方位展示,适用于Chrome、Firefox以及IE9及以上的浏览器。 HTML5是现代网页开发的标准,它引入了许多新的API和元素,Canvas就是其中之一。Canvas是一个二维绘图上...

    简单HTML5 Canvas Arrow旋转动画

    本篇文章将深入探讨如何使用HTML5 Canvas实现一个简单的箭头旋转动画。 首先,我们需要在HTML文件中创建一个`&lt;canvas&gt;`元素,这是Canvas的基本画布。例如: ```html &lt;!DOCTYPE html&gt; &lt;html lang="zh"&gt; &lt;title&gt;...

    HTML5 Canvas旋转文本动画

    在本篇文章中,我们将深入探讨如何使用HTML5 Canvas实现文本的旋转动画。 首先,我们需要创建一个HTML文件并在其中引入Canvas元素。Canvas元素通过JavaScript来控制,所以我们需要在JavaScript中获取Canvas的2D渲染...

    html5 canvas 三维旋转的水晶球特效.rar

    html5 canvas 三维旋转的水晶球特效,除了使用CSS3技术外,还引用了一个regl.min.js特效库,类似jquery的插件库。其实这个球看上去更像是一个光棱球,能看到反射出的光线,另外背景的渲染也很到位,使整体的三维效果...

    HTML5 canvas实现人物【图片】360度旋转三维特效.rar

    HTML5 canvas实现人物【图片】360度旋转三维特效,不是平面意义上的旋转,而是三维旋转,从人物的下面旋转至人物的背面,再旋转到正面,就像是摄像机围绕人物转一圈的效果,非常流畅,角度无死角,通过这个例子你会...

Global site tag (gtag.js) - Google Analytics