أهم أقسام المدونة

الصفحات

السبت، 27 ديسمبر 2014

روبابيكيا


روبابيكيا 

عِـندي صـندوقٌ مملـوءٌ iiروبـابيكـيا
أجـزاءَ إنـاثٍ مِـن ذِكْرَى ماتتْ iiحَكْـيا
خَـدًّا مِـن هَذِي أو عينًا حَوْرا مِن iiذِي
أو ثَغـرًا تَمـتمَ أشعـارًا كـانـتْ رَيّـا
وأُحـاولُ  فـي لحظةِ شَغَفٍ iiتَسـتهويني
أن أجـمعَ نَزِقًـا مِـن تلكَ الخُردةِ iiشَـيّا
هـل أصنعُ مَسخًا  يَصعقُه مَـسَّ iiجنوني
كـ (فرنكشتاينَ) لـم يُصبحْ يوما iiحـيّا؟
أم أنّي صِرتُ كـ (بِجْمالْيونَ) أَنحَتُ أنثى
لا تَـملِكُ قـلبًا فـي جـسدٍ كانَ شهيـّا؟
عَـمّاذا أبحثُ  في كَومةِ هذي iiالذِّكـرَى؟
أخـيانةِ قـلبٍ أم عقـلٍ ظـلَّ iiغـبيّـا؟
أغـرورٍ  صَـلدٍ أمْ خوفٍ مِن مجهـولٍ؟
أم مَلَكٍ مَطـرودٍ  قـدْ يُـصبحُ جِنّـيّا؟
أَمْ كِـلْمةِ حـبٍّ مُـسكِرةٍ كـانتْ iiوَهْـما
وقـصيـدةِ شِـعرٍ كـاذبةٍ كـانتْ iiغَـيّا
لا مـا يَـعنيني، يـا جـامعَ iiروبابيكـيا
احـملْ صـندوقي وامنحـني عنه جُنَيّا!! 

محمد حمدي غانم
27/12/2014

الجمعة، 26 ديسمبر 2014

نِصفُ امرأة


نِصفُ امرأة 

أنـا لا أريـدُ حبيبتي نِصفَ iiامرأةْ   
أفـراحُها بـينَ الـمآسي iiطـارئةْ

مـسجونةً أحـلامُها فـي حـزنِها   
مـهزومةً،  لِـدموعِها iiمُـستمرئةْ

إنّـي منحتُـكِ فـرصةً فـتخيّري   
عُـودي إلـيَّ مِـنَ العيوبِ iiمُبرّأةْ

وَلْتَـحذري: أنـاْ في الهَوَى مُتسلّطٌ   
يـا مُنـيتي: مِـئةً أريـدُكِ بِالمِئةْ

فامْـحِي  فـصولاً من زمانٍ iiدُونَنا   
وَلْتكْـتُبيـني أَحـرفًا مُـتوَضِّـئةْ

مُرًّا يئسْتِ؟.. أكنتِ ذُقتِ iiحلاوتي؟   
لا ريـبَ أنّكِ في انكسارِكِ مُخطئةْ

فتقـدّمي  نَـحوي بـقلبِ iiأمـيرةٍ   
إنْ كـنتِ يـوما بـاشتياقي iiعابئةْ

فـإذا امتزجنا  سوفَ نُكمِلُ iiبعضَنا   
أنـتِ الـهواءُ مُـعطّرًا  وأنا iiرئةْ

وكما تُجـيرُكِ مِن دُموعِـكِ iiقُبلتي   
كـوني  لقـلبي في شجوني iiمِنسأةْ

أناْ حِصنُ ضَعفِكِ، كِبرياؤكِ ضَمّتي   
بِتَفـرُّدي أهواكِ يا ضِعْـفَ امرأةْ! 

محمد حمدي غانم، 2013

الأربعاء، 24 ديسمبر 2014

إباء


(20) 

