[Scilab-users] Visualising Collatz sequences

Lester Anderson arctica1963 at gmail.com
Thu Apr 14 17:28:09 CEST 2022


Hi Stephane,

Many thanks for the code pointers - graphics look fab!

Cheers
Lester

On Thu, 14 Apr 2022 at 15:29, Stéphane Mottelet <stephane.mottelet at utc.fr>
wrote:

> You can also enjoy the 3d version:
>
> function X=anglePath3(r, th, ph)
>     cumth = cumsum(th);
>     cumph = cumsum(ph);
>     X = cumsum([0 r.*sin(cumph)
>                 0 r.*sin(cumth).*cos(cumph)
>                 0 r.*cos(cumth).*cos(cumph)], 2);end
> function N=collatz(n)
>     N = n;
>     while n<>1
>         if modulo(n,2) == 0
>             n = n/2;
>         else
>             n = 3*n+1;
>         end
>         N = [n N];
>     endend
> a=0.1;e=1.3;
> clfNCOL=512;gcf().color_map=parulacolormap(NCOL);drawlaterfor i=1:200
>     r=collatz(grand(1,1,'uin',1,1000000));
>     m1=modulo(r,4);
>     m2=m1;
>     m1(m1>1)=0;
>     m2(m2<=1)=0;
>     X=anglePath3(r./(1+r.^e),a*%pi*(0.352-modulo(m1,2)),a*%pi*(0.352-modulo(m2,2)));
>     x=rand(3,1)/8;
>     param3d(x(1)+X(1,:),x(2)+X(2,:),x(3)+2*X(3,:))
>     gce().foreground=min(NCOL,length(r))endisoview ondrawnow
>
>
> Le 14/04/2022 à 09:46, Stéphane Mottelet a écrit :
>
> Hi again,
>
> Here is a small code doing the graphic job:
>
> function X=anglePath(r, th)
>     cumth = cumsum(th);
>     X = cumsum([0 r.*cos(cumth);0 r.*sin(cumth)], 2);end
> function N=collatz(n)
>     N = n;
>     while n<>1
>         if modulo(n,2) == 0
>             n = n/2;
>         else
>             n = 3*n+1;
>         end
>         N = [n N];
>     endend
> a=0.08;e=1.2;
> clfgcf().color_map=graycolormap(128);for i=1:100
>     r=collatz(ceil(rand()*2000000000));
>     X=anglePath(r./(1+r.^1.2),a*%pi*(0.35-modulo(r,2)));
>     plot(0.01+X(1,:),-0.01+X(2,:));end
>
>
>
> --
> Stéphane Mottelet
> Ingénieur de recherche
> EA 4297 Transformations Intégrées de la Matière Renouvelable
> Département Génie des Procédés Industriels
> Sorbonne Universités - Université de Technologie de Compiègne
> CS 60319, 60203 Compiègne cedex
> Tel : +33(0)344234688http://www.utc.fr/~mottelet <https://antispam.utc.fr/proxy/v3?i=Zk92VEFKaGQ4Ums4cnZEUWMTpfHaXFQGRw1_CnOoOH0&r=bHA1dGV3NWJQVUloaWNFUYH-0fCrCfKNwGzaHK3mGAF34Dbd5QpdXfVRjdiNrR7K&f=SlhDbE9uS2laS2JaZFpNWvypxfeihkZF7xphlFhpLfOsI1HEbZ2YCuIwSI8iQL53&u=http%3A//www.utc.fr/~mottelet&k=XRKU>
>
>
> _______________________________________________
> users mailing listusers at lists.scilab.orghttps://antispam.utc.fr/proxy/v3?i=Zk92VEFKaGQ4Ums4cnZEUWMTpfHaXFQGRw1_CnOoOH0&r=bHA1dGV3NWJQVUloaWNFUYH-0fCrCfKNwGzaHK3mGAF34Dbd5QpdXfVRjdiNrR7K&f=SlhDbE9uS2laS2JaZFpNWvypxfeihkZF7xphlFhpLfOsI1HEbZ2YCuIwSI8iQL53&u=http%3A//lists.scilab.org/mailman/listinfo/users&k=XRKU
>
> --
> Stéphane Mottelet
> Ingénieur de recherche
> EA 4297 Transformations Intégrées de la Matière Renouvelable
> Département Génie des Procédés Industriels
> Sorbonne Universités - Université de Technologie de Compiègne
> CS 60319, 60203 Compiègne cedex
> Tel : +33(0)344234688http://www.utc.fr/~mottelet
>
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20220414/386a8f16/attachment.htm>


More information about the users mailing list