


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


С этим вопросом есть пара проблем. Во-первых, вы не совсем конкретны в том, что делаете.
1) Javascript на самом деле не является носителем данных, если вы не хотите передавать пиксели с помощью JSON, и в этом случае вы можете перефразировать, чтобы явно указать это.
2) Там нет упоминания о том, как вы ожидаете, что спираль будет выглядеть - мы говорим о свободной спирали или узкой спирали? Одноцветный или градиентный или череда цветов? Вы смотрите на изогнутую спираль или прямоугольную?
3) Какая здесь конечная цель? Вы хотите нарисовать спираль напрямую с помощью JS или переносите ее в другое место?
http://www.mathemische-basteleien.de/spiral.htm
var Spiral = function(a) {
this.initialize(a);
}
Spiral.prototype = {
_a: 0.5,
constructor: Spiral,
initialize: function( a ) {
if (a != null) this._a = a;
},
/* specify the increment in radians */
points: function( rotations, increment ) {
var maxAngle = Math.PI * 2 * rotations;
var points = new Array();
for (var angle = 0; angle <= maxAngle; angle = angle + increment)
{
points.push( this._point( angle ) );
}
return points;
},
_point: function( t ) {
var x = this._a * t * Math.cos(t);
var y = this._a * t * Math.sin(t);
return { X: x, Y: y };
}
}
var spiral = new Spiral(0.3);
var points = spiral.points( 2, 0.01 );
plot(points);
Пример реализации на http://myweb.uiowa.edu/timv/spiral.htm
Спираль Архимеда ... Настройте функцию точки для других типов.
Какой алгоритм спирали?