ما هي الخوارزمية لتخزين وحدات البكسل في دوامة في JS؟

StackOverflow https://stackoverflow.com/questions/344672

سؤال

ما هي الخوارزمية لتخزين وحدات البكسل في دوامة في JS؟

هل كانت مفيدة؟

المحلول

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);

تنفيذ عينة في http://myweb.uiowa.edu/timv/spiral.htm

نصائح أخرى

هناك بعض المشاكل في هذا السؤال. الأول هو أنك لست محددًا حقًا بشأن ما تفعله.

1) JavaScript ليست في الحقيقة وسيلة تخزين ، إلا إذا كنت تبحث عن نقل البكسلات باستخدام JSON ، وفي هذه الحالة قد ترغب في إعادة صياغة الإشارة بشكل صريح.

2) لا يوجد ذكر لما تتوقع أن تبدو عليه دوامة - هل نتحدث عن دوامة فضفاضة أو دوامة ضيقة؟ أحادي اللون أو التدرج أو سلسلة من الألوان؟ هل تنظر إلى حلزوني منحني أم مستطيل؟

3) ما هو الهدف النهائي هنا؟ هل تتطلع إلى رسم دوامة مباشرة باستخدام JS أم أنك تنقلها إلى مكان آخر؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top