摘要
许可协议
Public domainPublic domainfalsefalse
|
|
我,本作品著作权人,释出本作品至公有领域。这适用于全世界。 在一些国家这可能不合法;如果是这样的话,那么: 我无条件地授予任何人以任何目的使用本作品的权利,除非这些条件是法律规定所必需的。
|
Used
Source Code
% RADIODROME_PARAMS.en
% SourceCode for EULER by W#B: 29.10.2005, Public Domain
% EULER is a program for quick and interactive computations with real
% and complex numbers, matrices, or with intervals.
% Euler is freeware under the GNU general public license.
% The Euler homepage is at http://www.rene-grothmann.de
% ==================================================================
>function radiodrome(y, k, d0=1)
## x - vektor over vektor y, y(i) <> 0!!
## d0 .. normal distance of point of return (1/x'=0)
## k .. parameter of radiodrome (factor of velocities)
$yy=abs(y)/d0;
$if abs(k)==1; x=sign(k)*((yy^2-1)/4-log(yy)/2);
$ else; k1=1+k; k2=1-k; x=1/2*((yy^k1-1)/k1-(yy^k2-1)/k2); endif;
$return x*d0;
$endfunction
>function radiodrome0(k, d0=1)
## x - value x at y=0
## if no zeropoint exists, returns x=0
## (as k=0 will give correct x=0, test for both)
## d0 .. normal distance of point of return (1/x'=0)
$if abs(k)>=1; x=0; "radiodrome0: no zeropoint";
$ else; k1=1+k; k2=1-k; x=k/(k1*k2); endif;
$return x*d0;
$endfunction
% ------------------------------------------------------------------
>clg; reset;
>xmin=0; xmax=1.6; ymin=0; ymax=1.4;
>delta0=0.000001; delta1=0.001; delta2=0.02;
>setplot(xmin,xmax,ymin,ymax); keepsquare(1); scaling(0);
>y=ymin+delta0:delta1:ymax+delta2; x=radiodrome(y, 1);
>plotarea(x,y); hold on; markerstyle("x");
>color(1); linewidth(1); xplot();
>color(10); linewidth(2); plot(x,y);
>color(12); k=1.4;x=radiodrome(y, k); plot(x,y);
>color(5); k=0.7;x=radiodrome(y, k); plot(x,y); mark (radiodrome0(k), 0);
>color(14); k=0.5;x=radiodrome(y, k); plot(x,y); mark (radiodrome0(k), 0);
>color(11); k=0.3;x=radiodrome(y, k); plot(x,y); mark (radiodrome0(k), 0);
>"done"
% ------------------------------------------------------------------