2.8 البرامج العلمية والتعليمية
معظم البرمجيات التي سنتحدث عنها في هذا الفصل هي برمجيات
تعليمية سهلة. نظام غنو/لينكس يعتبر النظام المفضل للأبحاث
العلمية، ذكرنا بعض البرمجيات لهذا الغرض ولكن هناك الكثير لم يذكر،
فبرامج البحث العلمي في مجالات متخصصة موجهة لمختبرات البحث العلمي
في الغالب تكون ذات أهداف وطبيعة خاصة تفتقر للواجهة السهلة
يمكنك أن تلقي نظرة على وثيقة استخدامات غنو/لينكس في الذكاء الصناعي
'GNU/Linux AI & Alife HOWTO'
لمؤلفها John Eikenberry على سبيل المثال.
للحصول على قائمة بالتطبيقات العلمية زر موقع
http://sal.kachinatech.com.
اقتباسات هذا الفصل:
- { (...) إِنَّمَا يَخْشَى اللَّهَ مِنْ عِبَادِهِ الْعُلَمَاءُ، إِنَّ اللَّهَ عَزِيزٌ غَفُورٌ}
--(سورة فاطر 28).
- "عقلك يفهم ما علموك إياه ولكن قلبك يفهم الحقيقة."
-- برنامج 'fortune-mod'
- "كانت روح التعاون العلمي قوية لدرجة أن العلماء يتعاونون حتى عندما تكون دولهم في حالة حرب"
-- ريتشارد ستالمان
- "حب الاستطلاع يشعر به كل الأطفال. في الغرفة الصفية للصف الأول
يحس به الجميع، بينما في الصف الثاني عشر (الثانوية العامة) لا أحد
يشعر به أو يعرف عنه. شيء ما (خطأ) يحدث بينهما.(...)"
-- Carl Sagan, The Burden Of Skepticism, The Skeptical Inquirer, Vol. 12, Fall 87
- "التنجيم يبدو مثل العلم، ويبدو مثل الفلك، وبه مصطلحات فنية وطلاسم
(...) ويستخدم مصطلحات جاءت من العلم ومن ما وراء الطبيعة metaphysics (الرجم بالغيب)
وأخرى جاءت من حقل عائل ولكن هذا لا يعني شيئاً على الإطلاق."
-- Astronomer Richard Berendzen رئيس الجامعة الأمريكية.
محتويات هذا الفصل:
2.8.1 البرامج التعليمية.
هناك القليل جداً من البرمجيات التعليمية العربية-الإسلامية لنظام غنو/لينكس
بل وحتى هناك استخدام قليل لتلك الموجودة منها وذلك لا لسبب
يتصل بطبيعة النظام في دعم اللغة (بل إنه يوفر مزايا تناسب العربية غير موجودة
في أنظمة أخرى)
ربما تتعلق بجشع ناشري البرمجيات العربية فهم أحياناً يرخصون أشياء
لا يملكونها (مثلاً كتب السيرة أو التفاسير التي تعود لعدة قرون ماضية) وفق
رخص مملوكة (تذكر أن الملكية الفكرية لا تكون على الوسيط الذي وضعت فيه
الفكرة بل الفكرة نفسها) فتبذل جهدها لجعل النص
ملازماً للبرمجية (بتشفيره مثلاً) فلا يفصل عنها لتملك الإثنين معاً،
حتى في المشاريع البرمجية الخيرية التابعة
لمؤسسات لا تهدف للربح وذلك بأن تكلف (ربما بسبب الجهل أو نصائح
الخبرات المقنعة) شركة للقيام بالأمور الفنية فتعمل الأخيرة على إخضاع البرمجية إلى رخصة غير
حرة كجزء من إدارتها له انظر الرخصة في أسفل مشروع تفاسير
www.altafsir.com
التي تمنعك من نسخ copy ولصق paste النص القرآني أو أحد التفاسيره.
ولكن طبيعة الرخصة الحرة في غنو/لينكس
(التي يدعي ناشري البرمجيات المملوكة
أنها لا تناسب طموحاتهم الربحية) ليست السبب الرئيسي حيث أن أكثر
التوزيعات تشبثاً بالحرية مثل ديبيان تدعم تشغيل برمجيات غير حرة
(انظر ملحق عهد ديبيان)
بل إنها تتعلق بجدية البرمجيات العربية وتنافسيتها
حيث إن أغلب المصاحف الإلكترونية تكون عبارة عن تصوير
للمصحف (عبر scanner) في حين يكون التفسير مجرد نص أصم
غير مرقوم أو مترابط hybertext دون أي بحث ذكي. وتكون
التطبيقات العربية مجرد ترجمة أو فلاشات! فحتى الآن كل المدققات الإملائية
العربية المملوكة لا تستند إلى الصرف بل إلى القواميس.
يوفر مشروع عرب-آيز نواة عمل لتطوير برمجيات حرة عالية الجودة تناسبنا
مثل برنامج القرآن الكريم وهو بواجهة غنوم أو KDE أو حتى جافا
(البرنامج لا يزال دون عرض للتفسير).

Keduca

