# How to get the coordinates of the points in Array?

``````function segments (points) {
beginShape();
for(let point of points)
vertex(...point);
endShape();
}

function drawCurve(f,a,b,n=200){
segments([...Array(n+1).keys()].map(k => f(a +(b-a)*k/n)));
}

function draw() {
k %= 1;
background(240);
translate(width / 2, height / 2);
scale(scaleFactor, -scaleFactor)
stroke(200);

line(-mx,0,mx,0);
line(0,-mx,0,mx);

drawCurve(t=>[3*sin(2*t),2*cos(3*t)], 0, 2*k*PI);
stroke(0);
drawCurve(t=>[3*sin(2*t),2*cos(3*t)], max(0,2*k*PI-0.5), 2*k*PI);
k += 0.01;
``````

I’ve edited your post for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.

You can also use the “preformatted text” tool in the editor (`</>`) to add backticks around text.

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (’).

I’m not sure what you are asking. And your code is incomplete. But maybe take a step back and abstract the problem. Can you provide a sample array and explain what you want to extract from it?

I got the code from a tutorial. It draws a curve. I want to draw additional lines, that intersect the curve at the point currently drawn on the curve. For this I think I need the coordinates of that point. But I have no idea, how to get hold of them.
The Array “Points” contains them. But there seems to be nothing like Points[n].x or whatever gives me the x-coordinate of that point.

And what does points look like? Can you log that out and show us what is in it?

Or can you provide a link to a repo?

Hello and thanks for the quick answer.

the full program is this:

``````let scaleFactor = 1;

const mx = 5;

const r = 2;

let k = 0;

function setup()

{

createCanvas(500,500);

scaleFactor = width / mx /2;

strokeWeight(1 / scaleFactor);

noFill();

frameRate(20);

}

// points list eine Liste (Array) von Punkten

function segments (points)

{

beginShape();

for(let point of points)

vertex(...point);

endShape();

}

function drawCurve(f,a,b,n=200)

{

segments([...Array(n+1).keys()].map(k => f(a +(b-a)*k/n)));

}

function draw()

{

k %= 1;

background(240);

translate(width / 2, height / 2);

scale(scaleFactor, -scaleFactor)

stroke(200);

line(-mx,0,mx,0);

line(0,-mx,0,mx);

stroke(0);

//drawCurve(t=>[3*sin(2*t),2*cos(3*t)], 0, 2*k*PI);
``````

The task is to draw a vertical and a horizontal line that go with points [3sin(2t),2cos(3t)] as the curve is drawn.

Best regards

Carsten

I’ve edited your post for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.

You can also use the “preformatted text” tool in the editor (`</>`) to add backticks around text.

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (’).

That cannot be the complete code. You have undefined functions and the last function is incomplete.

If you have working code, please put it in a github repo and provide the link. Then we can test the exact code with your setup.