draq0n Creative Commons License 2012.01.22 0 0 495

Itt a Lorentz-kontrakcio eredete levezetve a hullamcsomagokbol. Ez innen kezdve az etalon, Csak azzal allok le vitatkozni, aki el tudja mondani, mit szamol a program.

 

3.644901325320e-12
3.153527535511e-12
3.153527535511e-12

 

A hosszkontrakcio a kvantummechanikai anyaghullamokbol allo hullamcsomag szelessegenek valtozasaa sebesseg fuggvenyeben.

Fizikai oka van, nem blalblal oka...

 


#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    long double c=2.997924e8,h=6.62617e-34,m=9.109e-31,e=1.6021e-19,
        v1,v2,v1b,v2b,u,v,b,l,l2,l3,l3b,  a2,b2,c2,l_origin,ln;

    v1=0.3*c;
    v2=0.7*c;
    u=0.234*c;


    v=v1;    b=1.0/sqrt(1.0-v*v/(c*c));        l=h/(m*v*b);
    v=v2;    b=1.0/sqrt(1.0-v*v/(c*c));        l2=h/(m*v*b);
    l3=l2*l/(l-l2);
    printf("%.12Le n",l3);

    
    v=v1;    v1b=(u+v)/(1.0+u*v/(c*c));
    v=v2;    v2b=(u+v)/(1.0+u*v/(c*c));

    v=v1b;    b=1.0/sqrt(1.0-v*v/(c*c));        l=h/(m*v*b);
    v=v2b;    b=1.0/sqrt(1.0-v*v/(c*c));        l2=h/(m*v*b);
    l3b=l2*l/(l-l2);
    printf("%.12Le n",l3b);


//v1-v2 center
//    (v1-u)/((cc-uv1)/cc)=-(v2-u)/((cc-uv2)/cc)
//    (v1-u)/(cc-uv1)=-(v2-u)/(cc-uv2)
//    (v1-u)(cc-uv2)=-((v2-u)(cc-uv1))
//    (v1cc-uv1v2)+(-ucc+uuv2)=-((v2cc-uv1v2)+(-ucc+uuv1))
//    v1cc-uv1v2-ucc+uuv2=-(v2cc-uv1v2-ucc+uuv1)
//    v1cc-uv1v2-ucc+uuv2=-v2cc+uv1v2+ucc-uuv1
//    0=-v2cc-v1cc  +2uv1v2 +2ucc-uuv1-uuv2
//    0=(-v2-v1)cc  +u(2v1v2 +2cc) +uu(-v1-v2)


    a2=-v1-v2; b2=2.0*v2*v1+c*c*2.0; c2=(-v2-v1)*c*c;
    u=(-b2+sqrt(b2*b2-4.0*a2*c2))/(2.0*a2);
//    printf("%.12Le <n",u/c);
    v=u;    b=1.0/sqrt(1.0-v*v/(c*c));    l_origin=l3*b;

    a2=-v1b-v2b; b2=2.0*v2b*v1b+c*c*2.0; c2=(-v2b-v1b)*c*c;
    u=(-b2+sqrt(b2*b2-4.0*a2*c2))/(2.0*a2);
//    printf("%.12Le <n",u/c);
    v=u;    b=1.0/sqrt(1.0-v*v/(c*c));    ln=l_origin/b;

    printf("%.12Le n",ln);


    return 0;
}