From 0463fcc9cab7c59ce1764435b770f591cee70b9a Mon Sep 17 00:00:00 2001 From: Jonathan Puckey Date: Tue, 28 Jun 2011 11:35:08 +0200 Subject: [PATCH 1/4] Fix spelling mistake. --- src/ui/View.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/View.js b/src/ui/View.js index dad0a6ac..024ae5f1 100644 --- a/src/ui/View.js +++ b/src/ui/View.js @@ -20,7 +20,7 @@ * @class The View object wraps a canvas element and handles drawing and user * interaction through mouse and keyboard for it. It offer means to scroll the * view, find the currently visible bounds in project coordinates, or the - * center, both useful fo constructing artwork that should appear centered on + * center, both useful for constructing artwork that should appear centered on * screen. */ var View = this.View = Base.extend(/** @lends View# */{ From 9e2fa872f8934e7b9c576807102d87cd1d32f1de Mon Sep 17 00:00:00 2001 From: Jonathan Puckey Date: Tue, 28 Jun 2011 11:35:52 +0200 Subject: [PATCH 2/4] Fix downloads url in readme. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 005d9665..d3016826 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Paper.js - The Swiss Army Knife of Vector Graphics Scripting -If you want to work with Paper.js, simply download the latest "stable" version from [http://paperjs.org/downloads/](http://paperjs.org/downloads/) +If you want to work with Paper.js, simply download the latest "stable" version from [http://paperjs.org/download/](http://paperjs.org/download/) - Website: - Discussion forum: From b7ba11c9b8ec14191ccc3fbe428d2fdd62de7deb Mon Sep 17 00:00:00 2001 From: Jonathan Puckey Date: Tue, 28 Jun 2011 12:13:13 +0200 Subject: [PATCH 3/4] Cleanup StrokeBounds example. --- examples/Scripts/StrokeBounds.html | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/examples/Scripts/StrokeBounds.html b/examples/Scripts/StrokeBounds.html index 1f38dbcf..903710d3 100644 --- a/examples/Scripts/StrokeBounds.html +++ b/examples/Scripts/StrokeBounds.html @@ -68,14 +68,6 @@ path.strokeCap = 'round'; path.strokeJoin = 'miter'; - var path = new Path.Circle([50, 50], 35); - path.strokeColor = 'black'; - path.strokeWidth = 30; - path.strokeJoin = 'round'; - path.strokeCap = 'round'; -// path.scale(1, 0.5); - paths.push(path); - for (var i = 0; i < paths.length; i++) { var path = paths[i]; path.scale(1.5, new Point(300, 0)); @@ -88,6 +80,8 @@ rect.strokeColor = 'red' rect.fillColor = null; } + + project.activeLayer.position = view.center; From 2010f1b8d59ae089b68f29b32063764cb550aafa Mon Sep 17 00:00:00 2001 From: Jonathan Puckey Date: Tue, 28 Jun 2011 12:20:29 +0200 Subject: [PATCH 4/4] Clean up Tadpoles example. --- examples/Animated/Tadpoles.html | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/examples/Animated/Tadpoles.html b/examples/Animated/Tadpoles.html index 6825b5c3..0b6ee51d 100644 --- a/examples/Animated/Tadpoles.html +++ b/examples/Animated/Tadpoles.html @@ -26,7 +26,7 @@ initialize: function(position, maxSpeed, maxForce) { var strength = Math.random() * 0.5; this.acc = new Point(0, 0); - this.vel = new Point(Math.random() * 2 - 1, Math.random() * 2 - 1); + this.vel = Point.random() * 2 - 1; this.loc = position.clone(); this.r = 30; this.maxSpeed = maxSpeed + strength; @@ -64,8 +64,10 @@ var segment = segments[i]; var vector = lastPoint - segment.point; this.count += this.vel.length * 10; - var rotated = lastVector.rotate(90).normalize(Math.sin((this.count + i * 3) / 300)); - lastPoint = segment.point = lastPoint + lastVector.normalize(-5 - this.vel.length / 3); + var rotLength = Math.sin((this.count + i * 3) / 300); + var rotated = lastVector.rotate(90).normalize(rotLength); + lastPoint += lastVector.normalize(-5 - this.vel.length / 3); + segment.point = lastPoint; segment.point += rotated; lastVector = vector; } @@ -108,15 +110,18 @@ }, // A method that calculates a steering vector towards a target - // Takes a second argument, if true, it slows down as it approaches the target + // Takes a second argument, if true, it slows down as it approaches + // the target steer: function(target, slowdown) { var steer, desired = target - this.loc, d = desired.length; if (d > 0) { - // Two options for desired vector magnitude (1 -- based on distance, 2 -- maxSpeed) + // Two options for desired vector magnitude + // (1 -- based on distance, 2 -- maxSpeed) if (slowdown && d < 100) { - desired.length = this.maxSpeed * (d / 100); // This damping is somewhat arbitrary + // // This damping is somewhat arbitrary: + desired.length = this.maxSpeed * (d / 100); } else { desired.length = this.maxSpeed; } @@ -203,7 +208,8 @@ }, // Cohesion - // For the average location (i.e. center) of all nearby boids, calculate steering vector towards that location + // For the average location (i.e. center) of all nearby boids, + // calculate steering vector towards that location cohesion: function(boids) { var neighborDist = 100; var sum = new Point(0, 0); @@ -263,7 +269,8 @@ function onFrame(event) { for (var i = 0, l = boids.length; i < l; i++) { if (groupTogether) { - var point = heartPath.getPointAt(((i + event.count / 30) % l) / l * pathLength); + var length = ((i + event.count / 30) % l) / l * pathLength; + var point = heartPath.getPointAt(length); boids[i].arrive(point); } boids[i].run(boids);