|
|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2304 (0x900)
Types: TextFileVerbose
Names: »tpb1«
└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system
└─⟦6b41451d2⟧
└─⟦this⟧ »tpb1«
o pbevlist
mode list.yes
(pbev=algol list.yes bossline.yes
if ok.yes
scope user pbev
o c
convert pbevlist
finis)
\f
begin
procedure orb(t,x,p); value t; real t; array x<*1:3,0:7*>,p<*1:8*>;
<*global real delta,pi2*>
begin integer j;
real s,y,e,e1,sy,cy,r,q,q1,sv,cv,si,ci,so,co;
array r1,y1(1:4);
procedure dif(i); integer i;
begin
x(i,7):=q/e; q:=q/r;
for j:=1 step 1 until 4 do x(i,j):=q*r1(j)+q1*y1(j);
end;
q:=p(1); j:=t/q; e:=q+q*j-q*j; q1:=pi2/q;
s:=y:=(t-e*j-(q-e)*j-p(8)*j)*q1+p(2)-p(4);
e:=p(3); e1:=sqrt(1-e**2);
repeat s:=y+e*sin(s) until abs(s-y-e*sin(s))<=delta;
sy:=sin(s); cy:=cos(s);
r:=1-e*cy; r1(2):=q:=e*sy/r; r1(1):=q*q1*t; r1(4):=-q;r1(3):=(e-cy)/r;
y:=arg(cy-e,e1*sy)+p(4); y1(2):=q:=e1/r**2; y1(1):=q*q1*t; y1(4):=1-q;
y1(3):=(e1+r/e1)*sy/r**2;
e:=p(7); e1:=e*r; sy:=sin(y); cy:=cos(y);
si:=sin(p(5)/2); ci:=cos(p(5)/2); so:=sin(p(6)); co:=cos(p(6));
s:=e1*(sy*co-cy*so); sv:=s*si; cv:=2*e1*si*(cy*co+sy*so);
x(1,0):=q:=e1*cy+sv*co*si; q1:=-e1*sy+cv*co*si; dif(1);
x(1,5):=sv*co*ci; x(1,6):=-(cv*co+sv*so)*si;
x(2,0):=q:=e1*sy-sv*so*si; q1:=e1*cy-cv*so*si; dif(2);
x(2,5):=-sv*so*ci; x(2,6):=(cv*so-sv*co)*si;
x(3,0):=q:=sv*ci; x(3,6):=q1:=cv*ci; dif(3);
x(3,5):=s*(1-2*si**2);
end;
array p,p1(1:8),x,x1(1:3,0:7);
integer i,j;
real delta,t,e,pi2;
pi2:=2*3.1415926536;
read(in,delta,e,t,p);
orb(t,x,p);
for i:=1 step 1 until 8 do p1(i):=p(i);
for i:=1 step 1 until 7 do begin
p1(i):=p(i)*(1+e);
orb(t,x1,p1);
write(out,<:<10>:>,<<d>,i);
for j:=1,2,3 do write(out,<< -d.dddd'-dd>,x1(j,0)-x(j,0),x(j,i)*e,x1(j,i)*e);
p1(i):=p(i);
end;
end
«eof»