·      إباء:
أسـطورةُ عـربيٍّ ولَّـتْ     أُنشــودةُ أشبــاحٍ ذَلَّـتْ
قـولٌ يحتــاجُ لأجـيالٍ     لا تعرفُ ما مَعنى "أصمتْ"! 

بعض من تجليات الألف
(صفحات مهربة من معجم مفقود)
محمد حمدي غانم، 2000

أبهة


(19)

·      أبَّهة:
لو كانَ السلطانُ فقيرًا
لانقرضَ الفقرُ بلا رجعةْ! 

بعض من تجليات الألف
(صفحات مهربة من معجم مفقود)
محمد حمدي غانم، 2000

السبت، 20 ديسمبر 2014

صباحُ الخيرِ فاتنتي


صباحُ الخيرِ فاتنتي 

صـباحُ الـخيرِ يا iiأنتِ      وأنـتِ بـشاشةُ iiالسَّمْتِ
إذا  كــنّـا iiتَـغـرَّبنا      فـأنتِ  بِـمُهجتي iiبيتي
أسـيـرُ  إلـيكِ آلامًـا      أصوغُ من الخُطَى نَحتي
فـلا  تَـستنكري iiأنّـي      بـعيدٌ  فـي مَدَى iiفَوْتي
يَـضيعُ  الـوقتُ iiأحْيانًا      وأنْـتِ مَـلِيكةُ iiالـوقْتِ
يَـلوذُ  الـحُلمُ iiحـيرانًا      بِـشِعري  مـنذُ iiفارقْتِ
جـلستِ على عُلا iiقلبي      مُـتوَّجةً  عـلى صَمتي
وصـمتي  ألـفُ iiأغنيةٍ      تَـبـوحُ إذا iiتـبـسَّمْتِ
مـعَ  الأنسامِ قد iiطارتْ      ضـفائرُ  هـذه iiالـبنتِ
فَـمسَّتْ مُـهجتي شِعرًا      شَـدَا  مُـتفرِّدَ iiالصّوتِ
كموجِ  البحرِ في iiشطّي      أراكِ  بِـمُهجتي iiذُبْـتِ
أضمُّكِ  في مَدَى iiشوقي      إذا يَـنداحُ فـي iiسِـتّي
أحـبُّـكِ  دائـما iiأبـدًا      قَـتلْتُ عَـقاربَ iiالوقتِ
أحـبُّكِ  لـيسَ لـي iiبدٌ      لِـغَيثِِكِ مُـزهِرٌ iiنَـبتي
أحـبُّكِ  فـاذكري iiقلبي      إذا فـي الـغيمِ iiسافرتِ
كـمثلِ يـمامةٍ iiوَلـهَى      يَـجـيئُكِ أيـنما كـنتِ
فَـها قـد بُـحتُ مراتٍ      وإنّـكِ  قَـطُّ مـا بُحْتِ
بِـسرِّ هـواكِ لا iiأدري      إذنْ  لا بـدَّ مِـن iiبَـتِّ
تـركتِ القلبَ iiمَجروحًا      أسـيرَ غـرامِكِ iiالبَحْتِ
وحَـسْبُكِ  كِـلمةٌ iiتَشفِي      ولا  يَـكـفيكِ أَلـمحْتِ
حـروفُ الـحبِّ ظامئةٌ      بـثغركِ لـيتَ iiأفصحْتِ
دَعِـيها لـي أنا iiوحْدي      رسـالةَ  بـهجةٍ iiتـأتي
أنــا لِـهَواكِ مُـنتظرٌ      أَلا بـالحبِّ iiصـرَّحْتِ؟
 

محمد حمدي غانم
15/12/2014
_________________
* إذا يَنداحُ في سِتّي:
ينداح: يتسع وينتشر.. ومن مادة هذا الفعل الدوحة، أي الشجرة العظيمة المتفرعة.
ستّي: جهاتي الستّ: أمامي وخلفي، يميني ويساري، فوقي وتحتي.. وهذا هو أصل تسمية المرأة بالستّ، لأنها تحاصر الرجل من جميع الجهات :)  

