All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > Shapes > Geometry
Bouncy Bouncy Part 3 (Posted on 2009-05-04) Difficulty: 3 of 5
A flat mirror is standing on the coordinate plane along the line y=mx+b

A laser is fired from the origin along the line y=ax and reflects off the mirror.

Find the equation of the line along which the reflection travels.

No Solution Yet Submitted by Jer    
No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
Solution solution with computer confirmation Comment 1 of 1

Lines

y = ax

and

y = mx + b

meet at their simultaneous solution:

ax = mx + b

x(a-m) = b

x = b / (a-m); y = ab / (a-m)

The slope of the mirror line is m, and that of the light ray is a. That means that the upward angles are arctan(m) and arctan(a) respectively. Depending on how you draw the picture (whether the mirror is above or below the origin), you either must add to the angle of m the difference between the angle of m and the angle of a, or subtract from angle m the difference between the angle of a and the angle of m.  Either way, the upward angle of the reflected ray is twice that of the mirror from which is subtracted the angle of the original ray, so the formula for the angle is

2 arctan(m) - arctan(a).

Taking the tangent of this angle gives the slope of the required line. The point-slope form can be used as we know the point of intersection and the slope:

y = tan(2*arctan(m) - arctan(a)) * (x - b/(a-m)) + ab/(a-m)

The following program tests this out successfully:


Private Sub cmdStart_Click()
 Cls
 scl = Me.ScaleHeight / 22: y0 = Me.ScaleHeight / 2: x0 = y0
 Line (x0, 0)-(x0, 2 * y0)
 Line (0, y0)-(2 * x0, y0)
 a = Val(txtA): m = Val(txtM): b = Val(txtB)
 p1y = a * (-10): p2y = a * 10
 Line (x0 - 10 * scl, y0 - p1y * scl)-(x0 + 10 * scl, y0 - p2y * scl)
 p1y = m * (-10) + b: p2y = m * 10 + b
 Line (x0 - 10 * scl, y0 - p1y * scl)-(x0 + 10 * scl, y0 - p2y * scl)
 newM = Tan(2 * Atn(m) - Atn(a)): newB = a * b / (a - m)
 p1y = newM * (-10 - b / (a - m)) + newB
 p2y = newM * (10 - b / (a - m)) + newB
 Line (x0 - 10 * scl, y0 - p1y * scl)-(x0 + 10 * scl, y0 - p2y * scl)
End Sub


  Posted by Charlie on 2009-05-04 17:05:11
Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (8)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2024 by Animus Pactum Consulting. All rights reserved. Privacy Information