Skip to main content
Known Participant
Apr 19, 2022 8:57 AM UTC
Answered

“random mountains”script.How to implement in animate?

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

 

This topic is closed to new replies. Start a new post to keep the conversation going.
JoãoCésar17023019
JoãoCésar17023019Correct answer
Community Expert
Apr 19, 2022 1:55 PM UTC

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

4 replies

JoãoCésar17023019
Community Expert
JoãoCésar17023019Community ExpertCorrect answer
Community Expert
Apr 19, 2022 1:55 PM UTC

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

Translate
kqskcmAuthor
Known Participant
Apr 19, 2022 3:18 PM UTC

Thankyou, works perfectly.

Translate
JoãoCésar17023019
Community Expert
Community Expert
Apr 19, 2022 4:39 PM UTC

You're welcome.

Translate
kqskcmAuthor
Known Participant
Apr 19, 2022 8:58 AM UTC

Translate