wu :: forums (http://www.ocf.berkeley.edu/~wwu/cgi-bin/yabb/YaBB.cgi)
riddles >> hard >> Rotating Hexagon
(Message started by: balakrishnan on Dec 23rd, 2008, 12:44pm)

Title: Rotating Hexagon
Post by balakrishnan on Dec 23rd, 2008, 12:44pm
Villian and James Bond are trapped in a perfectly reflecting elliptical ring(major axis=150 m and minor axis=100 m). Villian has a laser gun with him while James Bond has a laser shield. Now the villian is firing the laser gun at James Bond. James Bond being very smart always runs along the ellipse such that the laser fired by the villian reflects along the side of the ellipse and hits him back after following a hexagonal path. The villian's speed is 5 m/s and he is running along the perimeter of the ellipse . What is the  maximum speed at which James Bond runs in this course?
Answer with as much accuracy as you can.

Title: Re: Rotating Hexagon
Post by Eigenray on Dec 24th, 2008, 12:59am
About 2.2697 times the speed of the villian?
This is what I get for speed as a function of the parameter t in Villian(t) = (a cos t, b sin t).

Title: Re: Rotating Hexagon
Post by balakrishnan on Dec 24th, 2008, 11:03am
That is same answer I got.
:)

Title: Re: Rotating Hexagon
Post by balakrishnan on Dec 24th, 2008, 5:21pm
I have an extension:
For every parametric point(t) on the ellipse, what should be the family of parametric points(t2) on he ellipse(as a function of t and e(eccentricity)) such that the ray projected from (t) comes back to itself after a finite amount of reflections:
PS: I dont know the answer to this question.

Title: Re: Rotating Hexagon
Post by Eigenray on Dec 24th, 2008, 6:35pm
Is there a parameterization for the hexagon case?  I just did a binary search for each sample:

Code:
#include<stdio.h>
#include<math.h>
#define epsilon 1e-15
#define A 1.5
#define AA 2.25
#define AI 0.66666666666666666667
#define PI2 6.2831853071795864769
#define N 1000
double X,Y,theta,alpha;
double XS[N], YS[N], AS[N];

void reflect() {
double beta,t,c,s;
sincos(alpha,&s,&c); c*=AI;
t = - 2*(X*c+Y*s)/(c*c+s*s);
X += t*c; Y += t*s; theta=atan2(Y, X);
beta=atan2(X, -A*Y); alpha=2*beta-alpha;
}

int check(double X0, double Y0, double t0, double a0) {
int i;
double s;
X=X0; Y=Y0; theta=t0; alpha=a0;
for(s=i=0; i<6; i++, t0=theta ) {
 reflect();
 if(theta>t0) s+=theta-t0;
 else s+=theta-t0+PI2;
 if(s>PI2) return 0;
}
return 1;
}

void go(int i, double X0, double Y0, double t0) {
double low,med,high;
low=atan2(X0,-A*Y0); high=low+1;
while(high-low > epsilon) {
 med=(low+high)/2;
 if(check(X0,Y0,t0,med)) low=med;
 else high=med;
}
X=X0; Y=Y0; theta=t0; alpha=(high+low)/2;
AS[i]=alpha; reflect(); XS[i]=X; YS[i]=Y;
}

int main() {
int i,k;
double x,y,dx,dy,v;
double T,delta,max,mt,start,end;
start=0; end=PI2/2;
while(end-start > 1e-5) {
 delta=(end-start)/N;
 max=0;
 for(i=0, T=start; i<N; T+=delta,i++) {
  sincos(T,&y,&x);
  go(i,x,y,T);
 }
 for(i=1, T=start+delta; i<N-1; T+=delta,i++) {
  sincos(T,&y,&x);
  dx=XS[i+1]-XS[i-1]; dy=YS[i+1]-YS[i-1];
  v=sqrt((AA*dx*dx+dy*dy)/(AA*y*y+x*x));
  if(v>max) { max=v; mt=T; }
 }
 printf("max %.15lf @ %.9lf [%.6lf,%.6lf]\n",max/2/delta,mt,start,end);
 start=(start+mt)/2; end=(end+mt)/2;
}
}

