문제

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