笛卡尔情书的秘密——心形函数的绘制
时间:2010-10-18
来源:互联网
r=a(1-sinθ)
据说这是笛卡尔死前寄出的最后一封情书的内容,
这里面隐藏着一个刻骨铭心的秘密。。。
一生只为等待能手绘这个函数给我的人
借助canvas的arc方法,将此函数绘制如下:
关于心形线的一些资料
据说这是笛卡尔死前寄出的最后一封情书的内容,
这里面隐藏着一个刻骨铭心的秘密。。。
一生只为等待能手绘这个函数给我的人
借助canvas的arc方法,将此函数绘制如下:
<!doctype html> <html> <head> <meta charset='UTF-8' /> <title>Cardioid</title> </head> <body> <canvas id="pad" width='800' height='500'><a href='http://www.cssass.com'>cssass.com</a>提醒您:ie用户(ie9有请测试)请惭愧去吧</canvas> <script type="text/javascript"> var $id=function(n){ return document.getElementById(n) || n; } window.addEventListener("load",draw, false); var con=$id("pad").getContext('2d'); con.fillStyle='#f00' con.translate(300,100); function draw(){ var r=0 , a=100 , start = 0 , end= 0; con.rotate(Math.PI); for(var q=0; q<500; q++){ start += Math.PI * 2 /500; end = start + Math.PI * 2 /500; r=a * (1-Math.sin(start)); //心形极坐标表示法 con.arc(0,0,r,start,end,false); } con.fill(); } </script> </body> </html>
提示:您可以先修改部分代码再运行
(如果使用bezierCurveTo方法,绘制各种曲线图形也不在话下,但那并不是通过心形函数本身绘制的。)提示:您可以先修改部分代码再运行
关于心形线的一些资料
作者: ONEBOYS 发布时间: 2010-10-18
很浪漫
作者: silentcontrol 发布时间: 2010-10-19
既然加分了,那就再绘制几种图形。
其实极坐标是很利于绘制图形的。
那篇浪漫的文章最后提到了玫瑰线,可以使用如下公式:r(θ) = a sin kθ (k值改变,有不同变化)
其实极坐标是很利于绘制图形的。
那篇浪漫的文章最后提到了玫瑰线,可以使用如下公式:r(θ) = a sin kθ (k值改变,有不同变化)
<!doctype html> <html> <head> <meta charset='UTF-8' /> <title>Rose</title> </head> <body> <canvas id="pad" width='800' height='500'><a href='http://www.cssass.com'>cssass.com</a>提醒您:ie用户(ie9有请测试)请惭愧去吧</canvas> <script type="text/javascript"> var $id=function(n){ return document.getElementById(n) || n; } window.addEventListener("load",draw, false); var con=$id("pad").getContext('2d'); con.strokeStyle='#a00' con.translate(300,100); function draw(){ var r=0 , a=100 , start = 0 , end= 0 , k=4; //可以改变k值试试 for(var q=0; q<500; q++){ start += Math.PI * 2 /500; end = start + Math.PI * 2 /500; r =Math.abs(a *(Math.cos( k * start))) //玫瑰线公式r(θ) = a sin kθ con.arc(0,0,r,start,end,false); } con.stroke(); } </script> </body> </html>
提示:您可以先修改部分代码再运行
下面这个是阿基米德螺线:r(θ) = a+bθ提示:您可以先修改部分代码再运行
<!doctype html> <html> <head> <meta charset='UTF-8' /> <title>Archimedean spiral</title> </head> <body> <canvas id="pad" width='800' height='500'><a href='http://www.cssass.com'>cssass.com</a>提醒您:ie用户(ie9有请测试)请惭愧去吧</canvas> <script type="text/javascript"> var $id=function(n){ return document.getElementById(n) || n; } window.addEventListener("load",draw, false); var con=$id("pad").getContext('2d'); con.strokeStyle='#a00' con.translate(300,100); function draw(){ var r=0 , a=20 , start = 0 , end= 0 , k=2; for(var q=0; q<500; q++){ start += Math.PI * 2 /100; end = start + Math.PI * 2 /100; r =a + k * start //阿基米德螺线 con.arc(0,0,r,start,end,false); } con.stroke(); } </script> </body> </html>
提示:您可以先修改部分代码再运行
提示:您可以先修改部分代码再运行
作者: ONEBOYS 发布时间: 2010-10-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28