الجمعة، 19 ديسمبر 2014

التصميم المثالي


التصميم المثالي 

وأنا أشاهد فيلم Man of The Year الذي يدور حول مقدم برنامج سياسي ساخر (يقوم بدوره الممثل الأمريكي الكوميدي Robin Williams) ينجح في الانتخابات الرئاسية الأمريكية بسبب خطأ في برنامج التصويت الالكتروني، استوقفتني سخريته من نظرية التصميم الذكي، قائلا ما مضمونه:

- انظروا إلى أجسادكم.. هل يبدو لكم هذا جسدا ذكيا، ومناطق الإخراج فيه قريبة من منطقة التناسل؟!

لي عدة ملاحظات على هذا الكلام:

-      من الواضح أن النقاش حول نظرية التصميم الذكي تجاوز النطاق الأكاديمي والصحف المتخصصة، ليصل إلى استغلالهم لفيلم شهير في محاولة تشويهها، مما يعني أنها تشكل خطرا حقيقيا عليهم وتلقى قبولا شعبيا!

-      ما دام هذا الجسم غبيا، لماذا تثق في عقلك الذي يدرك هذا الإدراك الغبي ويسأل هذه الأسئلة الغبية؟.. لماذا أبدعت الصدفة في تصميم عقلك، وأخطأت في تصميم مؤخرتك؟.. ألا يطرح هذا مبدأ الشك في الوعي والإدراك والعقل نفسه، وبالتالي لا يصير لأي شيء معنى؟.. إن إدراكنا للعقل يتم بالعقل نفسه، وبالتالي لا يوجد مرجع خارجي محايد نحتكم إليه، لهذا من الطبيعي أن يظن كل إنسان نفسه أذكى إنسان في العالم، حتى لو كان في أقل المهن مكانة، فإنه يظن أنه كان يستحق أفضل من هذا، لكن الحظ أو الواسطة أو فساد المجتمع هو الذي حرمه من المكانة التي يستحقها!!.. وبالتالي لا يكفي اقتناعنا باكتمال عقولنا كدليل على كمالها، لهذا فإن الإيمان بالتصميم الذكي هو إيمان بديهي مجبر عليه حتى الملحدون وأتباع داروين، لأن كل ما يدركونه في الحياة وكل ما يدعونه من علم وكل ما يتكلمون به من منطق، مبني على ثقتهم في عقولهم بالأساس، وهذا شيء لا تضمنه لهم الصدفة!!

-      في الفيلم (كما في كثير من الأفلام الحديثة) كلام عن الشواذ وزواج الشواذ.. ليست لديهم أي مشكلة في تلويث الأعضاء التناسلية بالبراز باسم حرية الشواذ، لكن لديهم مشكلة في تقارب الموضعين في التصميم!!.. الأفلام الحديثة تعمل على تطبيعنا على الشذوذ، كما عملت الأفلام طوال نصف القرن الماضي على تطبيعنا على الإباحية!

