موضوع: كيف نستفيد من الـ Expression في الأعمال

ردود: 7 | زيارات: 867
  1. #1
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675

    Post كيف نستفيد من الـ Expression في الأعمال

    بسم الله الرحمن الرحيم :
    سأعطي هنا فكرة مبدئية عن فائدة الـ Expression والتي تفيد كثيراً في أعمال الـ Dynamics وأعمال الـ Animation غالباً .

    =======================Expression====================
    في البداية أريد أن أعطي فكرة بسيطة عن الـ Expression لنقل أنا نريد أن أن نقوم بإنشاء كفر يتحرك باستدارة على محور الـ y مهما زادت عدد الفريمات في البداية لا بد ان نفهم قانونان يتعلقان بكتابة الـ Expression :-
    1- البرنامج يفرق بين الحروف الكبيرة والصغيرة كحالة الـ c++ .
    2- حين نكتب إختصارات نكتبها small وحين نكتب السطر كاملاً نكتب بداية الكلمات بالـ capital عدا الكلمة التي بعد النقطة مباشرة .
    مثال على النقطة الثانية :
    حين نريد أن ندير الكفر على محور الـ Y باعتبار أن اسم الكرة pSphere1 نكتب :-
    اختصار:
    pSphere1.ry=time;

    بدون اختصار :
    pSphere1.rotateY=time;
    كلا الحالتين النتيجة واحدة ونلاحظ في الثانية أننا كتبنا الـ Y بالـ Capital حيث أنها تعتبر مستقلة عن الكلمة rotate ولم نكتب Rotate بالـ Capital لأنها بعد النقطة وهذا يوضح قصدي في القانون الثاني .

    تكتب الـ expressions في :
    windows
    animation editors
    Expression Editor

    تضع البرمجة ثم تختار edit
    -----------

    لنر الآن كيف نحركها على المحورين y x :
    pSphere1.rotateY=time;
    pSphere1.rotateX=time;
    العنصر time يعني رقم الثانية في المشهد الحالي وهو يتغير حين نبدأ العرض أي أننا حين نذهب إلى أول المشهد تكون قيمة time هي الصفر وبفرض أننا في نظام pal إذا بعد 25 فريم ستكون قيمة time هي 1.

    إذا time هو قيمة تتغير إذاً لنسمه متغير variable ولنبق هذه المعلومة في أذهاننا .

    نطبق العمليات الحسابية ببساطة شديدة :
    pSphere1.rotateY=time*9;
    + للجمع
    - للطرح
    * للضرب
    / للقسمة

    حسناً نريد الآن أن نجعل سرعة دوران الكرة تزداد مع ازدياد الوقت :
    في آخر مثال حين ضربنا time بالعدد 9 ستبقى السرعة ثابتة حتى ولو كان المتغير time غير ثابت حسن لنستوضح :

    رقم الـ time---------------- مضروباً في---------------- الناتج
    1------------------------------- 1----------------------- 1
    2 -------------------------------1 -----------------------2
    3------------------------------- 1----------------------- 3
    15 -----------------------------1----------------------- 15
    37----------------------------- 1----------------------- 37

    مقدار ازدياد القيمة هو واحد وهو ما نسميه بـ factor

    1------------------------------ 9----------------------- 9
    2------------------------------ 9----------------------- 18
    3 ------------------------------9 ----------------------27
    15----------------------------- 9--------------------- 135

    الـ factor هنا يقدر بالقيمة 9 وهنا نرى أن الازدياد لا يزال ثابتاً .
    إذاً كيف نجعل السرعة تزداد مع ازدياد الوقت لابد أن نجعل قيمة الـ factor متغيرة أيضاً لدينا حلين أولاً أن ننشئ متغير وهذا لم يحن وقته الثاني أننا نضرب الـ time بالـ time !!! .
    أي نضرب متغير في متغير لنر :

    1 -----------------------------1---------------------- 1
    2 -----------------------------2 --------------------- 4
    3----------------------------- 3---------------------- 9
    15 --------------------------15-------------------- 225

    نلاحظ أن النتيجة تكبر شيئاً فشيئاً .
    إذاً نكتب :
    pSphere1.rotateY=time*time;

    دعنا نتعمق قليلاً :-
    ----النتيجة النهائية :-
    pSphere1.rotateX=time*time;

    pSphere1.rotateY=time*time;

    pSphere1.scaleX=time*1;

    pSphere1.scaleY=time*1;

    pSphere1.scaleZ=time*1;



    if (time>6)

    {

    pSphere1.scaleX=6;

    pSphere1.scaleY=6;

    pSphere1.scaleZ=6;

    print("Stopped");

    }


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

    تحياتي
    أسد الله .
    أخر تعديل بواسطة أسد الله في 27 / 05 / 2004 الساعة 01:49 PM
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .


  2. #2
    طالب علم
    صور رمزية mohheader
    تاريخ التسجيل
    Jan 2003
    المنطقة
    Egypt,Alex
    ردود
    3,117
    ممتاز اخي
    جزاك الله كل خير
    الله اكبر
    الله المستعان

  3. #3
    عضو متميز
    تاريخ التسجيل
    Nov 2000
    ردود
    1,683
    شكرا لك أخي اسد الله ووفقك الله على هذه المعلومة المهمة

    تحياتي
    البساطة ام الجمال

  4. #4
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675
    لا شكر على واجب .
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Jun 2003
    المنطقة
    uae
    العمر
    28
    ردود
    682
    فعلا هذي كانت اول خطواتي بال Rig المحترم
    واحب اضيف
    abs = لجعل القيمة ما تصير سالب
    cos= تعطيك wavey effect او بمعنى اخر متغير
    ran = تعطيك ناتج متغير يعني random
    واخي اسد الله لم تنبهم الى else انت استخدمت ال if ولاكن else مهمة للغاية

  6. #6
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675
    صحيح ولكن قصدك rand .
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  7. #7
    عضو نشيط
    صور رمزية fahad_25
    تاريخ التسجيل
    Mar 2003
    العمر
    40
    ردود
    421
    بارك الله فيك يا أسد الله
    دائما تتحفنا بالمفيد

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل