JS中以螺旋形式存储像素的算法是什么?
leeand00
问问题
1920 次
2 回答
5
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);
于 2008-12-05T20:00:16.443 回答
3
这个问题有几个问题。首先是你并没有真正具体说明你在做什么。
1) Javascript 并不是真正的存储介质,除非您希望使用 JSON 传输像素,在这种情况下,您可能需要重新表述以明确说明这一点。
2)没有提到你期望螺旋看起来像什么 - 我们是在谈论松散螺旋还是紧密螺旋?单色或渐变或一系列颜色?你在看一个弯曲的螺旋还是一个矩形?
3)这里的最终目标是什么?您是想直接使用 JS 绘制螺旋还是将其传输到其他地方?
于 2008-12-05T19:08:41.680 回答