Файл:Friedmann universes.svg
От testwiki
Направо към навигацията
Направо към търсенето
Размер на този PNG предварителен преглед на изходния SVG файл: 620 × 500 пиксела. Други разделителни способности: 298 × 240 пиксела | 595 × 480 пиксела | 952 × 768 пиксела | 1270 × 1024 пиксела | 2540 × 2048 пиксела.
Оригинален файл (Файл във формат SVG, основен размер: 620 × 500 пиксела, големина на файла: 3 КБ)
Този файл е от Общомедия и може да се използва от други проекти. Следва информация за файла, достъпна през оригиналната му описателна страница.
Резюме
| ОписаниеFriedmann universes.svg |
English: The age and ultimate fate of the universe can be determined by measuring the Hubble constant today and extrapolating with the observed value of the deceleration parameter, uniquely characterized by values of density parameters (ΩM for matter and ΩΛ for dark energy). A "closed universe" with ΩM > 1 and ΩΛ = 0 comes to an end in a Big Crunch and is considerably younger than its Hubble age. An "open universe" with ΩM ≤ 1 and ΩΛ = 0 expands forever and has an age that is closer to its Hubble age. For the accelerating universe with nonzero ΩΛ that we inhabit, the age of the universe is coincidentally very close to the Hubble age.
|
|||
| Дата | ||||
| Източник | Собствена творба | |||
| Автор | BenRG | |||
| SVG развитие InfoField |
|
Formulas
This diagram uses the following exact solutions to the Friedmann equations:
See also
Some of the shown models are implemented as an animation at Cosmos-animation.
Perl code
use strict;
use Svg;
use Math::Trig qw(sinh cosh acos asinh acosh pi);
sub ScaleFunc {
my ($H0, $M0, $with_lambda) = @_;
if ($M0 == 1) {
my $q0 = 2/(3*$H0);
return sub { my ($q) = @_; ($q - $q0, (1.5 * $H0 * $q) ** (2/3)) };
}
if ($with_lambda) {
my $L0 = 1 - $M0;
# assume 0 < $M0 < 1
my $a = ($M0/$L0) ** (1/3);
my $b = 1.5 * $H0 * sqrt($L0);
my $q0 = asinh(sqrt($L0/$M0)) / $b;
return sub { my ($q) = @_; ($q - $q0, $a * (sinh($b * $q) ** (2/3))) }
} else {
# \Omega_{\Lambda_0} = 0
my $k0 = 1 - $M0;
if ($M0 == 0) {
return sub { my ($q) = @_; ($q - 1/$H0, $q * $H0) }
} else {
my $a = $M0 / (2 * abs($k0));
my $b = 1 / ($H0 * sqrt(abs($k0)));
my $c = $a * $b;
if ($M0 > 1) {
my $d = $a * (2 / ($H0 * $M0) - acos(2/$M0 - 1) * $b);
return sub { my ($q) = @_; ($c * ($q - sin($q)) + $d, $a * (1 - cos($q))) }
} else {
# 0 < M < 1
my $d = $a * (acosh(2/$M0 - 1) * $b - 2 / ($H0 * $M0));
return sub { my ($q) = @_; ($c * (sinh($q) - $q) + $d, $a * (cosh($q) - 1)) }
}
}
}
}
sub SubscriptedText {
my $text = shift;
$text->add(shift);
my $sub = 0;
for my $t (@_) {
$sub = !$sub;
$text->tspan($sub ? (dy => 4, 'font-size' => 12) : (dy => -4))->add($t);
}
}
my ($image_width,$image_height) = (620,500);
my ($origin_x, $origin_y) = (30.5,450.5);
my $pad_right = 70;
my ($tlo, $thi, $ahi) = (-15,18,2.5);
my $svg = new Svg(width => $image_width, height => $image_height);
# $svg->rect(width => $image_width, height => $image_height, fill => 'gray');
$svg->defs()->marker(id => 'arrowhead', refX => 0, refY => 3, markerWidth => 10, markerHeight => 6, markerUnits => 'userSpaceOnUse', orient => 'auto')->path(d => 'M 0,0 L 10,3 L 0,6 z');
my $traces = $svg->group(stroke => 'black', 'stroke-width' => 2, fill => 'none');
my $axes = $svg->group(stroke => 'black', 'stroke-width' => 1, fill => 'none');
my $labels = $svg->group('font-family' => 'Nimbus Roman No9 L, Times, serif', 'font-size' => 20, 'text-anchor' => 'middle', stroke => 'none', fill => 'black');
my $H0 = 1 / 13.95;
my $M0 = 0.279;
my ($graphscalex,$graphscaley) = (($image_width-$origin_x-$pad_right)/($thi-$tlo), -$origin_y/$ahi);
my ($graphofsx,$graphofsy) = ($origin_x - $tlo * $graphscalex, $origin_y);
for my $z ([0,0,30,'none'],[$M0,0,3.17,'1,4'],[1,0,26,'2,2'],[6,0,2*pi,'1,3,4,3'],[$M0,1,27,'5,3']) {
my ($m0,$with_lambda,$max_q,$dashes) = @$z;
my $f = ScaleFunc($H0,$m0,$with_lambda);
my (@x,@y);
for my $i (0..200) {
($x[$i],$y[$i]) = &$f($i / 200 * $max_q);
}
$traces->path('stroke-dasharray' => $dashes, ($m0 == 6 ? () : ('marker-end' => 'url(#arrowhead)')), d => MakePath(\@x, \@y, $graphscalex, $graphscaley, $graphofsx, $graphofsy, 1));
}
$axes->line(x1 => $origin_x, y1 => $image_height-20, x2 => $origin_x, y2 => 20, 'marker-end' => 'url(#arrowhead)');
$axes->line(x1 => 10, y1 => $origin_y, x2 => $image_width - $pad_right + 10, y2 => $origin_y, 'marker-end' => 'url(#arrowhead)');
$labels->text(x => ($origin_x + $image_width) / 2, y => $image_height-10)->add('Billions of years from now');
my $path = '';
for my $gyr (-13.7, -10, -5, 0, 5, 10, 15) {
my $x = int($gyr * $graphscalex + $graphofsx);
my $y = $origin_y-5;
$path .= "M$x.5,${y}l0,10";
$labels->text(x => $x, y => $origin_y + 20)->add($gyr);
}
$axes->path(d => $path);
$labels->circle(cx => $graphofsx, cy => $graphscaley + $graphofsy, r => 4);
$labels->text(x => $graphofsx-5, y => $graphscaley + $graphofsy, 'text-anchor' => 'end')->add('Now');
$labels->text()->rotate(-90)->translate($origin_x - 8, $origin_y / 2)->add("Average distance between galaxies");
my $trace_labels = $labels->group('font-family' => 'DejaVu Serif, serif', 'font-size' => 16);
SubscriptedText($trace_labels->text(x => 465, y => 30, 'text-anchor' => 'end'), "\x{3A9}", 'M', " = 0.3, \x{3A9}", "\x{39B}", " = 0.7");
SubscriptedText($trace_labels->text(x => 520, y => 50, 'text-anchor' => 'start'), "\x{3A9}", 'M', ' = 0');
SubscriptedText($trace_labels->text(x => 535, y => 70, 'text-anchor' => 'start'), "\x{3A9}", 'M', ' = 0.3');
SubscriptedText($trace_labels->text(x => 540, y => 95, 'text-anchor' => 'start'), "\x{3A9}", 'M', ' = 1');
SubscriptedText($trace_labels->text(x => 540, y => 400, 'text-anchor' => 'start'), "\x{3A9}", 'M', ' = 6');
$svg->write('Friedmann universes.svg');
Лицензиране
| Public domainPublic domainfalsefalse |
| Аз, носителят на авторските права над тази творба, я публикувам като обществено достояние. Това разрешение е в сила за целия свят. В някои държави това може да не е възможно от законодателна гледна точка; затова: Давам на всекиго правото да използва тази творба за всякакви цели, без никакви условия, освен ако такива условия съществуват по закон. |
Описания
Add a one-line explanation of what this file represents
Solutions of the Friedmann Equations (not hand drawn)
Items portrayed in this file
изобразен обект
Някаква стойност без обект в Уикиданни
copyright status английски
source of file английски
original creation by uploader английски
23 септември 2009
media type английски
image/svg+xml
История на файла
Избирането на дата/час ще покаже как е изглеждал файлът към онзи момент.
| Дата/Час | Миникартинка | Размер | Потребител | Коментар | |
|---|---|---|---|---|---|
| текуща | 23:09, 23 септември 2009 | 620 × 500 (3 КБ) | wikimediacommons>BenRG | Nimbus Roman doesn't have Greek letters; switch to DejaVu Serif |
Използване на файла
Следната страница използва следния файл: