File:Galilean moon Laplace resonance animation.gif
来自testwiki
跳转到导航
跳转到搜索
Galilean_moon_Laplace_resonance_animation.gif (365 × 245像素,文件大小:351 KB,MIME类型:image/gif、循环、288帧、5.8秒)
注意:由于技术限制,高分辨率GIF图像的缩略图无法进行动画处理。
本文件来自维基共享资源并可能被其他项目使用。 其文件描述页上的描述显示在下面。
摘要
| 描述Galilean moon Laplace resonance animation.gif |
English: Animation of the 1:2:4 Laplace resonance between Io, Europa, and Ganymede. The labels indicate the ratios of orbital periods: Europa's is twice Io's, and Ganymede's is four times Io's. Warning: do not downsize the image below its original size of 365 × 245 when used in a Wikipedia article, as the animation won't move then (at least not for all users). |
| 日期 | (UTC) |
| 来源 | based on earlier version of this file, avail. below |
| 作者 | User:Matma Rex |
| 授权 (二次使用本文件) |
Public Domain |
| 其他版本 |
|
许可协议
| Public domainPublic domainfalsefalse |
| 我,本作品著作权人,释出本作品至公有领域。这适用于全世界。 在一些国家这可能不合法;如果是这样的话,那么: 我无条件地授予任何人以任何目的使用本作品的权利,除非这些条件是法律规定所必需的。 |
Generation
This image has been generated by the following Ruby code and optimized in GIMP.
# author: Matma Rex
# code licensed under CC-BY-SA license
require 'rubygems'
require 'RMagick'
include Magick
step=5 # degrees by which Io will move in every frame
# Io, Europa, Ganymede
distances=[46, 72, 112]
speeds=[1, 0.5, 0.25]
shifts=[-90, 90, -90]
centerx=122
centery=122
list=ImageList.new
base=Image.new 365,245
base.ticks_per_second=1000
base.delay=5*step
gc=Draw.new
# lines
gc.stroke 'lightgrey'
gc.stroke_width 1.5
distances.each{|d| gc.line centerx, centery-d, 360, centery-d}
gc.line centerx, centery, 360, centery
# orbits
gc.stroke 'grey'
gc.fill 'none'
gc.stroke_width 2
distances.each{|d| gc.circle centerx, centery, centerx, centery+d}
# Jupiter
gc.stroke 'black'
gc.fill 'black'
gc.stroke_width 2
gc.circle centerx, centery, centerx, centery+9
# labels
# gc.stroke_width 0
# gc.gravity EastGravity
# gc.font_family 'arial'
# gc.font_size 18
# gc.font_weight LighterWeight
# gc.text_align RightAlign
# gc.text_undercolor 'white'
# gc.text 360, centery-distances[0]+7, '" Io 1:1"'.upcase
# gc.text 360, centery-distances[1]+7, '" Europa 2:1"'.upcase
# gc.text 360, centery-distances[2]+7, '" Ganymede 4:1"'.upcase
# gc.font_weight BoldWeight
# gc.text 360, centery+7, '" Jupiter"'.upcase
gc.draw base
# ImageMagick sucks at text - load a predefined text img instead
base=base.composite Image.read('text.png')[0].transparent('cyan'), 0, 0, OverCompositeOp
(0..(4*360-1)).step(step) do |deg|
img=base.clone
gc=Draw.new
0.upto(2) do |i|
rad=(deg*speeds[i] + shifts[i]) * Math::PI / 180.0
x=distances[i] * -Math.cos(rad)
y=distances[i] * Math.sin(rad)
gc.circle centerx+x, centery+y, centerx+x, centery+y+4.5
end
gc.draw img
list << img
end
list.write 'magick.gif'
说明
添加一行文字以描述该文件所表现的内容
Rezonans orbitalny księżyców galileuszowych
此文件中描述的项目
描繪內容
著作权持有者释出至公有领域 简体中文(已转写)
16 2 2011
文件历史
点击某个日期/时间查看对应时刻的文件。
| 日期/时间 | 缩略图 | 大小 | 用户 | 备注 | |
|---|---|---|---|---|---|
| 当前 | 2011年2月16日 (三) 19:08 | 365 × 245(351 KB) | wikimediacommons>Matma Rex | a much nicer version, even if somewhat larger |
