File:Lorentz transform of world line.gif
Lorentz_transform_of_world_line.gif (200 × 200像素,文件大小:166 KB,MIME类型:image/gif、循环、100帧)
说明
摘要[编辑]
描述Lorentz 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. |
来源 | 自己的作品 |
作者 | 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);
}
}
|
|
许可协议[编辑]
已授权您依据自由软件基金会发行的无固定段落及封面封底文字(Invariant Sections, Front-Cover Texts, and Back-Cover Texts)的GNU自由文件许可协议1.2版或任意后续版本的条款,复制、传播和/或修改本文件。该协议的副本请见“GNU Free Documentation License”。http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
本文件采用知识共享署名-相同方式共享 3.0 未本地化版本许可协议授权。 | ||
| ||
本许可协议标签作为GFDL许可协议更新的组成部分被添加至本文件。http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue |
文件历史
点击某个日期/时间查看对应时刻的文件。
日期/时间 | 缩略图 | 大小 | 用户 | 备注 | |
---|---|---|---|---|---|
当前 | 2005年8月21日 (日) 09:24 | 200 × 200(166 KB) | Cyp(留言 | 贡献) | New and improved - now with bigger and better dots | |
2005年8月21日 (日) 08:29 | 200 × 200(151 KB) | Cyp(留言 | 贡献) | {{GFDL}} |
您不可以覆盖此文件。
文件用途
以下页面使用本文件:
全域文件用途
以下其他wiki使用此文件:
- am.wikipedia.org上的用途
- ar.wikipedia.org上的用途
- bg.wikipedia.org上的用途
- bn.wikipedia.org上的用途
- ca.wikipedia.org上的用途
- de.wikipedia.org上的用途
- de.wikibooks.org上的用途
- en.wikipedia.org上的用途
- Spacetime
- Time
- World line
- User:JDoolin
- Portal:Science
- User:Sbharris
- User:Cyde/Featured pictures
- Wikipedia:Featured pictures thumbs/05
- Newtonian motivations for general relativity
- Theoretical motivation for general relativity
- Wikipedia:Picture of the day/October 2006
- Wikipedia:Featured picture candidates/February-2006
- Wikipedia:Featured picture candidates/Lorentz transform of world line
- Wikipedia:Wikipedia Signpost/2006-02-20/Features and admins
- User:JocK
- User:Kasparov
- User talk:Laurascudder/Archive3
- Wikipedia:Picture of the day/October 16, 2006
- Wikipedia:POTD/October 16, 2006
- Wikipedia:POTD column/October 16, 2006
- Wikipedia:POTD row/October 16, 2006
- Talk:Twin paradox/Archive 3
- Portal:Physics/2007 Selected pictures
- Portal:Physics/Selected picture/Week 7, 2007
- Spacetime diagram
- Wikipedia:Reference desk/Archives/Computing/2007 December 14
- Wikipedia:Featured pictures/Sciences/Others
- User:Yamara/Time
- Time in physics
- Talk:Twin paradox/Literature
- User talk:71.8.121.8
- User:Kazkaskazkasako/Books/Physical sciences
- Wikipedia:Wikipedia Signpost/2006-02-20/SPV
- Talk:Lorentz transformation/Archive 5
- User:Stigmatella aurantiaca/sandbox/Spacetime
- User:Halibutt/Spacetime/Four-momentum
- User:JPxG/SP 2006-2010
- Wikipedia:Wikipedia Signpost/Single/2006-02-20
- en.wikiversity.org上的用途
查看本文件的更多全域用途。