ไฟล์:Lorentz transform of world line.gif
ไฟล์นี้มาจาก วิกิมีเดียคอมมอนส์ และอาจมีใช้ในโครงการอื่น คำอธิบายในหน้าคำอธิบายไฟล์แสดงไว้ด้านล่างนี้
ความย่อ
| คำอธิบาย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);
}
}
|
|
การอนุญาตใช้สิทธิ
| อนุญาตให้คัดลอก แจกจ่ายและ/หรือดัดแปรเอกสารนี้ภายใต้เงื่อนไขของสัญญาอนุญาตเอกสารเสรีของกนู รุ่น 1.2 หรือรุ่นใด ๆ นับจากนี้ที่ออกโดยมูลนิธิซอฟต์แวร์เสรี โดยไม่มีส่วนใดห้ามแก้ไข ไม่มีข้อความปกหน้าและปกหลัง สำเนาของสัญญาอนุญาตรวมอยู่ในส่วนชื่อ สัญญาอนุญาตเอกสารเสรีของกนูhttp://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
| ไฟล์นี้อยู่ภายใต้สัญญาอนุญาต ครีเอทีฟคอมมอนส์ แบบแสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ต้นฉบับ | ||
| ||
| ป้ายแสดงสถานะลิขสิทธิ์นี้ถูกเพิ่มเพื่อให้เป็นไปตามการเปลี่ยนแปลงสัญญาอนุญาตของมูลนิธิวิกิมีเดีย จาก GFDL ไปยัง GFDL ควบคู่กับ CC-BY-SA 3.0http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue |
คำบรรยายโดยย่อ
รายการที่แสดงอยู่ในไฟล์นี้
ประกอบด้วย
บางค่าที่ไม่มีรายการวิกิสนเทศ
media type อังกฤษ
image/gif
ประวัติไฟล์
คลิกวันที่/เวลาเพื่อดูไฟล์ที่ปรากฏในขณะนั้น
| วันที่/เวลา | รูปย่อ | ขนาด | ผู้ใช้ | ความเห็น | |
|---|---|---|---|---|---|
| ปัจจุบัน | 10:24, 21 สิงหาคม 2548 | 200 × 200 (166 กิโลไบต์) | wikimediacommons>Cyp | New and improved - now with bigger and better dots |
การใช้ไฟล์
1 หน้าต่อไปนี้ใช้ไฟล์นี้:
