Autor Tema: Partículas

0 Usuarios y 1 Visitante están viendo este tema.

12 Enero, 2021, 08:50 pm
Leído 79 veces

Bobby Fischer

  • $$\Large \color{red}\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 632
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
    • chess.com

Código: (Matlab) [Seleccionar]
function g
x0=-0.1; y0=-0.1/sqrt(3);
x1=0.1; y1=-0.1/sqrt(3);
x2=0; y2=0.2/sqrt(3);
figure(1)
close(1)
figure(1)
hold on
axis equal
axis([-1.05 1.05 -1.05 1.05])
plot([-1 1 1 -1 -1],[-1 -1 1 1 -1],'k','linewidth',2)
plot([x0 x1 x2],[y0 y1 y2],'k.')
tic
while toc<120
    [x,y]=coords(x0,y0);
    [x,y]=vuelve(x0,y0,x,y);
    plot([x0 x],[y0 y],'b')
    x0=x; y0=y;
   
    [x,y]=coords(x1,y1);
    [x,y]=vuelve(x1,y1,x,y);
    plot([x1 x],[y1 y],'r')
    x1=x; y1=y;
   
    [x,y]=coords(x2,y2);
    [x,y]=vuelve(x2,y2,x,y);
    plot([x2 x],[y2 y],'g')
    x2=x; y2=y;
   
    pause(0.2)
end
title('end')
    function [x,y]=coords(x0,y0)
        z=rand(1);
        if z>0.5
            k=1;
        else
            k=-1;
        end
        x=x0+k*0.1*rand(1);
        z=rand(1);
        if z>0.5
            k=1;
        else
            k=-1;
        end
        y=y0+k*0.1*rand(1);
    end
    function [x,y]=vuelve(x0,y0,x,y)
        if x>1
            x=x0-0.1;
        elseif x<-1
            x=x0+0.1;
        elseif y>1
            y=y0-0.1;
        elseif y<-1
            y=y0+0.1;
        end
    end
end


Código: (Matlab) [Seleccionar]
function h
x0=0; y0=0; z0=0;
x1=0; y1=0; z1=0;
x2=0; y2=0; z2=0;
figure(1)
close(1)
figure(1)
hold on
axis equal
axis([-1.05 1.05 -1.05 1.05 -1.05 1.05])
view(45,25)
plot3(0,0,0,'ko')
plot3([-1 1],[-1 -1],[-1 -1],'k')
plot3([1 1],[-1 1],[-1 -1],'k')
plot3([-1 1],[1 1],[-1 -1],'k')
plot3([-1 -1],[-1 1],[-1 -1],'k')
plot3([1 1],[-1 -1],[-1 1],'k')
plot3([1 1],[1 1],[-1 1],'k')
plot3([-1 -1],[1 1],[-1 1],'k')
plot3([-1 -1],[-1 -1],[-1 1],'k')
plot3([-1 1],[-1 -1],[1 1],'k')
plot3([-1 -1],[-1 1],[1 1],'k')
plot3([1 1],[-1 1],[1 1],'k')
plot3([-1 1],[1 1],[1 1],'k')

tic
while toc<15
    [x,y,z]=coords(x0,y0,z0);
    [x,y,z]=vuelve(x0,y0,z0,x,y,z);
    plot3([x0 x],[y0 y],[z0 z],'b')
    x0=x; y0=y; z0=z;
   
    [x,y,z]=coords(x1,y1,z1);
    [x,y,z]=vuelve(x1,y1,z1,x,y,z);
    plot3([x1 x],[y1 y],[z1 z],'r')
    x1=x; y1=y; z1=z;
   
    [x,y,z]=coords(x2,y2,z2);
    [x,y,z]=vuelve(x2,y2,z2,x,y,z);
    plot3([x2 x],[y2 y],[z2 z],'g')
    x2=x; y2=y; z2=z;
   
    pause(0.01)
end
title('end')
    function [x,y,z]=coords(x0,y0,z0)
        b=rand(1);
        if b>0.5
            k=1;
        else
            k=-1;
        end
        x=x0+k*0.1*rand(1);
        b=rand(1);
        if b>0.5
            k=1;
        else
            k=-1;
        end
        y=y0+k*0.1*rand(1);
        if b>0.5
            k=1;
        else
            k=-1;
        end
        z=z0+k*0.1*rand(1);
    end
    function [x,y,z]=vuelve(x0,y0,z0,x,y,z)
        if x>1
            x=x0-0.1;
        elseif x<-1
            x=x0+0.1;
        elseif y>1
            y=y0-0.1;
        elseif y<-1
            y=y0+0.1;
        elseif z>1
            z=z0-0.1;
        elseif z<-1
            z=z0+0.1;
        end
    end
end

12 Enero, 2021, 10:33 pm
Respuesta #1

Masacroso

  • Moderador Global
  • Mensajes: 2,373
  • País: es
  • Karma: +0/-0
Parecen unos caminos aleatorios. Muy bonitos los gráficos.

12 Enero, 2021, 10:42 pm
Respuesta #2

sugata

  • $$\Large \color{red}\pi\,\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 2,817
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Me recuerda a unos gráficos que hacía en mi Amstrad CPC 464.
Usaba una función aleatoria para subir, bajar o mantenerse en un pixel, según corrían los píxeles a la derecha. Luego en cada pixel lanzaba un segmento vertical hacia abajo y otro diagonal arriba a la derecha. Creaba una especie de sección de tierra.

12 Enero, 2021, 10:51 pm
Respuesta #3

Masacroso

  • Moderador Global
  • Mensajes: 2,373
  • País: es
  • Karma: +0/-0
Me recuerda a unos gráficos que hacía en mi Amstrad CPC 464.
Usaba una función aleatoria para subir, bajar o mantenerse en un pixel, según corrían los píxeles a la derecha. Luego en cada pixel lanzaba un segmento vertical hacia abajo y otro diagonal arriba a la derecha. Creaba una especie de sección de tierra.

Eso parece bastante sofisticado. Yo de niño a lo más que llegué fue a hacer algún que otro "programilla" en BASIC en el Spectrum ZX de mi padre para dibujar alguna gráfica de alguna función.

12 Enero, 2021, 10:55 pm
Respuesta #4

Bobby Fischer

  • $$\Large \color{red}\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 632
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
    • chess.com
Saludos Masa, Sugata.