summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Cancoordpers.sci
blob: b63aba5c279b2a023ef63866e1535c9cf8bf7ae0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 08.08.12

function Out=Cancoordpers(P)
  global EyePoint FocusPoint;
  Tmp=EyePoint-FocusPoint;
  E1=Tmp(1); F1=Tmp(2); G1=Tmp(3);
  Ca=E1/sqrt(E1^2+F1^2);
  Sa=F1/sqrt(E1^2+F1^2);
  E2=E1*Ca+F1*Sa; F2=-E1*Sa+F1*Ca; G2=G1;
  Cb=E2/sqrt(E2^2+G2^2);
  Sb=G2/sqrt(E2^2+G2^2);
  E3=E2*Cb+G2*Sb; F3=F2; G3=-E2*Sb+G2*Cb;
  Xz=P(3); Yz=P(1); Zz=P(2);
  X3=Xz; Y3=Yz*(E3-Xz)/E3; Z3=Zz*(E3-Xz)/E3;
  X2=X3*Cb-Sb*Z3; Y2=Y3; Z2=Cb*Z3+Sb*X3;
  X1=X2*Ca-Sa*Y2; Y1=Ca*Y2+Sa*X2; Z1=Z2;
  X=X1+FocusPoint(1);
  Y=Y1+FocusPoint(2);
  Z=Z1+FocusPoint(3);
  Out=[X,Y,Z];
endfunction