Привет, у меня есть следующий код, который генерирует спираль на холсте, и я хочу, чтобы спираль была анимирована по мере ее нарисования, в данный момент с нижним кодом спираль полностью нарисованная при загрузке страницы. Я хочу видеть, как спираль вытягивается. Я хотел бы использовать requestAnimationFrame для выполнения задания.Как анимировать рисунок спирали
мой HTML
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="styles.css">
<meta charset="utf-8">
<title>Spiral</title>
</head>
<body>
<canvas id="canvas" style="border: 1px solid black" width="300" height="300"></canvas>
<script src="scripts.js"></script>
</body>
</html>
и мой Javascript
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var centerX = canvas.width/2;
var centerY = canvas.height/2;
ctx.moveTo(centerX,centerY);
var gap =2;
var steps = 60;
var increment = 2*Math.PI/steps;
var theta = increment;
while(theta < 20*Math.PI) {
var newX = centerX + theta * Math.cos(theta) * gap;
var newY = centerY + theta * Math.sin(theta) * gap;
ctx.lineTo(newX,newY);
theta = theta + increment;
}
ctx.stroke();
см для jsfiddle https://jsfiddle.net/gustav1105/hx8tm43k/
Посмотрите на эту тему: http://stackoverflow.com/questions/31096766/creating-the-butterfly-curve-with-arrays В частности, обратите внимание на 'tavnab's' ответ, который предоставляет как статическую, так и анимированную версию. (совершенно другой кривой) – enhzflep