# Let be a unit-speed curve which lies on a sphere of center p and radius R.

Question

1)

Let be a unit-speed curve which lies on a sphere of

center p and radius R.

show that, if

) + ((

B and

=(

) .

Hints: T, N and B form a basis for = (i.e. 3-space), so

2)

Show that, if (

) + ((

) is a constant,

B and show p is a

3) The point of the problem is to have you explain every line of the

procedure.

Hints: The sphere of radius 1 is parametrized by longitude u and

latitude v:

x(u; v) = (cos(u) cos(v); sin(u) cos(v); sin(v)):

Think about how you can parametrize a circle in 3-space using any

two perpendicular vectors originating at (0; 0; 0). What do you do if

a normal to the

plane they determine? And then how do you get two perpendicular

vectors in the plane?

This procedure draws the great circle arc between two points A and

B on Earth and gives the distance between the points (assuming the

radius of the Earth to be 3970 miles). A and B are given by longitude

and latitude coordinates. For example A=[100,25] means that the

point A has longitude 100 degrees and latitude 25 degrees. We

assume the Earth is a sphere with parametrization

, being the radius of

the Earth. Try to understand the inputs and how they are used.

>

> great_circle:=proc(place1,place2,theta,phi)

local point1,point2,angle,A,B,sphere,circ,alpha,unitcp,alp1,alp2,

p1,p2;

A:=map(evalf,[Pi/180*place1[1],Pi/180*place1[2]]);

B:=map(evalf,[Pi/180*place2[1],Pi/180*place2[2]]);

point1:=<cos(A[1])*cos(A[2])|sin(A[1])*cos(A[2])|sin(A[2])>;

point2:=<cos(B[1])*cos(B[2])|sin(B[1])*cos(B[2])|sin(B[2])>;

angle:=evalf(arccos(DotProduct(point1,point2,conjugate=false)));

print(`Distance is`,3970*angle,`miles`);

unitcp:=1/sin(angle)*CrossProduct(point1,point2);

alp1:=ScalarMultiply(point1,cos(t));

alp2:=ScalarMultiply(CrossProduct(unitcp,point1),sin(t));

alpha:=alp1+alp2;

sphere:=plot3d([cos(u)*cos(v),sin(u)*cos(v),sin(v)],u=0..2*Pi,

v=-Pi/2..Pi/2,shading=XY,lightmodel=light2,grid=[25,19]):

circ:=tubeplot(convert(alpha,list),t=0..angle,radius=0.01,

color=navy):

p1:=pointplot3d(convert(point1,list),color=cyan,symbol=

solidcircle,symbolsize=24):

p2:=pointplot3d(convert(point2,list),color=green,symbol=

solidbox,symbolsize=24):

display({sphere,circ,p1,p2},scaling=constrained,orientation=

[theta,phi]);

end:

Here are other longs and lats (in that order): Ceveland (-81,68,41,

48), New York (-73.94, 40.67), Chicago (-87.68, 41.84), Paris (2.30,

48.83), Moscow (37.62, 55.75),

Atlanta (-84.42, 33.76), Toronto (-79.60, 43.67), Seoul (127.05,

37.52), Beijing (116.35,39.90), Sydney (151.30, -33.90), New Delhi

(77.22, 28.90),

Rio de Janeiro (-42.70, -22.49). How about New York to Moscow?

London to Paris?Cleveland to Sydney?

> great_circle([-73.94,40.67],[37.62,55.75],-21,60);

> great_circle([-81.68,41.48],[151.30,-33.9],-156,75);

**30 %**discount on an order above

**$ 100**

Use the following coupon code:

RESEARCH