-      لفت سؤاله نظري إلى دليل آخر من الأدلة التي لا تُحصى حول إبداع التصميم الإلهي، لأني حاولت تخيل أي بديل لمواضع الإخراج والتناسل في الجسد البشري، فلم أتوقف عن الضحك مع كل تخيل منها!!.. لا يوجد موضع آخر في الجسد مناسب لهذه الأجهزة .. طبعا لا يمكن في الرأس (سيكون مزريا جدا أن يدخل المرء برأسه في الحمام ليخرج الفضلات.. من المتوقع ساعتها أن يكون الحمام الإفرنجي على هيئة خطاف ينزل من السقف، ليعلق الإنسان رجليه فيه في وضع رأسي مقلوب لقضاء حاجته :) !!.. وطبعا ساعتها كان المذيع في هذا الفيلم سيقول إن هذا التصميم مقرف، لأن مواضع الإخراج قريبة من الفم والأنف!!.. كما أنها لا يمكن أن توجد في الصدر أو الظهر بسبب القفص الصدري والهيكل العظمي، ولا في الساقين لأن ذلك سيعيق الاتزان والحركة، فعظام الساقين وما يحيط بهما من عضلات وأربطة لا تسمحان بوجود أي أعضاء حيوية، كما أن تركز وزن الجسم وقوة الدفع اللازم للحركة والجري في الساقين سيؤذي أية أعضاء توجد فيهما، لهذا لا توجد أية أعضاء وظيفية في الأطراف غير العضلات.. ناهيكم عن أن وجود أجهزة الإخراج في الساقين أو القدمين يستلزم مد أنابيب طويلة من الجهاز الهضمي والبولي عبر الساقين وهو غباء في التصميم غير كفء.. إذن، فتصميم الهيكل العظمي لا يترك أي مساحة مناسبة وعملية ولا تعيق التوازن والحركة إلا منطقة البطن، وهذه المنطقة تشمل المعدة وباقي أعضاء الجهاز الهضمي والبولي والتناسلي، ونظرا لأنها تشغل حيزا كبيرا وتستوعب عدة أمتار من الأمعاء، فهذا يجعل موضع أعضاء الإخراج والتناسل في منطقة الحوض هو المكان المنطقي الوحيد، الذي يجعلها محمية وعملية ولا تعوق الحركة.. ولو كان هناك أي عيب في هذا التصميم، لما كان هناك 7 مليارات إنسان على وجه الأرض الآن، وترليونات غيرهم عبر التاريخ!

-      لا تستغربوا من هذا الكلام، فالملحدون والعلمانيون لا يفكرون إلا بأعضائهم التناسلية، لهذا هم يكررون دائما الاستدلال بموضوع الإخراج والتناسل، وسبق أن سألني أحدهم في حوار عبر المنتديات عن وجود مجرى مشترك للبول والمني في الذكور، وأنه تصميم معيب لأنه يتسبب في التهاب البروستاتا عند أي خطأ في تنظيم هذه العملية.. ومن وجهة نظره هذا تصميم فاشل نتج بالصدفة العشوائية!!.. طبعا هذا كلام ساذج، لأن تصميم مجرى واحد يؤدي وظيفتين مختلفتين هو تصميم هندسي أكثر تعقيدا من تصميم مجريين مختلفين (يستهلكان مساحة أكبر)، وحدوث مرض في البروستاتا هو أمر نادر في البشر، ويحدث عند كبار السن ضمن أمراض الشيخوخة، وبالتالي لا يخرج احتمال حدوثه عن احتمال إصابة أي إنسان بأي مرض في أي عضو من أعضاء جسمه، ولو أنه خلل في التصميم، فكان الأولى به أن يؤدي إلى انقراض البشر لأنه يجعلهم غير ملائمين للحياة كما تفترض آلية الانتقاء الطبيعي التي تدعيها خرافة داروين!.. لكن كما ترون: لا غضاضة أن يستدل الملحد بفرضية تخالف النظرية التي يدعي صحتها، لكي يدحض نظرية تخالف إلحاده!

 

الخلاصة: تصميم الجسم البشري هو التصميم المثالي، وأي جنين يولد به اختلاف ولو طفيف عن هذا التصميم بسبب مشاكل أثناء الحمل كالتعرض لتلوث إشعاعي أو كيميائي، أو بسبب عيب وراثي، نسميه مشوها، لأنه يعجز عن أداء نفس الوظائف التي نؤديها بهذا التصميم المثالي.

 

