فایل:Lorentz Transform Animation.gif
Page contents not supported in other languages.
ویکیپدیادان، آچیق بیلیکلیکدن
Lorentz_Transform_Animation.gif (۲۵۶ × ۲۵۶ پیکسل, فایل اؤلچوسو: ۲۳۲ کیلوبایت, MIME نوعو: image/gif، ایلملنیب، ۱۲۸ چرچیوه، ۷٫۷ ثانیه)
بو فایل ویکیانبار-دندیر و آیری پروژهده ایستیفاده اولماق امکانی وار. اونون بارهسینده اولان شرح فایلین شرح صحیفهسی آشاغیدا گوستریلیب.
قیساسی
آچیقلاماLorentz Transform Animation.gif |
English: This file recreates this file, except this one is free of copyright restrictions. I created it myself by writing an own script in Python, and I release it under CC0.
The animation shows the effect of Lorentz transform used in theory of relativity. An observer moving along a world line (red) is shown along with random events in space-time (black dots). The diagonal grey lines indicate the speed of light. Compare this to Galilean transform. |
تاریخ | |
قایناق |
یوکلهیهنین اؤز ایشی این GIF تصویر برداری با Python ساخته شده است. |
یازار | Drummyfish |
Source code InfoField | # space transformation animation in Python
# by Drummyfish
# released under CC0 1.0
from PIL import Image
import random
import math
TRANSFORM_TYPE = 0 # 0 = galileian, 1 = lorentz
SPEED_OF_LIGHT = 1
SIZE = 256
TRAJECTORY = (
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l \n"
" l "
)
TRAJECTORY_POINTS = [(i.find("l") - 20) * 0.5 for i in TRAJECTORY.split("\n")]
TRAJECTORY_POINTS.reverse()
random.seed(35)
EVENTS = [(random.randrange(SIZE * 40) - 20 * SIZE,random.randrange(len(TRAJECTORY_POINTS))) for i in range(500)]
def draw_square(pixels, x, y, r, c):
x -= r / 2
y -= r / 2
x2 = x + r
y2 = y + r
x = max(0,x)
y = max(0,y)
x2 = min(SIZE - 1,x2)
y2 = min(SIZE - 1,y2)
for j in range(y,y2):
for i in range(x,x2):
pixels[i,j] = c
def transform_galilean(relative, velocity):
return (int(relative[0] - velocity * relative[1]),relative[1])
def transform_lorentz(relative, velocity):
sol2 = SPEED_OF_LIGHT * SPEED_OF_LIGHT
factor = 1.0 / math.sqrt(1.0 - velocity * velocity / sol2)
return (int(factor * (relative[0] - velocity * relative[1])),
int(factor * (relative[1] - (velocity * relative[0]) / sol2)))
def draw_event(relative_event, velocity, pixels, color, size):
transformed = transform_galilean(relative_event,velocity) if TRANSFORM_TYPE == 0 else transform_lorentz(relative_event,velocity)
screen = (SIZE / 2 + transformed[0],SIZE / 2 - transformed[1])
draw_square(pixels,screen[0],screen[1],size,color)
image = Image.new("RGB",(SIZE,SIZE),"white")
pixels = image.load()
v_previous = 0
for f in range(len(TRAJECTORY_POINTS)): # for each frame
for j in range(SIZE): # clear the canvas
for i in range(SIZE):
relative_y = SIZE / 2 - j
helper_line = (relative_y == 0) or (relative_y % 32 == 0 and i % 4 == 0)
if TRANSFORM_TYPE == 1:
relative_x = SIZE / 2 - i
if abs(relative_x / float(relative_y if relative_y != 0 else 0.0001)) == SPEED_OF_LIGHT:
helper_line = True
pixels[i,j] = (200,200,200) if helper_line else (255,255,255)
x = TRAJECTORY_POINTS[f]
# compute average velocity over several trajectory points, for smooth movement:
avg = 10
weight_sum = 0
v = 0
for n in range(avg):
index = f - n + avg / 2
weight = avg / 2 - abs(avg / 2 - n) + 1
v += weight * (TRAJECTORY_POINTS[(index + 1) % len(TRAJECTORY_POINTS)] - TRAJECTORY_POINTS[index % len(TRAJECTORY_POINTS)])
weight_sum += weight
v = v / float(weight_sum)
v = (v + v_previous) / 2.0 # this smooths acceleration
v_previous = v
for k in range(-2,3): # draw events
for e in EVENTS:
relative = (e[0] - x,e[1] - f + k * len(TRAJECTORY_POINTS))
draw_event(relative,v,pixels,(0,0,0),3)
for n in range(SIZE): # draw the trajectory
index = n - SIZE / 2
trajectory_index = (f + index) % len(TRAJECTORY_POINTS)
relative = (TRAJECTORY_POINTS[trajectory_index] - x, index)
draw_event(relative,v,pixels,(255,0,0),2)
draw_square(pixels,SIZE / 2,SIZE / 2,7,(0,0,255)) # draw the observer
image.save("out" + str(f).zfill(4) + ".png") # save the frame
|
لیسانس
من، صاحب حقوق قانونی این اثر، به این وسیله این اثر را تحث اجازهنامهٔ ذیل منتشر میکنم:
بو اثر کریئیتیو کامنز (Creative Commons CC0 1.0 Universal Public Domain Dedication) واسیطهسی ایله الدهدیر. | |
بیر اثری بو بلگه ایله بیرلشدیرن کیمسه، بو اثری عومومی مالیکیته بوراخاراق، قانونون ایجازه وئردیگی حدده، بو اثرله ایلگیلی دۆنیا چاپیندا و کوْپیرایت قانونو اساسیندا بۆتون حاقلاریندان وازگئچمیشدیر. سیز بو اثری هئچ بیر ایجازه آلمادان، تیجاری آماجلارینیز اۆچون بئله، پایلاشابیلر، کوْپی ائدهبیلر، دییشدیرهبیلر و ایجرا ائدهبیلرسینیز.
http://creativecommons.org/publicdomain/zero/1.0/deed.enCC0Creative Commons Zero, Public Domain Dedicationfalsefalse |
آیتمهایی که در این پرونده نمایش داده شدهاند
توصیفها فارسی
پدیدآورنده فارسی
این خصوصیت مقداری دارد اما نامشخص است.
اجازهنامه فارسی
Creative Commons CC0 License انگلیسی
source of file انگلیسی
original creation by uploader انگلیسی
تاریخ ساخت / تأسیس فارسی
۳۱ مارس 2019
فايل گئچمیشی
فايلین اولکی وئرسیياسینی گؤرمک اۆچون گۆن/تاریخ بؤلمهسیندهکی تاریخلری تێقلايین.
تاریخ/واخت | کیچیک عکس | اؤلچولر | ایشلدن | باخیش | |
---|---|---|---|---|---|
ایندیکی | ۱ آوریل ۲۰۱۹، ساعت ۱۹:۳۴ | ۲۵۶ در ۲۵۶ (۲۳۲ کیلوبایت) | Drummyfish | General improvement | |
۳۱ مارس ۲۰۱۹، ساعت ۱۸:۱۰ | ۲۵۶ در ۲۵۶ (۱۵۹ کیلوبایت) | Drummyfish | User created page with UploadWizard |
فايل ایشلدمهسی
آشاغیداکی صحیفه بو فایلا باغلانیر
مِتابیلگیلر
بۇ فايلدا فوْتوْاپارات و يا سکانئرله علاوه اوْلونموش معلوماتلار وار. اگر فايل سوْنرادان دَییشدیریلیبسه، بعضی پارامئترلر بۇ شکیلده گؤستریلنلردن فرقلی اوْلا بیلر.
GIF شکیل شرحی | created with GIMP by Drummyfish, released under CC0 |
---|
«https://azb.wikipedia.org/wiki/فایل:Lorentz_Transform_Animation.gif»-دن آلینمیشدیر