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

Home > Shapes
Bull's eye! (Posted on 2003-11-22) Difficulty: 3 of 5
Two points have polar coordinates as follows: θ=130°,r=.35 (point A) and θ=70°,r=.6 (point B). There is a surrounding circle, r=1, that acts as a mirror, and you wish to send a light ray from point A to point B by bouncing it once off the circle. What two alternative directions could you send it in (use an angular measure paralleling the θ coordinate it would have if directed from the origin)?

No Solution Yet Submitted by Antonio    
Rating: 3.6000 (5 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
re: solution (solved numerically) -- verified | Comment 6 of 17 |
(In reply to solution (solved numerically) by SilverKnight)

The following program verifies SilverKnight's solution. As it only verifies a found solution, it would be interesting to see AgN's program that actually iterates to the solution.

DECLARE SUB rect2pol (x#, y#, r#, theta#)
DECLARE FUNCTION norm# (x#)
DECLARE SUB pol2rect (r#, theta#, x#, y#)
DEFDBL A-Z
DIM SHARED pi, dr
pi = ATN(1) * 4
dr = pi / 180

CLS
dir(1) = 83.43201955000001#
dir(2) = -85.75353466#

FOR d = 1 TO 2
  dir = dir(d)
  pol2rect 1, dir, x, y
  PRINT "x="; x; "y="; y
  pol2rect .35, 130, Ax, Ay
  pol2rect .6, 70, Bx, By
  rect2pol x - Ax, y - Ay, dist, dirA
  PRINT "Aim direction="; dirA
  incidence = dir - dirA
  rect2pol x - Bx, y - By, dist, dirB
  reflection = dirB - dir
  PRINT norm(incidence), norm(reflection)
  PRINT "--"
NEXT

FUNCTION norm (x)
  n = x
  DO UNTIL n > -180
    n = n + 360
  LOOP
  DO UNTIL n <= 180
    n = n - 360
  LOOP
  norm = n
END FUNCTION

SUB pol2rect (r, theta, x, y)
 x = r * COS(theta * dr)
 y = r * SIN(theta * dr)
END SUB

SUB rect2pol (x, y, r, theta)
 r = SQR(x * x + y * y)
 IF x = 0 THEN
   theta = 90 * SGN(y)
 ELSE
   theta = ATN(y / x) / dr
 END IF
 IF x < 0 THEN theta = theta + 180
END SUB

with the results:
x= .114381989608504 y= .993436842709792
Aim direction= 64.92641431087746
18.50560523912254 18.5056072763774
--
x= .0740469682395594 y=-.997254755062381
Aim direction=-76.70421283029224
-9.049321829707765 -9.049322178724935
--
  Posted by Charlie on 2003-11-23 12:07:20

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 (0)
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