بالمناسبة: انتحر Robin Williams في شهر أغسطس الماضي.. النهاية الأكثر توقعا لأهل التمثيل والغناء والرقص والفحش، بجانب الموت بالسرطان!.. ليس غريبا هنا أن يكتئب الممثل الكوميدي الذي ظل يضحك الناس طوال حياته، ويشنق نفسه في النهاية!!

 

الخميس، 18 ديسمبر 2014

غموض


همساتٌ لامرأةٍ ما
(31)

كل الدروب أسئلة وعنيكي فيها جواب
بتشدني مذهلة بس الكلام بحساب
والبسمة متأولة يا حلم ليه كداب؟
أنا لسة في الأولة بس احتمالي شاب!

محمد حمدي غانم، 2014

 

لا أنسى


همساتٌ لامرأةٍ ما
(30)

سهلٌ على قلبِها يَنْسى ولا أنسَى
وكيف يَنسَى الذي في حزنِها أمسَى
يا قلبُ لا تَهْجُها إن عذّبتْ نَفْسا
لا تَبغِ مِن صخرةٍ نبضًا ولا حِسّا
غالتْـكَ في قُربِها وبعادُها أقسَى
هذا ظلامُ التي قد خِلتَها شمسا
فاصبرْ على هجرِها لا بأسَ لا تَأْسَى

محمد حمدي غانم، 2013

تمتمة


همساتٌ لامرأةٍ ما
(29)
يا بيتَ شِعرٍ قلتُهُ ما زالَ يُسْـكِرُني
إن ضلَّ قلبي حُسنَهُ ثَغري يُذكّـرُني
أمشي مَساءَكِ هاذيًا والنومُ يُنكِرُني
إنْ جَنَّ زهرُكِ فالشَّذا لِلروضِ يُبْـكِرُني

محمد حمدي غانم، 2013

الأربعاء، 17 ديسمبر 2014

دعواتكم لأبي بالشفاء


دعواتكم لأبي بالشفاء وطول العمر:
يا ربِّ إنَّ أبي مريضٌ فاشْفِهِ يا خيرَ شافي
هُوَ في عبادِكَ صارَ شيخًا، أنتَ يا سَندَ الضعافِ
لا نَستجيرُ بغيرِ ذاتِكَ أنتَ للملهوفِ كافي
فلتحفظِ اللهمَّ (حمدي غانمًا) مِن كلِّ خافي
وَلَتُبْقِهِ لِبَنيهِ عِزّا، عافِهِ كلًّ التعافي

الثلاثاء، 16 ديسمبر 2014

خجل


خجل 

كلمة شايفـها على لسانـك = ليه لسة حايـرة ف وجدانك
بتخبّي وتصـوني كرامتك؟ = وأنا اللي بين حضني مكانك؟
يا حلـوة يا اللي بتنسـيني = وتغيـبي وتعانـدي سنيني
ما تجيني حـالا وواسـيني = خليـني فـارس أحلامـك 

محمد حمدي غانم، 2014 

ملحوظة:
الوزن (مستفعلن فعْلن فعْلن) شائع جدا في العامية المصرية والخليجية، رغم أنه قليل في الفصحى، رغم أنه كان موجودا في الفصحى في الشعر العباسي والأندلسي، هو وتنويعات كثيرة لأوزان تدخل فيها التفعيلة فعْلن مع التفعيلة مستفعلن (يسميها البعض بأوزان الدوبيت).. ونظرا لأن كثيرين أقروا بالشبه بين الوزن (مستفعلن فعْلن فعْلن) ووزن البحر البسيط (مستفعلن فعِلنْ مُسْتَفْعلنْ فعْلنْ)، فأنا أفضل تسمية هذا الوزن باسم "مُخَـبَّب البسيط"، لإجازة التفعيلة "فعْلن" كزحاف للتفعيلة "فَعِلنْ" في البسيط، ليصير: (مستفعلن فعْلن مستفعلن فعْلنْ)، والتي تصير في صورتها المجزوءة المزحّفة: (مستفعلن فعْلن مُسْتَفْ) أي (مستفعلن فعْلن فعْلن)
أيضا، يمكن اعتبار هذا الوزن صورة من صور البحر اللاحق (مستفعلاتن مستفعلاتن)، بدخول العلة على التفعيلة الأخيرة وتحولها إلى مستفعلْ (= مفعولن) فالوزن (مستفعلاتن مستفعلْ) هو نفسه (مستفعلن فعْلن فعْلن)