Title: Re: Rotating Hexagon
Post by balakrishnan on Dec 24th, 2008, 6:43pm
@Eigenray
I too did a search(not binary but newton raphson). But I have found something else interesting. It so happens that for any position of the villian and Bond, the rays of light are tangential to a fixed ellipse concentric(same center, not necessarily the same eccentricity) to the original one.
For instance, the figure below represents a case when the ray hits the villian after 11 reflections .
The animated version shows that the interior ellipse remains fixed for any position of the villian and Bond(s.t. the ray hits the villian back).
So the question now boils down to :
For any ellipse with major axis a and eccentricity e,  find an ellipse of major axis a' and eccentricity e' (this will be a family and I am guessing it will depend on 2 integers p and q) such that
a'=f(p,q)
e'=g(p,q)
with gcd(p,q)=1 and the laser hits the villian after p reflections.
[note that p denotes the number of reflections while q denotes the number of incident points between the villian and bond, in case of the hexagon, this is zero. However in case of the animated figure below, it is 2]
In case of a circle it is known that the interior circle should be of radius r*sin(p*pi/q) where p and q are integers with gcd(p,q)=1, ie from any ray that is tangential to this circle will return back after q or 2q reflections(depending on the pairity of p and q)

Now the question is : can you find these functions f(,.,) and g(,.,)

PS: In fact,  it need not be an ellipse. It can also be a hyperbola.

Title: Re: Rotating Hexagon
Post by balakrishnan on Dec 25th, 2008, 9:26am

on 12/24/08 at 18:35:24, Eigenray wrote:
Is there a parameterization for the hexagon case?


Now, I think it is there.
It so happens that the hexagon always circumsribes an ellipse with major axis
a/(a+b)*sqrt(a^2+2ab) and minor axis
b/(a+b)*sqrt(b^2+2ab)
In this case it happens to be 30*sqrt(21) and 80

Title: Re: Rotating Hexagon
Post by Eigenray on Dec 25th, 2008, 4:48pm
Heh, the fact that after one reflection (150*1, 100*0) goes to (150*3/5, 100*4/5) is kind of a giveaway.  Using symmetry, we get one hexagon as (A,0), (Ax,b), (-Ax,b), (-A,0), (-Ax,-b), (Ax,-b), where
x = A/(A+B), b = B * http://www.ocf.berkeley.edu/~wwu/YaBBImages/symbols/surd.gif{ 1 - x2 } = B/(A+B) http://www.ocf.berkeley.edu/~wwu/YaBBImages/symbols/surd.gif{ 2AB+B2 }.

Assuming the paths all inscribe one ellipse b would be its semiminor axis.  Then switching the roles of a and b (rotating everything 90 degrees) gives the semimajor axis.  Of course it remains to show there is a unique inscribed ellipse.

Title: Re: Rotating Hexagon
Post by balakrishnan on Dec 25th, 2008, 5:36pm

on 12/25/08 at 16:48:38, Eigenray wrote:
Heh, the fact that after one reflection (150*1, 100*0) goes to (150*3/5, 100*4/5) is kind of a giveaway.  Using symmetry, we get one hexagon as (A,0), (Ax,b), (-Ax,b), (-A,0), (-Ax,-b), (Ax,-b), where
x = A/(A+B), b = B * http://www.ocf.berkeley.edu/~wwu/YaBBImages/symbols/surd.gif{ 1 - x2 } = B/(A+B) http://www.ocf.berkeley.edu/~wwu/YaBBImages/symbols/surd.gif{ 2AB+B2 }.

Assuming the paths all inscribe one ellipse b would be its semiminor axis.  Then switching the roles of a and b (rotating everything 90 degrees) gives the semimajor axis.  Of course it remains to show there is a unique inscribed ellipse.


Yes, that would be interesting. It would also be interesting to show that any reflecting pattern(even if it were not to come back to the original point, ie make infinite reflections before coming back) always circumscribes a fixed conic section(mostly ellipse, but hyperbola in some cases too).
See the figure below(red projects light to green, red moves along the ellipse and green is fixed)

