Frage

Was ist der Algorithmus für die Pixel in einer Spirale in JS zu speichern?

War es hilfreich?

Lösung

http://www.mathematische-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);

Beispielimplementierung unter http://myweb.uiowa.edu/timv/spiral.htm

Andere Tipps

Es gibt ein paar Probleme mit dieser Frage. Die erste ist, dass Sie nicht wirklich spezifisch über das, was du tust.

1) Javascript ist nicht wirklich ein Speichermedium, wenn Sie die Pixel mit JSON zu übertragen suchen, in dem Fall, dass Sie explizit neu zu formulieren wünschen können, dass angeben.

2) Es gibt keine Erwähnung von dem, was Sie erwarten, dass die Spirale aussehen - sprechen wir über eine lose Spirale oder eine enge Spirale? Einfarbige oder einen Gradienten oder eine Reihe von Farben? Suchen Sie an einer gekrümmten Spirale oder einem rechteckigen ein?

3) Was ist das Endziel hier? Suchen Sie die Spirale direkt mit JS zu ziehen oder sind Sie es an einen anderen Ort zu übertragen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top