الاثنين، 15 ديسمبر 2014

إيلاف


إيلاف 

قُـولي لي iiلِينَا      وابتسمي  iiحِينَا
يـا مَـن منّانا      بالوصْلِ  سنينا
مـنّانا  
iiنـابٍ      يـأبَى iiيـأتينا
والحُلمُ  
iiالمُلقَى      فـاحَ  iiرياحينا
أَقَلَى؟.. لا، لاهٍ      عَبَـثًا  وجُنونا
ونُهاها  
iiهـاجٍ      جَـوْرَ iiتَجافِينا
جِـيئي  
iiإيلافًا      قُـربُكِ iiيَشفينا 

محمد حمدي غانم، 2014
 

السبت، 13 ديسمبر 2014

أب


(18)

·      أب:
"أعلى" في لغاتٍ أجنبيّةْ!

بعض من تجليات الألف
(صفحات مهربة من معجم مفقود)
محمد حمدي غانم، 2000

ابن


(17)

·      ابن:
قِيلَ في أصلِ الحكاية:
بسمةٌ كانتْ فصارتْ بسمتينْ
دمعةٌ كانتْ فصارتْ نصفَ دمعةْ
شمعةٌ مالتْ لِتَبدا عمرَها من نورِ شَمعةْ
رحلةٌ تأبَى النهايةْ
 
بعض من تجليات الألف
(صفحات مهربة من معجم مفقود)
محمد حمدي غانم، 2000

خوارزمية مسافة ليفنشتاين


خوارزمية مسافة ليفنشتاين
Levenshtein Distance Algorithm

 سميت هذه الخوارزمية باسم فلاديمير ليفنشتاين Vladimir Levenshtein، الذي وضعها عام 1965.
وتحسب هذه الخوارزمية المسافة بين نصين، حيث تقاس هذه المسافة بعدد التغييرات المطلوب إجراؤها على النص الأول، ليصير مطابقا للنص الثاني.. هذا التغيير يحدث بتبديل حرف مكان حرف، أو حذف حرف، أو إضافة حرف.. فإذا كانت المسافة بين النصين صفرا، كان هذا معناه أنهما متطابقان، وإذا كانت 1 فهذا يعني أن أحدهما يختلف عن الآخر بحرف (زيادة أو نقصا أو تغيّرا) وهكذا...
على سبيل المثال: لكي تتحول كلمة ضلعك إلى كلمة لاعب، يجب أن تحدث لها التغييرات التالية:
-      حذف حرف الضاد: لعك.
-      إضافة حرف الألف: لاعك.
-      تبديل الكاف إلى باء: لاعب.
هذا معناه أن المسافة بين الكلمتين تساوي 3.
إذن، كيف تقوم هذه الخوارزمية بقياس هذه المسافة؟
 
تستخدم هذه الخوارزمية القواعد التالية:
- ترقيم أول حرف في النص هو 1 (على عكس ما نتبعه نحن في البرمجة، حيث أول حرف في النص هو صفر.. لهذا سنحتاج لطرح 1 عند استخدام خصائص الفئة String لقراءة الحروف من كل نص).
- أقصر مسافة ممكنة هي صفر (النصان متماثلان).
- أطول مسافة ممكنة، هي عدد حروف أطول نص من النصين (يحدث هذا إذا كانت كل الحروف مختلفة، أو أحد النصين فارغا).
- يتم حساب المسافة بين الحرف رقم I في النص الأول، والحرف رقم J في النص الثاني كالتالي:

