网站首页 > 知识剖析 正文
阿基米德螺旋是以公元前 3 世纪希腊数学家阿基米德命名的螺旋。
阿基米德螺线亦称“等速螺线”。
它是一个轨迹,是当一点P沿动射线OP以等速率运动的同时,该射线又以等角速度绕点O旋转,点P的轨迹称为“阿基米德螺线”。
阿基米德螺线在生活中,有很多的实际应用。比如,螺旋天线,蚊香。
javascript实现阿基米德螺线:
<body onload='draw()'>
<canvas id="myCanvas" width="500" height="500"></canvas>
<script type="text/javascript">
function draw() {
var canvas=document.getElementById("myCanvas");
var context=canvas.getContext('2d');
context.fillStyle="#EEEEEE";
context.fillRect(0,0,500,500);
context.strokeStyle="red";
context.lineWidth=2;
//初始化一个角度
var angle = Math.PI/32;
context.beginPath();
context.moveTo(250,250);
for (var i=1;i<=256;i++)
{
x = 250+5*i*angle*Math.sin(i*angle);
y = 250+5*i*angle*Math.cos(i*angle);
context.lineTo(x,y);
}
context.stroke();
}
</script>
</body>
运行后如图:
改变其中的参数,会产生很多不同的图形,有的看起来并不是曲线。
比如改变角度为Math.PI/4和Math.PI/2时,图形是:
- 上一篇: 有趣的分形(二):六边形雪花
- 下一篇: 一文解读前端实现电子签名
猜你喜欢
- 2025-01-05 如何实现使用鼠标绘制直线?
- 2025-01-05 leaferjs,全新的 Canvas 渲染引擎
- 2025-01-05 「从头到脚」WebRTC + Canvas 实现一个双人协作的共享画板
- 2025-01-05 一文解读前端实现电子签名
- 2025-01-05 有趣的分形(二):六边形雪花
- 2025-01-05 HTML5学习笔记-绘制变形图形之组合效果
- 2025-01-05 游戏开发之旅-JavaScript绘制图形
- 2025-01-05 用三角函数sin和cos画模拟雷达示意图的html代码解析
- 2025-01-05 如何用2 KB代码实现3D赛车游戏?2kPlus Jam大赛了解一下
- 2025-01-05 贝塞尔曲线是什么?如何用 Canvas 绘制三阶贝塞尔曲线?
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)