Файл:Periodic table, good SVG.svg
Материал из Википедии — свободной энциклопедии
Перейти к навигации
Перейти к поиску
Размер этого PNG-превью для исходного SVG-файла: 800 × 544 пкс. Другие разрешения: 320 × 218 пкс | 640 × 435 пкс | 1024 × 697 пкс | 1280 × 871 пкс | 2560 × 1741 пкс | 1176 × 800 пкс.
Исходный файл (SVG-файл, номинально 1176 × 800 пкс, размер файла: 20 КБ)
Краткое описание
| ОписаниеPeriodic table, good SVG.svg |
English: A by-product of File:Monoisotopic, mononuclidic, radioactive elements.svg with more classical proportions of element cells, but without information about isotopes. These Perl programs generate a good, structured SVG code and may be modified further to create more sentient images that this concrete table.
Elements:
|
||
| Дата | |||
| Источник | Собственная работа | ||
| Автор | Incnis Mrsi | ||
| Другие версии |
|
||
| SVG‑разработка InfoField |
|
Source code
See File:Monoisotopic, mononuclidic, radioactive elements.svg for definition of the @elements array.
sub start_box {
my $fill="";
$fill=' style="fill:'.$_[2].'"' if ($_[2]);
print "<g> <rect$fill x=\"".(16*$_[1]-15)."\" width=\"14\" y=\"".($_[0]-19)."\" height=\"18\"/> ";
};
sub make_text {
my $cl="";
$cl=' class="'.$_[3].'"' if ($_[3]);
print "<text$cl x=\"".$_[0]."\" y=\"".$_[1]."\">".$_[2]."</text> ";
};
sub smart_symbol {
make_text ($_[0], $_[1], $_[2], (length($_[2])>2)?"smallsym":"sym");
};
sub smart_number {
my $x = $_[0] - 3;
my $cl = "num";
if ( $_[2] >=100 ) { $cl = "smallnum"; $x -= 3; }
elsif ( $_[2] >=10 ) { $x -= 3; };
make_text ($x, $_[1], $_[2], $cl);
};
sub print_Z {
my $ref = $elements[$_[0]];
return unless $ref;
my $intro;
my $base_y = 20 * $ref->[1];
my $group = $ref->[2];
if ($group == 1) { # First element in a period
$intro = $ref->[1];
}
elsif (!$group) {
if ( $ref->[1] == 6) { # Lanthanoid
if ($_[0] == 57) { # Lanthanum
start_box($base_y, 3); make_text (37, $base_y-10, "*", "sym"); print "</g>";
$intro = "* lanthanoids";
};
$base_y = 174;
$group = $_[0] - 54;
}
elsif ( $ref->[1] == 7) { # Actinoid
if ($_[0] == 89) { # Actinium
start_box($base_y, 3); make_text (35, $base_y-10, "**", "sym"); print "</g>";
$intro = "** actinoids";
};
$base_y = 194;
$group = $_[0] - 86;
}
else { return; };
};
if ($intro) {
print "\n";
make_text (-5, $base_y-4, $intro) if ($intro);
print "\n";
};
my $background = $ref->[3];
# this version is not focused on nuclides, recycling some stuff
if ( $background =~ /\#FF00/ ) {
# we classify all unstable elements to nanural, marginally natural and unnatural in this version
if ( $ref->[5] eq "0" ) {
$background = '#CC00FF'; # I said: no natural isotopes
}
else {
$background = (($_[0] == 90)||($_[0] == 92))?'#FF3333' # Th, U
:'#FF33FF'; # marginally natural
};
}
else {
$background =~ s/\#..FF../\#FFFFFF/;
};
start_box ($base_y, $group, $background);
# no check for natural radionuclides in this version
smart_number (16*$group-8, $base_y-5, $_[0]); # Atomic number
smart_symbol (16*$group-13, $base_y-11, $ref->[0]); # Symbol
# no mass numbers in this version
print "</g>\n"; # end box
};
print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\
<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\
<svg xmlns=\"http://www.w3.org/2000/svg\" xml:space=\"preserve\" width=\"1176\" height=\"800\" viewBox=\"-5 -6 294 200\"\
xmlns:xlink=\"http://www.w3.org/1999/xlink\">\
<!-- see http://commons.wikimedia.org/wiki/File:Periodic_table,_good_SVG.svg for more information about the file -->
<defs>\
<style type=\"text/css\">\
<![CDATA[\
rect {stroke:#666666; stroke-width:1px; fill:none} /* for cells */\
text {fill:#000000; font-family:sans; font-size:5px; stroke:none} /* periods and groups */\
.sym {font-family:serif; font-size:7px}\
.smallsym {font-family:serif; font-size:5.5px} /* Uu? */\
.num {font-size:4px} /* up to 99 */\
.smallnum {font-size:3px} /* 100 and greater */\
]]>\
</style>\
</defs>\n\n";
my $group;
make_text ( 6, -1, 1);
make_text (22, 18, 2);
for ( $group=3; $group<=12; $group++) { make_text(16*$group-10, 58, $group); };
for ($group=13; $group<=17; $group++) { make_text(16*$group-12, 18, $group); };
make_text (276, -1, 18);
my $Z;
for ($Z=1; $Z<=119; $Z++) { print_Z ($Z); };
print "</svg>\n";
Лицензирование
Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующих лицензий:
| Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями GNU Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Этот файл доступен на условиях лицензий Creative Commons Attribution-Share Alike 3.0 Unported, 2.5 Generic, 2.0 Generic и 1.0 Generic.
- Вы можете свободно:
- делиться произведением – копировать, распространять и передавать данное произведение
- создавать производные – переделывать данное произведение
- При соблюдении следующих условий:
- атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
- распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.
Вы можете выбрать любую из этих лицензий.
Краткие подписи
Добавьте однострочное описание того, что собой представляет этот файл
Modern Periodic Table
Элементы, изображённые на этом файле
изображённый объект
Некоторое значение без элемента в Викиданных
22 октября 2012
image/svg+xml
История файла
Нажмите на дату/время, чтобы увидеть версию файла от того времени.
| Дата/время | Миниатюра | Размеры | Участник | Примечание | |
|---|---|---|---|---|---|
| текущий | 19:54, 9 октября 2020 | 1176 × 800 (20 КБ) | wikimediacommons>Burzuchius | Reverted to version as of 13:09, 11 November 2018 (UTC) |
Использование файла
Следующая страница использует этот файл:
Метаданные
Файл содержит дополнительные данные, обычно добавляемые цифровыми камерами или сканерами. Если файл после создания редактировался, то некоторые параметры могут не соответствовать текущему изображению.
| Ширина | 1176 |
|---|---|
| Высота | 800 |