Title: Re: Rotating Hexagon
Post by Eigenray on Dec 25th, 2008, 6:31pm
This looks like [link=http://mathworld.wolfram.com/PonceletsPorism.html]Poncelet's Porism[/link]: if an n-gon is inscribed in one ellipse and circumscribes another, then we get an n-gon no matter where we start.

Title: Re: Rotating Hexagon
Post by balakrishnan on Dec 25th, 2008, 7:06pm
Actually this problem originated in this thread
https://nrich.maths.org/discus/messages/27/145190.html?1230187231
and someone talked about Poncelet's porisms there too but did not give me the correct link.
But still , there is one problem that needs to be solved:
The theorem states that , if I start from any point and keep drawing tangents to the inner ellipse, then I will get back to the original point.
Now we are left with proving that : the 2 adjacent sides of the polygon are bisected by the normal.

Title: Re: Rotating Hexagon
Post by Eigenray on Dec 26th, 2008, 12:46am
The standard construction of an ellipse is to put a loop around two points (or equivalently, a line segment) and pull it tight, moving your pen around.  If instead of a line segment (an ellipse of eccentricity 1) we use another ellipse with the same foci, then the pen still traces an ellipse, again with the same foci.  This is Grave's theorem.

The path of the pen is the level curve of a function whose directional derivative is the sum of unit vectors to the two points of tangency of the string with the inner ellipse, so the normal to the outer ellipse bisects the angle between these two vectors.  Have a look at [link=http://www.math.psu.edu/tabachni/prints/grid.pdf]The Poncelet Grid and Billiards in Ellipses[/link].

Title: Re: Rotating Hexagon
Post by balakrishnan on Dec 26th, 2008, 1:53pm
That is a nice paper, Eigenray. Will start reading now! You know that I was busy with something else today!  ::)

Title: Re: Rotating Hexagon
Post by Barukh on Dec 28th, 2008, 9:27am
It took me some time to understand what the problem is about.
I would like to go back to the original question, which IMHO is an excellent exercise in (advanced?) calculus.

on 12/24/08 at 18:35:24, Eigenray wrote:
Is there a parameterization for the hexagon case?  I just did a binary search for each sample


on 12/24/08 at 18:43:57, balakrishnan wrote:
I too did a search (not binary but newton raphson).

I tried to come with something that doesn’t require search, but failed. I would like to discuss the following approach that seems to contain a flaw:

1. It is known that every ellipse may be obtained by a normal projection of the circle. Similarly, every hexagonal path in ellipse may be obtained as a normal projection of a regular hexagon inscribed in the circle.

2. Take any point VC = (a cos(t), a sin(t)) on the circle with radius a (major axis of the ellipse). The corresponding point on the ellipse with axes a, b is VE = (a cos(t), b sin(t)). In order to get a regular hexagon, the point BC is (a cos(t+http://www.ocf.berkeley.edu/~wwu/YaBBImages/symbols/pi.gif/3), a sin((t+http://www.ocf.berkeley.edu/~wwu/YaBBImages/symbols/pi.gif/3)), and the corresponding point on the ellipse is BE is   (a cos(t+http://www.ocf.berkeley.edu/~wwu/YaBBImages/symbols/pi.gif/3)), b sin((t+http://www.ocf.berkeley.edu/~wwu/YaBBImages/symbols/pi.gif/3)).

3. Take a small amount dt and consider points V’C, B’C, where t is replaced by t+dt. Corresponding points on the ellipse let’s denote V’E, B’E.

4. Note that by construction, Bond is at the point BE when Vallian is at VE, and is at the point B’E when Vallian is at V’E. So, it takes the same time for Vallian to go from VE to V’E, as it takes to Bond to go from BE to B’E.

5. I wrote a small program that runs through interval [0, http://www.ocf.berkeley.edu/~wwu/YaBBImages/symbols/pi.gif], and computes ratio of linearized distances |B’EBE| / |V’EVE|, but got nothing close to your answers. Instead, I got 1.42…

:-/


Title: Re: Rotating Hexagon
Post by balakrishnan on Dec 28th, 2008, 2:56pm
@Barukh
Note that the hexagonal path is s.t. the adjacent sides of the hexagon is bisected by the normal of the ellipse(at the point of intersection of these 2 sides).
If you simply set B=(a*cos(t+pi/3),b*cos(t+pi/3)), in that case the lasers projected from A to B does not come back to B after 5 reflections(or comes back after infinite reflections)

Title: Re: Rotating Hexagon
Post by Barukh on Dec 29th, 2008, 6:30am
Of course, balakrishnan, you are right. The following premise is completely wrong:


on 12/28/08 at 09:27:44, Barukh wrote:
Similarly, every hexagonal path in ellipse may be obtained as a normal projection of a regular hexagon inscribed in the circle.


I don't understand why did I think this way...  So, at the end, the calculus was correct  ;)

BTW, how you do present your beautiful animations?

Title: Re: Rotating Hexagon
Post by balakrishnan on Dec 29th, 2008, 10:17am

on 12/29/08 at 06:30:18, Barukh wrote:
BTW, how you do present your beautiful animations?

I used nodebox!



Powered by YaBB 1 Gold - SP 1.4!
Forum software copyright © 2000-2004 Yet another Bulletin Board