"How could you obtain the coordinates P’(t) at the other end of the straight line connecting to point P(t) via the center point (h,k)? Simulate the rotation of the straight line about (h,k) as the point P move around the ellipse. Use your code to “measure” the maximum and minimum distances between the points PP’ (known as major axis and minor axis). Theoretically, major axis = Max[2b,2a]; minor axis = Min[2b,2a].
"
a=0.5;b=.75;h=0.75;k=5;T=2.0Pi;
x[t_]:=h+a Cos[t];
y[t_]:=k+b Sin[t];
pp=ParametricPlot[{x[t],y[t]},{t,0,2Pi}];
lp1=ListPlot[{{h,k}},PlotMarkers->"×"];
lp2[t_]:=ListPlot[{{x[t],y[t]}},PlotStyle->PointSize[0.05]];
lp3[t_]:=ListPlot[{{x[t+T/2],y[t+T/2]}},PlotStyle->PointSize[0.05]];
P1[t_]:={x[t],y[t]};
P2[t_]:={x[t+T/2],y[t+T/2]};
g1[t_]:=Graphics[Line[{P1[t],P2[t]}]];
Manipulate[Show[{g1[t],pp,lp1,lp2[t],lp3[t]}],{t,0,T,0.01T}]

"Distance between P and P' as function of t can be known via the following code:"
dis[t_]:=Sqrt[(x[t]-x[t+T/2])^2+(y[t]-y[t+T/2])^2];
txdis=Table[{t,dis[t]},{t,0,T,0.005T}];
ListPlot[txdis,Joined->True,Mesh->All]
txdis

"How do you find the max of dis and minimum of dis, and the correspnding time when they happen?"

"Example of finding ymax and the corresponding value of x where ymax occurs, using Sort and Ordering"
xele[i_]:=txdis[[i,1]];
yele[i_]:=txdis[[i,2]];
tablex=Table[xele[i],{i,1,Length[txdis]}];
tabley=Table[yele[i],{i,1,Length[txdis]}];
"tsy, sorted tabley =" 
tsy=Sort[tabley]
"ymax is given by the last element in sorted tabley,ymax=tsy[[-1]]= "
ymax=tsy[[-1]]
"The position of ymax as appeared in (original and unsorted) tabley,ol=Ordering[tabley][[-1]]= "
ol=Ordering[tabley][[-1]]
Print["Hence you can call out ymax from tabley by calling out the ol=",ol,"-th element in tabley.  tabley[[ol]]=",tabley[[ol]]];
Print["Also the correponding value of x where ymax occurs can also be known. It is the ol=",ol,"-th element in tablex "];
Print["tablex[[",ol,"]]=",tablex[[ol]]]

a=0.5;b=.75;h=0.0;k=0;T=1;omegaE=2Pi/1.0;
x[t_]:=h+a Cos[omegaE*t];
y[t_]:=k+b Sin[t];
pp=ParametricPlot[{x[t],y[t]},{t,0,2Pi}];
lp1=ListPlot[{{h,k}},PlotMarkers->"×"];
lp2[t_]:=ListPlot[{{x[t],y[t]}},PlotStyle->PointSize[0.05]];
lp3[t_]:=ListPlot[{{x[t+T/2],y[t+T/2]}},PlotStyle->PointSize[0.05]];
P1[t_]:={x[t],y[t]};
P2[t_]:={x[t+T/2],y[t+T/2]};
g1[t_]:=Graphics[Line[{P1[t],P2[t]}]];
Manipulate[Show[{g1[t],pp,lp1,lp2[t],lp3[t]}],{t,0,T,0.01T}];

a2=0.25;b2=.355;h2=0.75;k2=5;
T2=1/12.0;omegam=2Pi*12.0;

x2[t_]:=x[t]+a2 Cos[omegam*t];
y2[t_]:=y[t]+b2 Sin[omegam*t];
pp2=ParametricPlot[{x2[t],y2[t]},{t,0,2Pi}];
lp12[t_]=ListPlot[{{x[t],y[t]}},PlotMarkers->"⊕"];
lp22[t_]:=ListPlot[{{x2[t],y2[t]}},PlotStyle->PointSize[0.05]];
lp32[t_]:=ListPlot[{{x2[t+T2/2],y2[t+T2/2]}},PlotStyle->PointSize[0.05]]
P12[t_]:={x2[t],y2[t]};
P22[t_]:={x2[t+T2/2],y2[t+T2/2]};
g12[t_]:=Graphics[Line[{P12[t],P22[t]}]];
Manipulate[Show[{pp2,lp12[t],lp22[t],lp32[t]}],{t,0,T,0.01T}];

Manipulate[Show[{
pp2,lp12[t],lp22[t],
pp,lp1,lp2[t]
}],{t,0,4T,0.01T}]

t=0.0;
Manipulate[
ListPlot[
{{x[t],y[t]},{x2[t],y2[t]}},PlotRange->{{-5,5},{-5,5}}]
,{t,0,T,0.05T}]