الجمعة، 12 ديسمبر 2014

كل النساء قد اختفين


همساتٌ لامرأةٍ ما
(28)

ما زلتُ منذُ عَرَفتُها لم أَلْـقَ إلاّها
كلُّ النساءِ قد اختفينَ وثَمَّ عيناها
إنْ فاهَ قلبي بالهَوَى مُستعذبًا فاها
دلَّتْ عليه وسافرتْ والشوقُ مَنفاها


محمد حمدي غانم، 2013

الأربعاء، 10 ديسمبر 2014

نسيت نفسي!


همساتٌ لامرأةٍ ما
(27)

يا بدرُ قلْ لي، طالَ وَجْدي: كيفَ أنساها؟
قالَ: انْسَ نفْسَكَ أوّلاً، فتزولَ ذِكراها
ونَسِيتُ نفسي، إنّما ما زلتُ أهواها
فلْتسألوها: ما اسمُ مَنْ بالعشقِ غنّاها؟!!

محمد حمدي غانم، 2013

رياضيات برمجية!


رياضيات برمجية!

وأنا أعمل في برنامج مصمم الرسوم التخطيطية Diagram Designer، لجأت إلى علم حساب المثلثات Trigonometry أكثر من مرة، وهذا شيء منطقي لأن البرنامج رسومي في طبعه.

إحدى هذه المرات كانت تخص رسم خط مستقيم للتوصيل بين شكلين.. هذا أمر بسيط طبعا وليس فيه حسابات خاصة، لكني أردت رسم خط آخر مواز لخط التوصيل، يظهر حينما يكون الخط محددا Selected.. بشرط أن تكون المسافة بين الخطين 5 نقاط في كل من الاتجاه الفعلي للخط والاتجاه العمودي عليه (انظر الصورة).
ونظرا لأن الخط لا يكون رأسيا أو أفقيا دائما، وإنما يمكن أن يميل بأي زاوية على المحور الأفقي (الزاوية الحمراء في الصورة)، فقد استلزم هذا الأمر بعض عمليات حساب المثلثات، لمعرفة الإزاحة الأفقية والرأسية المطلوبة لنقطة بداية الخط الثاني.

مبدئيا يمكن حساب زاوية ميل الخط عن المحور الأفقي كالتالي:

Dim A = Math.Atan((Y2-Y1)/(X2-X1))

حيث X1,Y1 هما إحداثيات نقطة بداية الخط، و X2,Y2 هما إحداثيات نقطة نهايته، وناتج قسمة المسافة الرأسية بين النقطتين على المسافة الأفقية بينهما يعطي ميل الخط (ظل الزاوية)، وقد استخدمنا الدالة Atan للحصول على الزاوية من هذا الميل، مع ملاحظة أنها ستكون بالتقدير الدائري Rad.

الآن نريد حساب الإزاحة الأفقية dx (الخط P1-P4 في الصورة) والإزاحة الرأسية dy (الخط P4-P3 في الصورة)، لتحديد موضع بداية الخط الثاني.. بدراسة المسألة الموضحة في الصورة، يتضح أن الخط P1-P3 الواصل بين نقطي بداية الخطين هو وتر المثلث القائم متساوي الضلعين الناتج من الإزاحة 5 نقاط في كلا الاتجاهين، إذن فطوله = (5 × جذر 2) أو (جذر 50).

هذا الخط يميل عن الخط الأفقي بزاوية مقدارها A+45.. الزاوية 45 هي الزاوية الناتجة عن المثلث القائم متساوي الضلعين الذي ذكرته سابقا (مظللة بالأخضر في الصورة).. لاحظ أن الزاوية المحصورة بين الزاوية الحمراء والزاوية الخضراء عند النقطة P3 قيمتها هي أيضا 45 درجة، لأنها تشكل مع الزاوية الخضراء زاوية قائمة.

