Copy link to clipboard
Copied
var arr=[],N=10,H=100,S=25,B=0.1,pts=[];
for(i=0;i<N;i++)arr.push(Math.random()*H);
for(var i=-S;i<=H+S;i++)pts.push([i,f(i)]);
pts.push([H+S,-S],[-S,-S])
app.activeDocument.pathItems.add().setEntirePath(pts)
function f(x){
var d,y=0;
for(var i=0;i<N;i++)if((d=S-Math.abs(arr[i]-x))>0)y+=d*B;
return y;
} // #dtp
Hi.
A suggestion:
var dom = fl.getDocumentDOM();
var arr = [];
var N = 10;
var H = 100;
var S = 25;
var B = 0.1;
var pts = [];
var i, myPath;
function f(x)
{
var y = 0;
var d, i;
for (i = 0; i < N; i++)
if ((d = S - Math.abs(arr[i] - x)) > 0) y += d * B;
return y;
}
for (i = 0; i < N; i++)
arr.push(Math.random() * H);
for (i = -S; i <= H + S; i++)
pts.push([i, f(i)]);
path = fl.drawingLayer.newPath();
for (i = 0; i < pts.length; i++)
path.addPoint(-pts[i][0], -pts[i][1]...
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Hi.
A suggestion:
var dom = fl.getDocumentDOM();
var arr = [];
var N = 10;
var H = 100;
var S = 25;
var B = 0.1;
var pts = [];
var i, myPath;
function f(x)
{
var y = 0;
var d, i;
for (i = 0; i < N; i++)
if ((d = S - Math.abs(arr[i] - x)) > 0) y += d * B;
return y;
}
for (i = 0; i < N; i++)
arr.push(Math.random() * H);
for (i = -S; i <= H + S; i++)
pts.push([i, f(i)]);
path = fl.drawingLayer.newPath();
for (i = 0; i < pts.length; i++)
path.addPoint(-pts[i][0], -pts[i][1]);
path.addPoint(-pts[0][0], -pts[0][1]);
path.makeShape();
Just remember to put the code in a .jsfl file.
I hope it helps.
Regards,
JC
Copy link to clipboard
Copied
Thankyou, works perfectly.
Copy link to clipboard
Copied
You're welcome.
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more