diff options
| author | bulia byak <buliabyak@gmail.com> | 2008-05-05 01:22:48 +0000 |
|---|---|---|
| committer | buliabyak <buliabyak@users.sourceforge.net> | 2008-05-05 01:22:48 +0000 |
| commit | 82c1b6bde1fcd65bd44dcb5d1325e77926864d7c (patch) | |
| tree | 49666b16e399fa9e9eca3dee00ce7ff0e627d0a4 /share/extensions/radiusrand.py | |
| parent | Remove warnings (diff) | |
| download | inkscape-82c1b6bde1fcd65bd44dcb5d1325e77926864d7c.tar.gz inkscape-82c1b6bde1fcd65bd44dcb5d1325e77926864d7c.zip | |
separate x and y jittering
(bzr r5605)
Diffstat (limited to 'share/extensions/radiusrand.py')
| -rwxr-xr-x | share/extensions/radiusrand.py | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/share/extensions/radiusrand.py b/share/extensions/radiusrand.py index 5eb73965b..902601c28 100755 --- a/share/extensions/radiusrand.py +++ b/share/extensions/radiusrand.py @@ -18,24 +18,28 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ''' import random, math, inkex, cubicsuperpath -def randomize((x, y), r, norm): +def randomize((x, y), rx, ry, norm): if norm: - r = abs(random.normalvariate(0.0,0.5*r)) + r = abs(random.normalvariate(0.0,0.5*max(rx, ry))) else: - r = random.uniform(0.0,r) + r = random.uniform(0.0,max(rx, ry)) a = random.uniform(0.0,2*math.pi) - x += math.cos(a)*r - y += math.sin(a)*r + x += math.cos(a)*rx + y += math.sin(a)*ry return [x, y] class RadiusRandomize(inkex.Effect): def __init__(self): inkex.Effect.__init__(self) self.OptionParser.add_option("--title") - self.OptionParser.add_option("-r", "--radius", + self.OptionParser.add_option("-x", "--radiusx", action="store", type="float", - dest="radius", default=10.0, - help="Randomly move control and end points in this radius") + dest="radiusx", default=10.0, + help="Randomly move nodes and handles within this radius, X") + self.OptionParser.add_option("-y", "--radiusy", + action="store", type="float", + dest="radiusy", default=10.0, + help="Randomly move nodes and handles within this radius, Y") self.OptionParser.add_option("-c", "--ctrl", action="store", type="inkbool", dest="ctrl", default=True, @@ -56,7 +60,7 @@ class RadiusRandomize(inkex.Effect): for subpath in p: for csp in subpath: if self.options.end: - delta=randomize([0,0], self.options.radius, self.options.norm) + delta=randomize([0,0], self.options.radiusx, self.options.radiusy, self.options.norm) csp[0][0]+=delta[0] csp[0][1]+=delta[1] csp[1][0]+=delta[0] @@ -64,8 +68,8 @@ class RadiusRandomize(inkex.Effect): csp[2][0]+=delta[0] csp[2][1]+=delta[1] if self.options.ctrl: - csp[0]=randomize(csp[0], self.options.radius, self.options.norm) - csp[2]=randomize(csp[2], self.options.radius, self.options.norm) + csp[0]=randomize(csp[0], self.options.radiusx, self.options.radiusy, self.options.norm) + csp[2]=randomize(csp[2], self.options.radiusx, self.options.radiusy, self.options.norm) node.set('d',cubicsuperpath.formatPath(p)) e = RadiusRandomize() |
