الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

فكرة مجنونة قليلاً ... لغة برمجة للرسم!

بدأه Khaled.Alshaya في 23 مارس 2009 · 4 رد · 1,346 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ....

أدرس خلال هذا الفصل مادة لغات البرمجة ... و قطعت فيها شوطاً جيداً :)

خطر ببالي موضوع أود ممن له سابق خبرة فيه أن يمدنا بالنصيحة....

كما نعلم فإن أحد تقنيات الصور في الحاسوب هو ما يسمى بالـ Vector Graphics .... يعتمد على تخزين MetaData تعبر عن الصورة... و لكن خطرت لي فكرة... هل يمكنني أن أقوم ببناء لغة برمجة للرسم ؟!

أي أن المبرمج يقوم ببناء الصورة عن طريق كتابة برنامج لرسمها... اللغة لن تكون لغة برمجة عامة, و إنما لغة مختصة للرسم.... أعرف أن هذا الشيء مجنون قليلاً و لكن أريد معرفة المزيد :)

أولاً أريد أن أعرف هل إنشاء لغة فيها كمية programming constructs أساسية صعب ؟ فقط if statement و for loop.... ربما شبيهة بتلك الموجودة في لغة C ....

إذا توضحت الرؤية في رأسي ... ربما سأقوم بكتابة الـ BNF Grammar لتلك اللغة :) و هناك أمر آخر, هل تعرف مصادر جيدة حول موضوع الـ Semantics خصوصاً الـ axiomatic و denotational ؟

يبقى السؤال الأهم.. و هو مدى إمكانية كتابة Implementation لتلك اللغة, هناك أدوات كثير مثل yacc و غيره, هل جربت إحداها ؟

برامج اللغة نفسها ربما تترجم للغة منخفضة المستوى لتعمل على آلة افتراضية, لزيادة سرعة تفسير البرنامج, و سهولة عمل Interpreters فيما بعد....

ما رأيك ؟

هل ترى فائدة من الموضوع كله من الأساس ...

تحياتي,

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 23 مارس 2009 في 10:44

#2

السلام عليكم

الفكرة جميلة اخي خالد

بخصوص الكمبايلر فيمكن انجاز العمل في حوالي 4000 سطر برمجي او اقل

الصعوبة موجودة اكيد لكن الموضوع يستحق المحاولة

المرجع الاكبر هو كتاب التنين المشهور

ساحاول ان ارفع لك بعض الدروس و الامثلة الموجودة عندي في الجهاز في المساء ان شاء الله

العمل كثير و الوقت قليل أعاننا الله

seo zen SEO Enlightment amazon danbo

#3

اظن انك لم تأت بشيء جديد هذا هو عمل DX, OpenGl

اقتباس
بخصوص الكمبايلر فيمكن انجاز العمل في حوالي 4000 سطر برمجي او اقل

اذا بامكانك عمل ذلك فهذا يعني انك من افضل المبرمجين على الارض !

Writen By: Admirer4 , B.Sc Student of EE.

Learn C Programming Language

ِCowards die many times before their death

#4

نعم كما وضح admirer4 هذا عمل DX و OpenGL والفلاش أيضا بغض النظر عن كونه لغة برمجة بال actionscript أو بيئة رسم .

سابقا كنت أريد أن أصمم برنامج كهذا لكن بالإعتماد على DX لكن للويب , بمعنى بيئة الإنترنت حاليا ورسوماتها التي ب flash ماأردت فعله هو بيئة ثلاثية الأبعاد بحيث يتم تخزين أقل عدد من المعطيات في الصورة ويتم عمل ال rendering في جهاز المستخدم .

توقفت في نقطة تحويل الرسم الحر باليد إلى معادلة رياضية أو عدة معادلات بنسبة خطأ بسيطة جدا لتعبر عن الرسم العشوائي الذي قام به المستخدم , لجأت إلى تقسيم المنحنى لعدة منحنيات من الدرجة الرابعة وعدة معالجات أخرى لكن الموضوع لم يكن بتلك الدقة .

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

بالتوفيق إن شاء الله :)

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#5

اعتقد التسمية الأقرب هى DSL او Domain Specific Language

اقتباس
أولاً أريد أن أعرف هل إنشاء لغة فيها كمية programming constructs أساسية صعب ؟ فقط if statement و for loop.... ربما شبيهة بتلك الموجودة في لغة C ....

لأ مش صعبة

اقتباس
يبقى السؤال الأهم.. و هو مدى إمكانية كتابة Implementation لتلك اللغة, هناك أدوات كثير مثل yacc و غيره, هل جربت إحداها ؟

انا فى حياتى مش عملت غير اتنين واحد لBasic والتانى ل Scheme

الأول كان معتمد على بايثون وكان مع الأمثلة ل PLY (lex, yacc(ولكن كتبته تانى بعد مافهمت الحوار

و Scheme كان بHaskell وكان تعليمى بردو

مش عارف دا هيفيدك ولا لأ بما انك بتستخدم سى++

http://gigapedia.com/items/7746/lex--amp--...shell-handbook-

بخصوص الرسم تحديدا مش اقدر افيدك

بالتوفيق

تم تعديل هذه المشاركة بواسطة ahmed_youssef في 24 مارس 2009 في 19:26

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…