Was ist der Algorithmus die Pixel in einer Spirale in JS zum Speichern?
-
19-08-2019 - |
Frage
Was ist der Algorithmus für die Pixel in einer Spirale in JS zu speichern?
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?