Kalzium
هناك الكثير من برمجيات التعليم بمساعدة الحاسوب CAS لنظام غنو/لينكس،
أهم مثال عليها هو حزمة KDE التعليمية
KDE edutainment (ربما تسمى في توزيعتك 'kde-edu' أو 'kdeedu')
وهي تأتي في أغلب التوزيعات، بها برمجيات تناسب أعمار مختلفة مثل:
- flashkard - برنامج يستعمله المعلم لعمل بطاقات الأسئلة (اختيار من متعدد)
التي تُشغل للطالب لاحقاً عبر برنامج 'keduca' الذي يعرض بطاقة السؤال
لتختفي إذا أجاب إجابة صحيحة وإلا تكرر حتى تحفر في ذاكرته.
- ktouch - تعليم الطباعة
- kvoctrain - إثراء المفردات في اللغة الإنجليزية وغيرها
- khangman - عبة شنق الرجل التقليدية، عليك تخمين حروف الكلمة.
- kmessedword - الكلمة الضائعة، شبكة من الحروف المبعثرة
تستخدم لتعلم كلمات جديدة.
- klettres - تعليم الحروف الهجائية لفظاً وكتابة
باللغات الدنماركية والألمانية والفرنسية، وقراءة مقاطع بسيطة.
- kpercentage - حساب النسب المئوية.
- kgeo - الهندسة التفاعلية Interactive geometry يستخدمه
الطالب ليرى كيف أن طول الخط المستقيم الواصل بين ...إلخ.
- kmplot - رسم الاقترانات الرياضية بيانياً.
- kstars - برنامج يعرض القبة السماوية: مواقع النجوم والأبراج
والعناقيد النجمية والمجرات والكواكب، كما نراها
من على أي نقطة على سطح الأرض في وقت وتاريخ معين. تستطيع
النقر بالزر الأيمن على أي شيء لتعرف معلومات تفصيلية عنه.
- kalzium -
الجدول الدوري للعناصر الكيميائية PSE حيث يعرض حتى 118 عنصراً
المكتشفة قبل عام 2003، تستطيع تحديد سنوات سابقة (لعرض العناصر المكتشفة حينها)
انقر على أي عنصر لمعرفة تفاصيل عنه. يوفر البرنامج امتحان
اختيار من متعدد لمسوى الثانوية (الصف الحادي أو الثاني عشر)
توفر عرب-آيز برنامج "بياني" لرسم الاقترانات الرياضية بأسمائها
العربية (جاس و جتاس وظاس ...) بيانياً، هذا البرنامج يمكن استخدامه كأداة
تعليمية مفيدة.
من جهة أخرى غنوم له مجموعة من البرمجيات المشابعة ولكن لأنها
ليس جزءاً رسمياً من بيئة غنوم لهذا لن تجدها في أغلب التوزيعات
(طبعاً تجدها في ديبيان)
إليك قائمة صغيرة لبعض تطبيقات GTK+
- GCompris - مجموعة من الألعاب التعليمية للأطفال الصغار
بواجهة طفولية بديهية، بعضها يعلم استخدام الفأرة أو الكتابة على لوحة المفاتيح
أو القيام بالعملية الحسابية في صورة ألعاب، أو قراءة الساعة
أو التعرف على الحروف عند سماع أسمائهاها وبعض الألعاب الصغيرها.
هذه البرمجية جزء من حزمة الإصبع الخامس في قدم غنوم The Fifth Toe of GNOME.
- mathwar - تعليم الحساب عبر عرض البطاقات.
- gperiodic - الجدول الدوري للعناصر بواجهة GTK2+، إنه يحتوي على العناصر
المعروفة وعددها 118 عنصراً يوفر معلومات عنها عند النقر عليها.
- Dr. Genius (أي drgenius) - برمجية هندسة تفاعلية Interactive geometry
تدعم Guile لكتابة نصوص برمجية، يمكنه تصدير الصور بهيئتي
LaTeX و EPS. (تجد الأمثلة في /usr/share/drgenius/examples)
- Dr. Geo (drgeo) - شبيه بالسابق.
برمجيات الهندسة التفاعلية Interactive geometry يمكن أن تكون أكثر
تعقيداً ليستخدمها المعلم لعمل نماذج modules، منها geomview (انظر www.geomview.org)
البرنامج يعرض الكائنات في الفضاء اللإقليدي أو hyperbolic space أو spherical space
تتحرك فيه وتتفاعل مع المستخدم أو يتحكم بها برنامج خارجي.
يدعم الإضاءة والظلال وتحديد مادة الأجسام عبر OpenGL.
يوفر كل من غنوم و KDE واجهة للوصول إلى خادمات القواميس والمعاجم العامة
عبر الإنترنت (هناك الكثير منها للعموم ترعاها The DICT Development Group)
أو تلك الخاصة على شبكة محلية أو حتى على جهازك.
إما أن تستخدم برمجية 'kdict' من KDE أو 'gnome-dictionary' (أو 'gdict') الذي هو جزء
من أدوات عنوم 'gnome-utils'. أو تستخدم بريمجاً applet لإضافته انقر بالزر الأيسر
إلى جانب الساعة (أو حيث تريد وضعه) ثم اختر بريمج القاموس/المعجم Dictionary applet.
حتى يعمل أي منها عليك إعداده ليستخدم الخادم المطلوب،
إذا لم تكن تملك اتصال إنترنت دائم يمكنك تركيب خادم على جهازك
(اسم الحزمة 'dictd') ثم إعداد البرامج الواجهة على العنوان localhost (أو 127.0.0.1)
ثم تركب حزمة تحتوي القاموس، يأتي ديبيان بالكثير من
القواميس المختلفة للغات مختلفة من بينها المعاجم الإنجليزية-الإنجليزية التالية:
- 'dict-gcide' - معجم غنو العالمي الجامع للغة الإنجليزية
GNU Collaborative International Dictionary of English
(وهو يحتوي المعاني قبل عدة عقود ربما لعام 1913)
- 'dict-wn' - قاموس إنجليزي بتعاريف حديثة إضافية
(ينصح بتركيبه إلى جانب gcide)
- 'dict-jargon' - معجم المصطلحات الفنية والطلاسم من The On-Line Hacker Jargon File.
- 'dict-foldoc' - معجم للمصطلحات الحاسوبية من Free On Line Dictionary of Computing.
- 'dict-vera' - الاختصارات الحاسوبية من غنو
توفر عرب-آيز مشروعي قاموس وكلمات
التي يمكن تحويلها إلى صيغة dict واستعمالها كما القواميس الأخرى
كما توفر خادم عام على الإنترنت يمكن توجيه واجهات dict إليه إلى
جانب واجهة ويب التي يمكن الوصول لها عبر متصفحات الويب.
2.8.2 الآلات الحاسبة.
هناك الكثير من الآلات الحاسبة لنظام غنو/لينكس مثل kcalc (جزء من KDE)
الكثير منها علمية. حتى تلك العلمية مثل
galculator (انظر http://galculator.sf.net) تكون ذات دقة محدودة
لحسابات الفاصلة العائمة float point calculations (
ربما تصل إلى 16 منزلة للجزء الكسري وثلاثة للقوة)
حيث تمثل الأرقام على صورة '0.3001x1030' على سبيل المثال.
هناك العديد من المنازل (الأقل قيمة) اسقطت من الجهة اليمنى
قد تتراكم لتؤدي إلى خطأ كبير.
بعض الآلات الحاسبة تحاكي HP-28/48 مثل طور calc في XEmacs أو البرنامج
البشع المنظر xcalc (ربما يحتاج لتمرير معامل ليكون كذلك).
إذا أردت آلة حاسبة غير محددة الدقة، مثلاً في دراسة نظرية الأعداد لحساب مضروب 100
(حاصل ضرب الأرقام من 1 إلى 100)
أو حساب Pi مقرباً إلى 3000 منزلة.
من بينها gcalctool في غنوم.
أهمها GNU BC وهو أداة نصية غير محددة الدقة اكتب 'bc'
للحصول على سطر أوامر تفاعلي،جرب أن تكتب 3 ^ 100 - 1
لتحصل على تلك القيمة دون تقريب في حين أن حاسبات الفاصلة العائمة
العادية ستجد لك جواب تقريبي (هذا إن استطاعت)
من عدة منازل مضروبة في 10 قوة عدد.
يمكن للبرنامج تقريب الأعداد غير النسبية لأي دقة تطلبها منه مثلاً
جرب 'sqrt(2.0000000000)' ثم
'sqrt(2.00000000000000000000)' كما يمكنك تحديد عدد
المنازل بالأمر 'scale=20' (لتكون 20 في المثال)
يمكنك استعمال الفاصلة المنقوطة ';' لتفصل بين الأوامر عند وضعها على سطر واحد
جرب المثال التالي: 'scale=100; sqrt(2)'.
إذا شغلت البرنامج بالأمر bc -l فإن هذا سيفعّل الاقترانات المكتبية
وهي: جيب الزاوية 's' وجيب التمام 'c' والاقتران المعاكس لظل الزاوية 'a'
واللوغاريتم الطبيعي 'l' والاقتران الأسي 'e'
وفي كلاهما الأساس هو e (عدد Euler أو العدد النيبيري)
واقتران Bessel النوني 'j(N,X)'.
مثلاً لتجد Pi مقربة إلى 200 منزلة اكتب
'scale=200; a(1)*4' انظر كتيب bc.
كما أن GNU BC لغة رقمة تشبه سي يمكن استعمالها في برمجة النصوص
numeric scripting language.
برنامج GNU Desk Calculator (الأمر هو dc) هو آلة غير محددة الدقة
بصيغة أكثر تعقيداً، لأنه يستعمل الصيغة المعكوسة RPN
(أي Reverse Polish Notation) التي تشبه صيغة العمليات اللاحقة postfix syntax،
حيث تدفع الأرقام (والسلال النصية) إلى مكدس
وعند إدخال عملية ثنائية تسحب آخر 2 وتقوم بالعملية ثم تعيد
الناتج ،مثلاً 10 20 + p تطبع 30
وبهذه الطريقة أنت لا تحتاج أقواس مثلاً (2+5)*3
تصبح 2 5 + 3 * p
ويمكنه القيام بعمل جبار مثلاً
لتحليل 1000 لعوامله الأولية اكتب في سطر الأوامر
(يمكنك استبدال 1000 بأي رقم آخر مهما كان ضخماً)
bash$ dc
1000[p]s2[lip/dli%0=1dvsr]s12sid2%0=13sidvsr[dli%0=1lrli2+dsi!>.]ds.xd1<2
طبعاً ليست بحاجة لعمل ذلك تحليل الأعداد فهناك برنامج
factor ولكنه مجرد مثال على قوة DC.
وبامكانك استعمال في النصوص البرمجية انظر فصل 6.2 البرمجة بلغة سطر الأوامر bash.
هناك حاسبات RPN غير DC مثل rpncalc (سطر الأوامر)
أو grpn (بواجهة رسومية GTK+) كما أن بعض الآلات الحاسبة لها طور RPN.
2.8.3 برمجيات التحليل العددي والنظم الجبرية.
تهدف برمجيات التحليل العددي لحل المسائل الرياضية التي عادة ما تكون على المصفوفات
(مثل الجبر الخطي والمعادلات التفاضلية)
بجواب عددي تقريبي بنسبة خطأ مقبولة، في حين يفترض في برمجيات
النظم الجبرية CAS توفير حل جبري رمزي صحيح للحسابات والتبسيط وحل المعادلات.
تلميح
الجبر Algebra كلمة عربية الأصل تعني الربط وإزالة الكسر
استخدمت لأول مرة بالمعنى المعروف الآن بواسطة العالم المسلم (غير العربي) محمد الخوارزمي
(يكتب باللاتينية Algawarizmi أحياناً) في كتابه الجبر والمقابة (أي المساواة)
وهو فن الحصول على القيم المجهولة من المعلومة إذا كان بينها
صلة تستوجب ذلك. كلمتي الخوارزمية Algorithm ولوغاريتمات logarithms
سميت على اسمه.
أشهر برنامج تحليل عددي ونظام جبري هو Matlab من شركة Math Works Inc.
وهو يعمل في غنو/لينكس (انظر www.mathworks.com) وهو برنامج له واجهة رسومية
ولكنه ليس برمجية حرة.
البرنامج المعروف Matematica أيضاً يعمل على نظام لينكس لكنه هو الآخر ليس برمجية حرة.
برنامج غنو أوكتيف GNU Octave هو برمجية تحليل عددي متوافق إلى حد كبير مع صيغة Matlab.
إنه لغة برمجة عليا (أي أنه يستعمل عبر أوامر)، صمم خصيصاً من
أجل الحسابات العددية ويأتي مع أغلب التوزيعات.
إلى جانب مكتبته الواسعة هناك مشروع بوتقة أوكتيف
octave-forge (انظر http://octave.sf.net)
يحتوي على أكثر من 500 اقتران بلغة غنو أوكتيف في مختلف الحقول مثل :
audio و comm و control و geometry و ident و image و io و linear-algebra و
optim و path و plot و set و signal و sparse و specfun و special-matrix و splines و
statistics و strings و struct و symbolic و time.
يستخدم غنو أوكتيف GNU Octave من أجل الرسم البياني GNU Plot بشكل تلقائي
ولكن يمكنه أن يستعمل برامج أخرى مثل 'kmatplot' أو 'plplot' (انظر www.plplot.org).
تهدف glpk أي عدة البرمجة الخطية من غنو GNU Linear Programming Kit
لحل المسائل العملاقة في البرمجة الخطية linear programming (للاختصار LP) و
mixed integer programming (للاختصار MIP) وغيرها.
تدعم لغة GNU MathProg (المشتقة من AMPL)
والهيئات القياسية مثل MPS و LP.
هناك برنامج آخر اسمه lp-solve يقوم بنفس الغرض ويدعم هيئة MPS.

Euler interface

Euler 3D plotting
برنامج Euler الصغير الخفيف التفاعلي بالواجهة الرسومية (عبر GTK+)
يقوم بالحسابات على الأعداد الحقيقية والتخيلية والمصفوفات والفترات.
يرسم الاقترانات في بعدين أو ثلاثة ويأتي مع مساعدة help وأمثلة للعرض demo.
لغة البرمجة التفسيرية Yorick (القريبة من سي) للمحاكاة العلمة
والحسابات على ملفات المدخلات الكبيرة
كما يمكنه إنتاج رسوم علمية. كما يمكن استخدامه تفاعلياً.
منظومة Yacas الجبرية (والتي يعني اسمها منظومة جبرية حاسوبية أخرى
Yet Another Computer Algebra System) منظومة صغيرة جداً (لا يصل حجم حزمة ديبيان
الخاصة بها إلى واحد ميغابايت دون الوثائق)
كما أنه لغة جبرية عالية المروة (قريبة من Mathematica ولغة سي)
يمكن استعماله لكتابة نصوص برمجية scripts كما
تستطيع استعماله عبر سطر الأوامر (الرسومات عبر OpenGL)
أو تستخدم واجهة رسومية منفصلة له تسمى proteusworksheet
(تلك الواجهة الخفيفة عبر FLTK أي Fast Light Tool Kit)
تجدها على حزمة صغيرة (دون 200 كيلوبايت) تسمى 'yacas-proteus'.
يوفر عدة طرق للمساعدة مها ضغط TAB (مرة أو إثنتين)
للمتابعة التلقائية لما تكتبه أنت (كما BASH)، اكتب
'Example();' (حرف E كبير، نعم إنها حساسة لحالة الحروف)
للحصول على مثال عشوائي، اكتب '??'
للحصول على فهرس المساعدة، أو اكتب علامة واحدة متبوعة بالموضوع
الذي تريد مساعدة عنه (مثلاً '?Sin').
تستطيع تعريف الرموز (المتغيّرات أو الاقترانات) بعلامة ':='
أي نقطتان رأسيّتان ثم يساوي (مثلاً 'f(x):=x^2;').
اكتب أي تعبير رياضي وستحصل على قيمته الدقيقة
(مثلاً 'Sin(Pi/3);' تعطي 'Sqrt(3)/2')
حتى لو كانت أعقد من ذلك (مثلاً 'Sin(ArcSin(a))+Tan(ArcTan(b));' تعطي 'a+b')
إذا لم يكن الجواب بسيط بما فيه الكفاية (مثلاً '(x+y)^3-(x-y)^3')
تستطيع استخدام 'Simplify' وبدلاً من إعادة كتابة التعبير استعمل
% التي تحمل آخر جواب، لجعله يبدو أجمل استعمل
'PrettyForm(%);'.
يستطيع Yacas حل المعادلات لإيجاد قيمة متغيّر بما يشبه
'Solve(x^2+x == 0, x);'
(التي تحل x2+x=0 لإيجاد قيمة x).
كما يستطيع إيجاد النهايات
(مثل 'Limit(x,0) Sin(x)/x;' التي تجد نهاية sin(x)/x عدما تقترب x من الصفر)،
والمشتقة الأولى باستعمال 'D(x) f(x);' والمشتقات العليا
(مثلاً 'D(x,3) f(x);' للمشتقة الثالثة ل f بالنسبة ل x)
والتكامل المحدود (مثل 'Integrate(x,a,b) f(x);' لحساب التكامل على x ل f من a إلى b)
أو حتى التكامل غير المحدود (مثل 'Integrate(x) Sin(x);').
هناك الكثير من النظم الجبرية لنظام غنو/لينكس منها:
- Axiom - منظومة جبرية عامة الأغراض بدأت بالتطور منذ 1973،
وهي أداة مفيدة في الأبحاث وتطوير الخوارزميات الرياضية
لغة Axiom البرمجية تعرف شجرة هرمية من أنواع البيانات
الصحيحة رياضياً ولها مصنّف compiler مبني ضمنياً.
لقد كان برمجية تجارية مملوكة لعقود لكنه الآن برمجية حرة (يأتي مع Debian).
- الثغرة GAP (اختصاراً للمجموعات والخورزميات والبرمجة
Groups, Algorithms and Programming، الموقع: www.gap-system.org)
- منظومة جبرية CAS (بلغة تشبه Pascal) للحسابات الجبرية المتقطعة
(أي على الأعداد الطبيعية والمجموعات المعدودة خلافاً للمجموعات اللامعدودة المتصلة مثل الحقيقية)
مع التركيز على نظرية المجموعات.
- Maxima - منظومة جبرية بلغة Common Lisp بنيت على
المشروع الأصلي Macsyma في معهد MIT في سبعينات القرن العشرين.
تعمل عبر سطر الأوامر (مع أنها تعتمد على Tcl/Tk Wish لسبب ما)،
ولها واجهة مستقلة كتبت على Tcl/Tk اسمها 'xmaxima'
كما يمكن استعمالها عبر طور داخل Emacs.
برنامج Maxima هي برنامج حسابات رمزية بالكامل يستطيع القيام
بالعمليات الرمزية على كثيرات الحدود
polynomials والمصفوفات matrices والاقترانات النسبية rational
functions والتكامل integration و Todd-coxeter والرسم graphing و bigfloats.
- PARI/GP ('pari-gp') - منظومة جبرية طورت
بجهود متطوعين من جامعتي University Bordeaux I و University Paris XI في فرنسا.
- MuPAD (انظر 'www.mupad.de') -
منظومة أخرى بواجهة رسومية صيغته تشبه Mable.
- gTybalt
- JACAL
برنامج TeXmacs (زر موقع www.texmacs.org) هو محرر نصوص رياضي بواجهة رسومية
مبنية على TeX و Emacs يمكن أن يكون واجهة للعديد من النظم الجبرية منها
Axiom و Maxima و Octave و Pari-gp و Yacas.
2.8.4 تمثيل البيانات العلمية.
أداة GNU Plot لرسم الاقترانات الرياضية (اكتب 'gnuplot' في سطر الأوامر)،
يعطيك البرنامج سطر أوامر تفاعلي، اكتب help للمساعدة، لرسم اقتران جيب الزاوية
'plot sin(x)'، لتحديد فترة المتغيّر إكس اكتب ما يشبه
'plot [x=-10:10] sin(x)'، تستطيع رسم أكثر من اقتران تفصل بينها
فاصلة ',' مثلاً 'plot sin(x),x'. يمكن استعماله
لرسم اقترانات ثلاثية الأبعاد في صورة 'z=f(x,y)',
وذلك بكتابة 'splot f(x,y)' حيث f هو اقتران بدلالة x و y
مثلاً اكتب 'splot 1/exp(x+y)'.
لدينا برنامج 'kmplot' الذي هو جزء من حزمة KDE التعليمية،
لكن هناك ما هو أكثر تقدماً منه ويشبه GNU Plot في مزاياه
مثل 'kmatplot' (باستخدام مكتبة QT للواجهات) الذي يوفر
عدة أنواع من الرسومات الثنائية والثلاثية الأبعاد.
إنه أسهل بكثير للمستخدمين الجدد من GNU Plot كما أن واجهته
أجمل ويتحكم بها بالفأرة كما يمكن استدعاؤه من داخل
Octave عبر وظائف تشبه القياسية لكنها تبدأ بحرف K
مثل 'kplot' و 'kmesh'.
هناك الكثير من البرامج الرسم البياني الأخرى الأقل شهرة مثل
'plotmtv' (ثنائي وثلاثي الأبعاد), و GNU 'plotutils' (ثنائي الأبعاد) و 'geg' (بواجهة GTK+ للرسم الثنائي البسيط).
برنامج KFract يرسم معادلات الشفق والمعادلات الكسورية
Chaos/Fractals، يمكن لبرنامج GIMP كنوع من الفن عبر أحد الفلاتر.
هناك برمجيات تمثل بيانات أكثر تعقيداً إلى مشاهد
مثل 'mayavi' (بواجهة GTK+ جميلة)
الذي ينتج ملفات: PostScript وصور PPM/BMP/TIFF/JPEG/PNG و
ملفات Open Inventor و VRML و RenderMan RIB.
برنامج OpenDX (أي IBM Visualization Data Explorer)
هو الآخر (اسم الحزمة هو 'dx').
إذا لم يكن هذا التعقيد يكفيك جرب GRI (زر موقع http://gri.sf.net)
الذي هو لغة للرسومات العلمية والرسوم التوضيحية
بأسلوب شبيه بلغة TeX.
2.8.5 برمجيات التحليل الإحصائي.
لبرمجيات الإحصاء البسيطة جرب برمجيات الجداول الممتدة مثل
Gnumeric (ارجع لفصل ' 2.3 برامج المكتب' حيث هناك صورة له).
أشهر برمجية إحصائية مملوكة هي SPSS (أي
الحزمة الإحصائية للعلوم الإجتماعية Statistical Package of the Social Sciences)،
يوجد بديل حر هو PSPP (مع أنه لا يزال في بدايات تطويره إلا أنه يعمل).
PSPP أداة إحصائية قوية لتحليل بيانات العينة.
أفضل برمجية إحصائية حرة هي GNU R وهي نسخة من نظام S الحائز على الجوائز
الذي طوّر في مختبرات بيل Bell Laboratories.
يدعم GNU R عدة هيئات للملفات منها Minitab و S و SAS و SPSS و Stata.
يوفر العديد من التقنيات الإحصائية والرسومية
مثل linear and nonlinear modelling و statistical tests و time series analysis
و classification و clustering وغيرها.
يمكن استعماله داخل Emacs عبر طور يسمى ess أو عبر واجهة رسومية بطريقة Tcl/Tk
أو عبر واجهة رسومية بطريقة غنوم (اسم الحزمة 'r-gnome') وغيرها.
2.8.6 البرمجيات ذات الصلة بالكيمياء والأحياء.
ذكرنا بعض البرمجيات التعليمية في الكيمياء مثل الجدول الدوري للعناصر
(كبرنامجي 'kalzium' و 'gperiodic')
وربما حافظة الشاشة 'molecule' من بين حافظات GL للشاشة.
في هذا البند سنقفز إلى أعماق الكيمياء عبر برمجيات تفيد الأبحاث.
محررات البنية الكيميائية Chemical structure editors هي برامج
لرسم المركبات والجزيئات (كما أدوات الرسم المتجهي العامة)
بوضع الذرات وربطها بروابط ثم تخزين النتيجة في ملف.
من أمثل ذلك برنامج
Chemtool الذي هو تطبيق ثنائي الأبعاد بواجهة GTK+ جميلة،
يمكنه تصدير البنية إلى عدد قليل من الهيئات الخاصة بالكيمياء هي
Brookhaven Protein Databank (PDB) و Mol file format من
Molecular Design Limited، إلى جانب الصيغ العامة للرسومات المتجهية
مثل SVG و XFig و PiCTeX أو حتى الرسومات النقطية أو ملفات الطباعة Postscript.
إذا كانت برمجية معينة لا تدعم الصيغة المتوفرة لديك
هناك أدوات لتحويل ومعالجتها منها 'openbabel' الذي يتعامل مع
Tripos' Alchemy و ChemDraw و CML و GAMESS و Gaussian و HyperChem و
MDL Isis و Molfile و MOPAC و MPQC و PDB و SMILES وصيغة
XMol XYZ من مركز حاسوب Minnesota العملاق (اختصاراًMSC).
برنامج 'readseq' شبيه بذلك حيث يقرأ ويكتب سلاسل الحمض النووي
nucleic أو سلاسل البروتينيات protein (علم الأحياء)
بعدة هيئات كما يعرف نوع المدخلات تلقائياً.
هناك بعض البرمجيات تخرج render هذه الملفات إلى صورة ثلاثية الأبعاد أو
صور فيديو متحركة لأغراض التعليم أو توليد صور عالية الجودة لنشر الأوراق العلمية.
منها برنامج 'rasmol' (انظر 'http://klaatu.oit.umass.edu/microbio/rasmol/')
عدة أنواع للملفات منها PDB و Alchemy وهيئات Sybyl Mol2 و Mol من MDL و XYZ،
يعمل على الجزيئات البسيطة أو البروتينات المعقدة والأحماض النووية.
بعض البرمجيات تركز على هيئة واحدة مثل
'garlic' الذي يمثل المركبات الحيوية
وبروتينات الأغشية بهيئة PDB (الإصدار 2.1)، وبرنامج
'xmakemol-gl' الذي يعمل بهيئة XYZ.
برنامج 'xbs' يولد نماذج الكرة والعصي ثلاثية الأبعاد
على شكل صور أو صور متحركة.
بعض التطبيقات تستخدم لتحرير والتمثيل معاً مثل
'viewmol' الذي يولد صور فيديو بهيئة MPEG.
أنا لا أعلم شيئاً عن ChemDraw إلا أن 'xdrawchem' هو بديله الحر
بواجهة QT جميلة.
بعض البرمجيات تعطيك خصائص الجزيئات الكيميائية (إذا علم تركيبها)
مثل برنامج The Massively Parallel Quantum Chemistry
(اسم الحزمة 'mpqc') الذي يستخدم طريقة ab-initio.
كل هذه البرمجيات مفيدة لدراسة الأحياء أيضاً، ولكن هناك برمجية
متخصص اسمه Basic Local Alignment Search Tool (اسم الحزمة 'blast2') من NCBI
الذي به قاعدة بيانات غنية للنيوكليتيدات nucleotide أو السلاسل البرتينية،
منها الأداة 'blastall' يبحث عن ما يطابق سلسلة معطاه داخل هذه القاعدة
ويقدم ملخص.
2.8.7 ريادة الفضاء والخرائط.
إلى جانب Kstars لدينا الكثير من خرائط النجوم
مثل 'starplot' (بواجهة GTK+) و 'spacechart' (عارض لخرائط النجوم وملاح فيها).
بعض برمجيات الفلك التعليمية الأخرى تسمح للمستخدم القيام
برحلة ثلاثية الأبعاد داخل النظام الشمسي
ليزور الكواكب والأقمار الأساسية منها الكون المفتوح
OpenUniverse (تختصر OU زر موقع www.openuniverse.org
و 'ssystem'.
يعرض برنامج Kworldclock (جزء من KDE) الوقت لأهم المدن العالمية
على خارطة للعالم مضاءة تبعاً للوقت هناك. يعرض
SunClock (من http://frmas.free.fr/li_1.htm)
ساعة جميلة تعرض الوقت والمعلومات الجغرافية بطريقة مشابهة.
في غنوم هناك 'gworldclock' لنفس الغاية.
برنامجي 'kmoon' (جزء من KDE) و 'glunarclock' (يضاف إلى غنوم)
يعرض الساعة القمرية التي تعرض الطور الحالي للقمر
طبعاً بالإضافة إلى طور calender في Emacs.
برنامج XPlanet (زر http://xplanet.sf.net)
يخرج صورة للأرض على النافذة الجذر في إكس (أي خلفية سطح المكتب)
وفق عدة نظم اسقاط projection systems، يمكنه رسم كل الكواكب الرئيسية
وأغلب الأقمار الصناعية.
هناك برنامج تحديد مواقع الأقمار الصناعية اسمه Seesat5 وفق
خوارزمية NORAD sgp4، يوفر فلاتر ليشمل تقريره فقط تلك التي ربما يمكن
مشاهدتها فعلياً.
برنامج نظام الملاحة GpsDrive يعرض (أو يخبرك قولاً إن كان "festival" موجوداً)
موقعك الحالي الذي يحسبه من مدخلات عبر وصلة
NMEA capable لجهاز مستقبل GPS، وذلك على خارطة يمكن تقريبها وتصغيرها
يتم انتقاؤها تلقائياً تبعاً للموقع والمقياس المفضل.
يعرض برنامج XTide (انظر www.flaterco.com/xtide/)
التوقع الحالي للمد البحري
(باستخدام خوارزمية دقيقة من المركز الوطني الأمريكي لخدمات المحيط National Ocean Service)
بعدة طرق: صور توضيحية أو لائحة نصية أو تقويم
تولد مسبقاً أو على شكل ساعة على سطح المكتب.
من بين أهم نظم المعلومات الجغرافية Geographic Information System (تختصر GIS)
نظام GRASS أي النظام المساند لتحليل المصادر الجغرافية
Geographic Resources Analysis Support System
يستخدم من أجل إدارة البيانات ومعالجة الصور وإنتاج الرسوم و
عمل نماذج spatial modeling والتمثيل البياني لأنواع المختلفة من البيانات.
كتبه في الأصل مختبر أبحاث هندسية بناء الجيش الأمريكي
U.S. Army Construction Engineering Research Laboratories (تختصر USA-CERL)
واستعملت في عدة دوائر أكاديمية وتجارية وحكومية
بما فيها وكالة الفضاء الأمريكية NASA و NOAA و USDA و
خدمة الحدائق الوطنية و the National Park Service و
ومكتب التعداد السكاني الأمريكي the U.S. Census Bureau و USGS.
لرسم خرائط مخصصة نستعمل Drawmap مثل الخرائط الطبوغرافية
وخرائط الإغاثة (مع أو دون الطرق والجداول وأسماء الأماكن وغيرها) يأخذ
المدخلات على شكل ملفات بهيئة USGS و DEM (أي the Digital Elevation Model)
و DLG (أي Digital Line Graph) وهيئات
GNIS (أي Geographic Names Information System) و SDTS و NAD-83 و WGS-84 و GTOPO30.
ترسم الخرائط بإسقاط النقاط على مستوى الخريطة بواسطة اقتران،
يقدم برنامج 'proj' (زر موقع www.remotesensing.org/proj) أكثر من 100 مسقط
كل واحد بإتجاهين (أمامي وعكس) لتحويل البيانات الجغرافية
إلى ديكارتية. يحتوي برنامج أدوات The Generic Mapping Tools
(يختصر GMT التي تعني في سياق آخر توقيت غرينتش Greenwich Mean Time)
مجموعة من 60 أداة لمعالجة نقاط
(x,y) و (x,y,z)
(فلترةً وإسقاطاً ...إلخ)
لإنتاج ملف EPS يمكن طباعته، يدعم أكثر من 25 مسقط للخرائط
ويأتي ببيانات مساندة مثل الشواطئ والأنهار والحدود السياسية.
2.8.8 برمجيات الإلكترونيات.
هناك العديد من البرمجيات لتصميم الدوائر الإلكترونية الرقمية والتشابهية analoge،
بعضها مجرد رسم وبعضها توفر محكاة للدارة من أجل اختبارها:
- Electric -
برنامج تصميم إلكتروني electrical CAD يتعامل مع الكثير من هيئات تصميم الدوائر
بما فيها الدوائر المتكاملة المخصصة custom IC layout (أي ASICs) و
الرسوم التخطيطية schematic drawing ولغات وصف محددات العتاد
hardware description language specifications وهيئة
electro-mechanical hybrid layout.
- gEDA - The GNU EDA من غنو (زر http://geda.seul.org/)
للتصميم الإلكتروني (الأمثلة تجدها في حزمة 'geda-examples').
- GnuCAP - حزمة تحليل الدوائر من غنو The GNU Circuit Analysis Package
وهو برنامج محاكاة نصي (تفاعلي أو كخادم للواجهات GUIs)
قادر على التحليلات التالية: nonlinear dc and transient analysis
و Fourier analysis و ac analysis linearized at an operating point.
- KLogic - محرر ومحاكي الدوائر الرقمية في KDE.
- 'pcb' - برنامج تصميم الدوائر المطبوعة Printed Circuit Board Design،
أداة رسومية سهلة الاستعمال كتبت لتصميم الدوائر المطبوعة.
- 'xcircuit' - برنامج رسم خصيصاً للدوائر (مجرد رسم).
- 'chipmunk-log' - برامج ضخم لتحرير الدوائر وبيئة لمحاكاتها.
بها أدوات للمحاكاة الرقمية (أداة LOG)، التشابهية
(أداة AnaLOG)وتوليد الشبكات (أداة LOGNTK) و الرسم (أداة LPLOT).
- TkGate (زر http://www-2.cs.cmu.edu/~hansen/tkgate/) -
محرر ومحاكي رسومي للدوائر الرقمية (بواجهة Tcl/Tk GUI).
يدعم الكثير من العناصر الأساسية إلى جانب وحدات يضيفها المستخدم
في تصميم هرمي. تأتي مع شرح والكثير من الأمثلة (بما فيها وحدة معالجة مركزية CPU
مبسطة) عبر قائمة Help.
- GAEL - الإلكترونيات بمساعدة غنوم The Gnome Assisted Electronics (زر http://gael.sourceforge.net
- NG-SPICE http://ngspice.sourceforge.net
المخرجات التي تولدها المحاكاة يمكن عرضها بالبرمجيات التالية:
- gtkwave - عرض ملفات تغيّر القيمة Value Change Dump files التي تولدها
برمجيات المحاكاة الرقمية.
- gwave - عارض مخرجات المحاكيات الشبيه بنظام SPICE
وعرض البيانات التشابهية.
- gerbv - عارض لملفات Gerber الخاص بالدوائر المطبوعة Printed Circuit Board (تختصر PCB)
المستخدم في التواصل مع المصنعين.
2.8.9 أنظمة التصميم الهندسي.
هناك العديد من برمجيات CAD أي التصميم بمساعدة الحاسوب وCAM أي
التصنيع بمساعدة الحاسوب Computer Aided Manufacturing
وCAE أي الهندسة بمساعدة الحاسوب
Computer Aided Engineering
لنظام غنو/لينكس مثل
QCAD (برنامج CAD خفيف مبسط بواجهة QT جميلة ويدعم بناء رسومات ثنائية الأبعاد
ويدعم هيئة AutoCAD DXF) و dcad و
varkon و
tomcad و
thancad و
http://lignumcad.sourceforge.net و
giram و
jcad (java) و
freeEngineer و
opencascade و
pythoncad
(ولكن كلمة CAD تعني Computer Aided Dispatch/Drafting).
لست مهندساً وهذا البند مجرد مسودة.
2.8.10 برمجيات النشر العلمي.
هناك العديد من التطبيقات لعمل الأشكال figures والرسوم التوضيحية diarams والمخططات charts العلمية
منها برنامج Dia الذي يصمم الرسوم في الكثير من المجالات مثل
مخطط سير العمليات flowcharts وشبكات الحاسوب computer network
وحتى الدوائر الرقمية.
برنامجي Kivio و KChart وهما جزء من طقم مكتب KOffice لغرض مشابه.
كما يمكن استعمال برمجيات الرسم المتجهي ارجع إلى فصل '2.5 برامج التصميم'.
هناك برامج قديم لإكس اسمه XFig (انظر موقعي 'www.xfig.org' و 'www-epb.lbl.gov/xfig/')
كان شائعاً لعرض رسومات XFig المتجهية ورسمها، هناك حزمة اسمها
xfig-libs تحتوي على مكتبة من الرسومات clipart له.
يستخدم غنو/لينكس بشكل واسع في الأبحاث لأكثير من جامعة ومخبر،
كما أنه يستخدم لتوليد التقارير والأوراق
publications لها، بطريقة مؤتمتة أقتبس من شرح حزمة Diploma:
"يستخدم ديبيان غنو/لينكس Debian GNU/Linux في الكثير من الجامعات
للقيام بالأبحاث وكتابة الأوراق العلمية بواسطة LaTeX"
تحتوي تلك الحزمة على أمثلة على كيفية تحويل البيانات والقياسات تعالج
ثم كيفية تحويل النتائج إلى أشكال رائعة.
أكثر برمجيات النشر العلمي تتبع أسلوب تري ما تعني
WYSIWYM (وليس تحصل على ما ترى WYSIWYG)
حيث تصف ماذا تعني ولا تصف المظهر ويقوم البرنامج باختيار
المظهر المناسب تبعاً للوسيط المستخدم في عرض المخرجات (من بين غيرها).
أهم نظام ترى ما تعني هو لغة DocBook XML لكنها لم تصمم
للتطبيقات العلمية، في حين أن لغة LaTaX (زر www.LaTeX-Project.org)
صممت لمثل هذا الغرض، مصنفها يوجد في حزمة teTeX،
نسمي الوثائق بهذه الهيئة ملفات TeX files (وتأخذ اللاحقة .tex).
يمكن كتابتها يدوياً بأي محرر نصوص أو ببعض المساعدة من
طور في Emacs مثل YaTeX (انظر www.yatex.org)
الذي يسهل الكتابة اليدوية لها.
هناك بيئة رسومية له اسمها
Kile (وهو جزء من KDE).
وهناك بعض الواجهات الرسومية لكتابة ملفات TeX بنفس بساطة العمل في
معالجات النصوص word processors في حزم المكتب التقليدية
ولكن مع المزيد من القوة، تسمى هذه التطبيقات معالجات الوثائق
document processors ومنها LyX (انظر www.LyX.org).
هناك تطبيق آخر للغة TeX هو TeXPower وهو حزمة من الأساليب والصنوف
لعمل عرض شرائح ديناميكي dynamic online presentations باستعمال LaTeX.
أدلة استخدام نظام غنو الآنية online (غير المطبوعة)
تكون على صورة صفحات المعلومات Info pages التي نولدها من ملفات
Texinfo files (ذات لاحقة .texi)، صممت Textinfo لتستخدم
في إنتاج وثائق مطبوعة عالية الجودة
(بهيئة Postscript أو PDF) أو ملفات المساعدة الآنية (بهيئةInfo أو HTML)
|