Archiu:Lorentz transform of world line.gif
Est archiu és de Wikimedia Commons i pot usar-se en atres proyectes. La descripció en la seua pàgina de descripció de l'archiu es mostra més avall.
Summary
| DescriptionLorentz transform of world line.gif |
English: Changing views of spacetime along the world line of a rapidly accelerating observer
In this animation, the vertical direction indicates time and the horizontal direction indicates distance, the dashed line is the spacetime trajectory ("world line") of an accelerating observer. The small dots are arbitrary events in spacetime that are stationary relative to each other. The events passing the two diagonal lines in the lower half of the picture (the past light cone of the observer) are those that are visible to the observer. The slope of the world line (deviation from being vertical) gives the relative velocity to the observer. Note how the view of spacetime changes when the observer accelerates. In particular, absolute time is a concept not applicable in Lorentzian spacetime: events move up-and-down in the figure depending on the acceleration of the observer. Compare this to the absolute time apparent in Image:Galilean transform of world line.gif. |
| Source | Own work |
| Author | Cyp |
| Source code InfoField | Source of program used to generate image:
//GPL
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PI 3.141592653589793238462
#define SX 256
#define SY 256
#define PL 100
#define DN 2000
unsigned char img[SX][SY];
double path[PL+1][2], dots[DN][2];
void dodot(int x, int y, double f) {
if(x<0||x>=SX||y<0||y>=SY) return;
img[y][x]*=f;
}
void dospot(int x, int y) {
dodot(x, y, .5);
dodot(x+1, y, .75);
dodot(x-1, y, .75);
dodot(x, y+1, .75);
dodot(x, y-1, .75);
}
void dobigspot(int x, int y) {
int a, b;
for(b=-3;b<=3;++b) for(a=-3;a<=3;++a) if(a*a+b*b<=9) dodot(x+a, y+b, (a*a+b*b)/10.);
}
void dospotd(double t, double x) {
dospot((x+1)*(SX/2.), (-t+1)*(SY/2.));
}
void dosmallspotd(double t, double x) {
dodot((x+1)*(SX/2.), (-t+1)*(SY/2.), .25);
}
void dobigspotd(double t, double x) {
dobigspot((x+1)*(SX/2.), (-t+1)*(SY/2.));
}
int main() {
char fn[100];
int n, x, y, t, i, w;
double a, b, da, db, ta, tb;
FILE *f;
path[0][0]=path[0][1]=0;
for(t=0;t<=PL;++t) path[t][1]=0;
for(n=1;n<10;++n) {
a=rand()%20000/10000.-1; a/=n*n*n*n/200.; b=rand()%20000*(PI/10000);
for(t=0;t<=PL;++t) {
path[t][1]+=a*sin((2*PI/PL)*n*t+b);
}
}
for(t=PL;t>=0;--t) path[t][1]-=path[0][1];
path[0][0]=0;
for(t=1;t<=PL;++t) {
a=path[t][1]-path[t-1][1];
path[t][0]=path[t-1][0]+sqrt(1+a*a);
}
for(t=0;t<DN;++t) {
a=rand()%20000/10000.-1; b=rand()%20000/10000.-1;
dots[t][0]=a*path[PL][0]/2; dots[t][1]=b*1000;
}
for(n=0;n<100;++n) {
i=PL*n/100;
a=path[i+1][0]-(da=path[i][0]); b=(db=path[i][1])-path[i+1][1];
ta=path[PL][0]; tb=path[PL][1];
a/=50.; b/=50.;
for(y=0;y<SY;++y) for(x=0;x<SX;++x) img[y][x]=255;
for(y=0;y<SY;++y) img[y][y*SX/SY]*=.5;
for(y=0;y<SY;++y) img[y][(SY-y-1)*SX/SY]*=.5;
for(w=-20;w<=20;++w)
for(t=0;t<PL;++t) dospotd(a*(path[t][0]-da-w*ta)+b*(path[t][1]-db-w*tb),
b*(path[t][0]-da-w*ta)+a*(path[t][1]-db-w*tb));
for(w=-20;w<=20;++w)
for(t=0;t<PL;t+=10) dobigspotd(a*(path[t][0]-da-w*ta)+b*(path[t][1]-db-w*tb),
b*(path[t][0]-da-w*ta)+a*(path[t][1]-db-w*tb));
for(w=-20;w<=20;++w)
for(t=0;t<DN;++t) dospotd(a*(dots[t][0]-da-w*ta)+b*(dots[t][1]-db-w*tb),
b*(dots[t][0]-da-w*ta)+a*(dots[t][1]-db-w*tb));
//if(n==0) printf("%lf; %lf, %lf, %lf; %lf, %lf, %lf, %lf, %lf\n", a*(path[PL][0]-da-1*ta)+b*(path[PL][1]-db-1*tb), path[PL][0], da, 1*ta, path[PL][1], db, 1*tb, path[0][0], path[0][1]);
sprintf(fn, "lor%04d.pgm", n);
f=fopen(fn, "wb");
fprintf(f, "P5\n%d %d\n255\n", SX, SY);
fwrite(img, 256*256, 1, f);
fclose(f);
}
}
|
|
Licensing
| Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
| This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license. | ||
| ||
| This licensing tag was added to this file as part of the GFDL licensing update.http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue |
Captions
Items portrayed in this file
depicts English
creator English
Some value without a Wikidata item
copyright status English
copyrighted English
source of file English
original creation by uploader English
media type English
image/gif
Historial de l'image
Puncha en la data/hora per a vore l'image tal i com es mostrava en eixe moment.
| Data/Hora | Miniatura | Dimensions | Usuari | Descripció | |
|---|---|---|---|---|---|
| actual | 09:24 21 ago 2005 | 200 × 200 (166 kB) | wikimediacommons>Cyp | New and improved - now with bigger and better dots |
Enllaços a l'image
Les següents pàgines enllacen ad esta image:
