Solved

The tale of two lines

Posted on 2001-08-07
7
139 Views
Last Modified: 2010-05-02
If I have two lines on a graphic, and for each line I have two coordiantes.

How can I get the coordinates of the intersection between the two in the most efficiant way possible ?
0
Comment
Question by:Pennywisdom
7 Comments
 
LVL 18

Accepted Solution

by:
bobbit31 earned 100 total points
ID: 6361318
0
 
LVL 3

Expert Comment

by:jrspano
ID: 6361321
0
 
LVL 3

Expert Comment

by:DennisL
ID: 6361466
Formula for a Line
x = ay + b

line 1:
x = 3y + 1

line 2:
x = 2y + 3

therefore:

3y + 1 = 2y + 3

((3y - 2y) = (3 - 1))

y = 2

x = 3(2) + 1
x = 7

The coordinates are x = 7, y = 2

The number beside the y controls the pitch.  And the other number controls the height above the x-axis (or y?).  

In terms of programming, you'll probably be able to do it all in one or two lines.  All you really need is the a and b and do some formula against it to get y, then get x.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 5

Expert Comment

by:jklmn
ID: 6361568
Hi Pennywisdom,

If your lines are controls, try this:

Private Sub Command1_Click()
k1 = (Line1.Y2 - Line1.Y1) / (Line1.X2 - Line1.X1)
c1 = Line1.Y1 - k1 * Line1.X1
k2 = (Line2.Y2 - Line2.Y1) / (Line2.X2 - Line2.X1)
c2 = Line2.Y1 - k2 * Line2.X1
x = (c2 - c1) / (k1 - k2)
y = k1 * x + c1
Print x, y
End Sub
0
 
LVL 3

Expert Comment

by:DennisL
ID: 6361588
Formula for a Line
x = ay + b

line 1:
x = 3y + 1

line 2:
x = 2y + 3

therefore:

3y + 1 = 2y + 3

((3y - 2y) = (3 - 1))

y = 2

x = 3(2) + 1
x = 7

The coordinates are x = 7, y = 2

The number beside the y controls the pitch.  And the other number controls the height above the x-axis (or y?).  

In terms of programming, you'll probably be able to do it all in one or two lines.  All you really need is the a and b and do some formula against it to get y, then get x.
0
 

Author Comment

by:Pennywisdom
ID: 6365156
Thanks alot thats exacly what I needed
0
 
LVL 18

Expert Comment

by:bobbit31
ID: 6365276
no prob, glad to help!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
Introduction While answering a recent question (http://www.experts-exchange.com/Q_27402310.html) in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now