%di=1;
%phi=1;
%theta=0.4;
xc=cos(phi)/sin(phi)*di;
yc=1/sin(phi)*di;
ivp=[xc;yc*tan(theta+pi*0/4)];
dvp1=[xc;yc*tan(theta+pi*1/4)];
jvp=[xc;yc*tan(theta+pi*2/4)];
dvp2=[xc;yc*tan(theta+pi*3/4)];
imp1=[xc;yc*tan(theta/2+pi*3/4)];
imp2=[xc;yc*tan(theta/2+pi*1/4)];
jmp1=[xc;yc*tan(theta/2+pi*2/4)];
jmp2=[xc;yc*tan(theta/2+pi*0/4)];
viewpt=[di*(cos(phi)-1)/sin(phi);0];
pts=[ivp dvp1 jvp dvp2 imp1 imp2 jmp1 jmp2 viewpt];
scatter(pts(1,:),pts(2,:))
ptnames=["ivp", "dvp1", "jvp", "dvp2", "imp1", "imp2", "jmp1", "jmp2", "view"];
text(pts(1,1:4),pts(2,1:4),ptnames(1:4),"HorizontalAlignment","left","VerticalAlignment","middle");
text(pts(1,5:9),pts(2,5:9),ptnames(5:9),"HorizontalAlignment","right","VerticalAlignment","middle");