ومن الضروري تحويل الزاوية 45 إلى التقدير الدائري (بضربها في النسبة التقريبية والقسمة على 180)، قبل جمعها على الزاوية A:

Dim A2 = A + 45 * Math.PI / 180

الآن صار من السهل حساب الإزاحة الأفقية والرأسية (ضلعا المثلث الأصفر في الصورة)، بضرب طول الوتر في جيب تمام الزاوية A2 وجيب الزاوية A2 على الترتيب:

Dim L = Math.Sqrt(50)

Dim dx = Math.Cos(A2) * L

Dim dy = Math.Sin(A2) * L

وقد وصلت لصيغة أخرى لحل نفس هذه المسألة، لكن هذه هي الأبسط.. وقد استخدمت الإزاحة والأفقية والرأسية مع الخاصية Margin في WPF لإزاحة خط التحديد، وكل شيء يعمل على ما يرام، ويظهر خط التحديد على مسافة ثابتة دائما من خط التوصيل مهما اختلفت زاوية ميله.

ملحوظة لمن يرتعبون من الرياضيات:

لم أستخدم في هذه الحسابات أكثر من أساسيات حساب المثلثات التي درسناها جميعا في المرحلتين الإعدادية والثانوية، مما أعاد لي ذكريات جميلة، لأني كنت أعتبر الرياضيات (واللغة العربية) متعتي وسط مستنقع المواد المقرفة المفروضة عليّ في التعليم.. ويهمني هنا أن أوجه الشكر أستاذي الفاضل الخلوق الذي ساهم في جعل الرياضيات متعة بالنسبة لي: أ. عاطف الهدبي، جزاه الله خيرا وأطال في عمره.

 

ملحوظة أخرى:

العلاقة بين الرياضيات والبرمجة علاقة وطيدة، وهناك رياضيات متقدمة تدخل في البرمجة الرسومية والمجسمات.. على سبيل المثال، كنت على وشك استخدام خوارزمية B-spline للحصول على الحد المحيط بكل شكل في نفس هذا البرنامج لوضع نقاط توصيل عليه (لاحظوا أني سمحت للمستخدم بتعريف الأشكال، لهذا لا أعرف ماذا ستكون مسبقا).. لكني وجدت هذا معقدا جدا، وفضلت حلا آخر أسهل وأكثر عملية، استخدمت فيه خوارزمية شبيهة بخوارزمية البحث الثنائي Binary Search للبحث عن أقرب نقطة على حد الشكل (ليس هذا موضع شرح هذا.. سأشرحه بإذن الله في الكتاب التالي).

كما أن برامج معالجة الصور والصوت تستخدم الرياضيات وقوانين علم الإشارات Signals، وهي وبرامج معالجة اللغات الطبيعية والذكاء الصناعي، تستخدم طرقا إحصائية ورياضيات متقدمة، لهذا تحتاج هذه البرامج إلى مهندسين أكثر مما تحتاج إلى مبرمجين.. ولعلي هنا أيضا أوجه الشكر لأستاذي وصديقي د. م. محمد عطية العربي، الذي تعرفت من خلال عمله في هذه المجالات على بعض هذه التقنيات، وألجأ إليه دائما بالسؤال عن أي خوارزمية متقدمة قد أحتاجها (مثل B-spline).

 

 

الثلاثاء، 9 ديسمبر 2014

الاثنين، 8 ديسمبر 2014

لا لا


همساتٌ لامرأةٍ ما
(26)
كلُّ الذي أحببْـتُهُ قالتْ له: لا لا
لم تكترثْ، دمعي جَرَى في العينِ شلاّلا
ما بالُها قد قَيَّدتْ للحبِّ أغلالا؟!
هل أضمرَتْ تَسبي الذي لَم يَرْضَ إذلالا؟
جُلمودُ صخرٍ قلبُها يحتاجُ إحلالا!

محمد حمدي غانم، 2013