Question: Graphing a moving point about a spehre

i need to take a sphere and and graph a point going around the sphere. i have the code: restart: with(plots): with(plottools): x1:=(u,v)-> sin(u*Pi)*cos(v*Pi); y1:=(u,v)-> sin(u*Pi)*sin(v*Pi); z1:=(u,v)-> cos(u*Pi); x2:=(u,v)-> 3*sin(u*Pi)*cos(v*Pi); y2:=(u,v)-> 3*sin(u*Pi)*sin(v*Pi); z2:=(u,v)-> 3*cos(u*Pi); p1:=plot3d([x1(u,v), y1(u,v),z1(u,v)] ,u=0..1,v=0..2,color=blue, axes=normal): points:={seq([x1(k/50),y1(k/50),z1(k/50)], k=0..314 )}: display(p1); pointplot3d:(points); only i get the error Error, invalid input: x1 uses a 2nd argument, v, which is missing how do i put in arguments for u & v? here is a working code of what i want to do only in 2 dimensions: with(plots): with(plottools): with(VectorCalculus): x1:=t->cos(t); x2:=t->2*sin(t); y1:=t->sin(t); y2:=t->2*cos(t); z1:=t->t; z2:=t->t; P1:=plot([x1(t), y1(t), t=-10*Pi..10*Pi],color=red): P2:=plot([x2(t), y2(t), t=-10*Pi..10*Pi],color=blue): P3:=display(P1,[seq(pointplot({[x1(k/50),y1(k/50)],[x2(k/50), y2(k/50)]}), k=0..314)],insequence=true): P4:=display(P1,[seq(line([x1(k/50),y1(k/50)],[x2(k/50), y2(k/50)], color=black), k=0..314)],insequence=true): display(P1,P2,P3,P4);
Please Wait...