/    Sign up×
Community /Pin to ProfileBookmark

Vector & magnitude

Hi all,
I can’t figure out this math problem. I have two points p1(30, 20) and p2(30, 221) and the parametric equation of the vector is
(x-30)/(30-30)=(y-20)/(20-221)=t
x=30, y=20-201*t

I’m thinking t is the magnitude or the distance. For a point P which is 10 pixels away from p1 on the vector,
x=30, y=20-201*-10 (should be around -0.85) which is not the right P i’m looking for. Where am i doing wrong?

TIA
-s

to post a comment
JavaScript

3 Comments(s)

Copy linkTweet thisAlerts:
@Declan1991Nov 22.2011 — Not really a programming question, but I'll give you a few points anyway. (x-30)/0 = (y-20)/(20-221) = t is not a parametric equation of that line.

201 in the y direction would be the vector from p1 to p2 with a magnitude of 201, and a direction of +y.

When parameterising a line, t will go from some value to another value (normally 0 to 1), and every value of t will give a distinct point on the line joining the two points.

The correct parametric equation would be:

x = 30, y = 20 + 221*t for 0 <= t <= 1 or y = 20+t for 0 <= t <= 221 (i.e., p the distance in pixels).
Copy linkTweet thisAlerts:
@007JulienNov 22.2011 — Without division by 0, all the points P of the line P1, P2 are given by (1-t)*P1(30,20) + t* P2(30,201) (t=0 give P1 and t=1 give P2) !

Then P(xp1*(1-t)+xp2*t, yp1*(1-t)+yp2*t) (30,20+181*t in your case).

If you want, not t, but the distance in pixels, you have only to replace t with k*
d, so that d takes the value Math.sqrt((xp1-xp2)&#178;+(yp1-yp2)&#178? (181 in your case) when t=1.

Then, in general case (if P1!=P2), k=1/Math.sqrt((xp1-xp2)&#178;+(yp1-yp2)&#178?; and P (at the distance d from P1) is given by (xp1*(1-k*d)+xp2*k*d, yp1*(1-k*d)+yp2*k*d) !
Copy linkTweet thisAlerts:
@seanadauthorNov 22.2011 — Thank you!
×

Success!

Help @seanad spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.1,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,
)...