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;
}