ملف:Periodic table, good SVG.svg

من أرابيكا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

الملف الأصلي(ملف SVG، أبعاده 1٬176 × 800 بكسل، حجم الملف: 20 كيلوبايت)

ملخص

الوصف
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:

  •    Stable
  • Radioactive:
    • natural (industrially extractable)
    •    natural, marginally
    •    synthetic (purely)
209Bi is practically stable, so it is made orange, not red.
التاريخ
المصدر عمل شخصي
المؤلف Incnis Mrsi
إصدارات أخرى
SVG منشأ الملف
InfoField
 
الشيفرة المصدرية لهذا الرسم المتجه صالحة.
 
هذا الرسم المتجهي أُنشئ بواسطة unknown tool
 
 This file uses embedded text that can be easily translated using a text editor.

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 head يسمح نسخ وتوزيع و/أو تعديل هذه الوثيقة تحت شروط رخصة جنو للوثائق الحرة، الإصدار 1.2 أو أي إصدار لاحق تنشره مؤسسة البرمجيات الحرة؛ دون أقسام ثابتة ودون نصوص أغلفة أمامية ودون نصوص أغلفة خلفية. نسخة من الرخصة تم تضمينها في القسم المسمى GNU Free Documentation License.
w:ar:مشاع إبداعي
نسب العمل إلى مُؤَلِّفه الإلزام بترخيص المُشتقات بالمثل
هذا الملف مرخص تحت المشاع المبدع مؤلفه 3.0 بلا رجعة, 2.5 عام, 2.0 عام و 1.0 عام الترخيص.
يحقُّ لك:
  • مشاركة العمل – نسخ العمل وتوزيعه وبثُّه
  • إعادة إنتاج العمل – تعديل العمل
حسب الشروط التالية:
  • نسب العمل إلى مُؤَلِّفه – يلزم نسب العمل إلى مُؤَلِّفه بشكل مناسب وتوفير رابط للرخصة وتحديد ما إذا أجريت تغييرات. بالإمكان القيام بذلك بأية طريقة معقولة، ولكن ليس بأية طريقة تشير إلى أن المرخِّص يوافقك على الاستعمال.
  • الإلزام بترخيص المُشتقات بالمثل – إذا أعدت إنتاج المواد أو غيرت فيها، فيلزم أن تنشر مساهماتك المُشتقَّة عن الأصل تحت ترخيص الأصل نفسه أو تحت ترخيص مُتوافِقٍ معه.
لك أن تختار الرخصة التي تناسبك.

الشروحات

أضف شرحاً من سطر واحد لما يُمثِّله هذا الملف
Modern Periodic Table

العناصر المصورة في هذا الملف

يُصوِّر

٢٢ أكتوبر 2012

تاريخ الملف

اضغط على زمن/تاريخ لرؤية الملف كما بدا في هذا الزمن.

زمن/تاريخصورة مصغرةالأبعادمستخدمتعليق
حالي20:54، 9 أكتوبر 2020تصغير للنسخة بتاريخ 20:54، 9 أكتوبر 20201٬176 × 800 (20 كيلوبايت)commonswiki>BurzuchiusReverted to version as of 13:09, 11 November 2018 (UTC)

ال1 ملف التالي مكررات لهذا الملف (المزيد من التفاصيل):

الصفحة التالية تستخدم هذا الملف:

بيانات وصفية