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

اسئلة رياضية و فيزيائية ,,;كثيرة :(

مغلق
بدأه Abdullah.Alshammeri في 6 نوفمبر 2005 · 7 رد · 3,068 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :

اول احب اني اقول بدأت احب الفيز- والريض .. خاصة بعد ان شاهدت احد الامثلة الاجنبية الرائعة جدا جدا والبسييييطة ,,, وبدأت بالمحاولات . :)

سأكتب باللون االازرق عشان مايرتفع ضغطك من بعض الاسئلة :D

======================================

1

سمعت من المبرمجين ,,(من احمد) ,, ان دالة استخراج الجذر مهلكة للمعالج ...

فبحث شوي بالانترنت ,, وفتحت السورس كود لمحرك OGRE .. لقيتهم كاتبين دالة التربيع باستخدام الاسمبلي .,,

فلماذا لايتم ببساطة اعادة كتابة الدالة sqrt بالاسمبلي .. مثلا

long sqrt(int a )
{
 __asm :
 mov a
 sub  b
 push d
 pop a
 ooo a
return a;
}

'يعني مثال بس :D

وبالتالي تكون الدالة سريعة ومكتوبة بالاسمبلي . . . لماذا كل مبرمج ,,, يقوم بكتابة محتوى الدالة بنفسه وبالاسمبلي ,,

---------------------

2

الحصول على قيم الدوال المثلثية (cos- sin) ؟

البعض يحصل على قيمة كوساين اي درجة عن طريق الجدوال , (كما هو موجود في محرك tv3d ) >> حتى لايتعب المعالج كما عرفت من احد الاخوة(ايضا احمد )

هل توجد دوال جاهزة مثل تلك الدوال تغنيني عن كتابتها من الصفر .

يعني cos - sin باستخدام فكرة الجداول .

-------------------

3

هل يمكن الحصول على السورس كود الخاص بالملف الرأسي math .

واذا لم يمكن ..

اريد ان اعرف ماهو محتوى الدالة cos .. يعني محتواها ...

[CODE]double cos(int num)
{
 . 
. 
ماذا يوجد هنا 
. 
. 
}

----------------------

4

اريد ان احسب القيمة المطلقة لعدد ما ..

هل توجد دالة جاهزة ..

انا كتبت واحدة لكن اخاف تكون بطيئة او فيها خطأ ,,,, ما ادري

double GetPositiveNum(double num ) 
{

 if(num >= صفر)
 return num; 
else return num*-1; 

}

---

5

الاعداد التخيلية ,,, هل لها دوال .. او اي شيء ,,, يمكن يفيد

مثلا

جذر -64 ,,, ليس له قيمة ...

حاولت ان اكتب

sqrt(-64)

فخرج لي رمز غريب .

-1.#IND

????

---------

6

انا اريد تدوير جسم ما ... مع العلم اني اعرف

left

right

top

bottom

كيف اقوم بتدوير هذا الجسم ( يا حبذا لو بدون مصفوفة :D اذا امكن ذلك ) . طبعا 2d , --

----

7

الطاقة الكامنة .. = ج ف (ك تربيع ) .. على ما اذكر :( .

اريد ان اجعل شكل مربع يسقط من اعلى لاسفل .. فاذا وصل للاسفل يرتد .. ثم .. يينزل مرة اخرى وهكذا ينطّطّ ..:) ,,, حتى يتوقف .

طبعا 2d .

هل الامر سهل ,, هل يمكن محاكاة ذلك دون اللجوء لطرق معقدة . . .

اريدها بابسط شكل ولا عليكم امر . . .

------

8

كيف ارسم دائرة بدون الاعتماد على دوال جاهزة ,,, انا اعرف استخدم نقاط + الدوال المثلثية ,, لكن هل ينفع ذلك عندما يكون هناك loop وعلى GL ....

----------

9

واخيرا احب ان اقحم هذا السؤال هن لاني احترت .. لا اعرف باي قسم اضعه ؟؟

انا حملت صورة ..

تحمل 4 قنوات , RGBA

دقتها 32 بت

طولها 200 بيكسل

عرضها 300 بيكسل .

1- هل من الممكن ايجاد حجم الصورة من خلال تلك البيانات .

2- كيف احول من بت الى بايت

3- هل قانون التحويل من بايت الى كيلو بايت هو

xxx / 1042

لاني حاولت كثير وتطلع النتائج مو مظبوطة .,,, فالويندوز يعطيني حجم الصورة مثلا 32 كيلو وانا تطلع عندي بعد حسابها 37 كيلو ... يعني حول القيمة ------------

الاسئلة كثيرة لكن مهمة عندي ..

اسف على الاطالة ..,., واعذروني //// (مشرف .... واسئلة بدائية <_< )

تم تعديل هذه المشاركة بواسطة الشمري في 6 نوفمبر 2005 في 23:44

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2

1: سؤال وجيه .. اتمنى اعرف الاجابة :rolleyes:

2: العملية بسيطة جدا جدا .. الجدول هو مجرد مصفوفة ضات 360 عنصر

float sinTable[360];
float cosTable[360];

void initSinTable()
{
    for(int i = 0; i < 360; i++)
    {
        sinTable = sin((float)i);
    }
}

void initCosTable()
{
    for(int i = 0; i < 360; i++)
    {
        cosTable = cos((float)i);
    }
}

المشكلة ان الدالة sin تعتبر ان الزاوية معطاة بالـ radians يعني لازم اول شي تحول من degrees الى radians

جرب هذا البرنامج, قابل للترجمة (الكمبلة) و التشغيل:

#include <iostream>
#include <cmath>
using namespace std;

float sinTable[360];
float cosTable[360];

const double PI = 3.14159265;

void initSinTable()
{
    for(int i = 0; i < 360; i++)
    {
        sinTable = sin((float)i*PI/180.0f);
    }
}

void initCosTable()
{
    for(int i = 0; i < 360; i++)
    {
        cosTable = cos((float)i*PI/180.0f);
    }
}

float getSin(int x)
{
    return sinTable[x];
}

float getCos(int x)
{
    return cosTable[x];
}

int main()
{
    initSinTable();
    initCosTable();
    int num;
    while( true )
    {
        cout << "enter a number:\n>";
        cin >> num;
        cout << "sin(" << num << ") = " << getSin(num) << endl;
        cout << "cos(" << num << ") = " << getCos(num) << endl;

        cout << "Note: the program will not exit natually ...!! " << endl;
    }
    return 0;
}

3: كل ما اعرفه هو ان الـ implementation الخاصة باللنكس, او بالأحرى gnu, مفتوحة: http://sources.redhat.com/glibc/

4:

#include <cmath>

//....
//use abs function
...
abs( -12 )

5:

بالنسبة للاعداد التخليلة, او بالحقيقة complex numbers فأعتقد موجودة في السي بلص بلص في الـ std

و هي موجودة في الـ D في اللغة نفسها .. و هذه صفحة تقارن بينها و بين السي بلص بلص

http://www.digitalmars.com/d/cppcomplex.html

ماذا نستفيد منها؟

complex<long double> a = 5;  // a = 5 + 0i
complex<long double> b(0,7);  // b = 0 + 7i
c = a + b + complex<long double>(0,7);	// c = 5 + 14i

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 7 نوفمبر 2005 في 03:14

#3

انا مأفهم في الدوال هذه:

جتا.. جا...الخ

دائماَ أتنح فيها :blink:

بس آيش نسوي هذه الأشياء مهمة في برمجة الألعاب B)

#4

1.

لان في الاساس المعالج FPU يحتوي علي تعليمات لهذه الدوال fcos,fsin داخلياً .

3. اعتقد و اخمن انهم يستخدمون مفكوك تايلرو و ماكلروين .

6.

x = r * cos (theta) 
y= r* sin(theta)

7 . ممكن تفرض ثابت جاذبية ارضية 9.8 و هو المحور الصادي للشخصية و تنقص منه لكي تحاكي الجاذبية عندما يرتطم بالارض ( بالتاكيد عند موضع نقطة (x,y) تقوم بزيادة المحور الصادي للشخصية للقيمة اذا تخاطها ينزل ثانية للارض ) .

8. الدائرة هي المحل الهندسي لمجموعة من النقطة و لها مركز و نقص قطر ، ان استطعت ان ترسم نقطة كون مجموعة من النقطة طبقاً لمعادلة الدائرة

 X^2+Y^2=a
 x=r*cos(theta)
 y= r*sin(theta)

يعني هتقوم بتدوير الدالة التي ترسم النقطة علي محوري x,y من مركز الدائرة ، تخيل انك ترسم دائرة علي ورق ، سوف تحدد مركز و تصل مجموعة من النقط .

2. 8 بت = 1 بايت

حسابتك صحيحة ... علي اجهزة x86

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#5

السلام عليكم ورحمة الله

الاخ الكريم الشمري كل عام وحضرتك والاخوة بخير

اولا اشكرك انك بمشاركتك دى تلقى الضوء على اهمية الرياضيات فى شتى علوم الحاسب وتثبت من خلالها ان من لا يجيد الرياضيات من الصعب جدا ان يجيد ويحترف علوم الحاسب.

اخى الكريم رغم انى والحمد لله مدرس مساعد بالجامعة قسم الرياضيات (يعنى انت بتلعب فى ملعبنا ههههه) الا انى للاسف هحاول اجاوبك بقدر استطاعتى من وجهة النظر الرياضية فقط لانى وللاسف ايضا لم اتعامل مع لغات الجرافيكس والالعاب ولذلك حاول تستخلص مرادك من كلامى بقدر استطاعتك ولا تظلمنى وتقول معلوماته ضعيفة لانى كما قلت هكلمك رياضيا وليس برمجيا.

سؤالك الاول:

وهو عن دالة حساب الجذر Sqrt ولماذا تكون مكلفة ومرهقة للمعالج فى حين دالة التربيع Sqr سهلة جدا وغير مكلفة؟ (على فكرة الاسماء Sqrt و Sqr كما فى لغة الفورتران ولا اعلم مثيلتها فى لغة الجرافيكس والالعاب)

اخى الكريم هناك فرق رياضى كبير جدا بين حساب قيمة x بحيث x=a^2 وبين حساب قيمة x بحيث

x=Sqrt(a)

الاولى اخى الكريم هى معادلة خطية لحساباها لن تكلف البرنامج اكثر من عملية حسابية واحدة وهى ضرب قيمة a فى نفسها وانتهت المشكلة (طبعا للاسس الاعلى لغة البرمجة تستخدم طريقة اللوغاريتمات لحسابها).

اما الثانية فهى مشكلة رياضية معروفة عندنا باسم حلول المعادلات الجبرية الغير خطية. طبعا زمان وحاليا لم يكن معروف من العمليات الحسابية الا الاربع عمليات (الجمع والطرح والضرب والقسمة) وعندما ظهرت عملية ايجاد الجذور مع ظهور الاعداد الحقيقية كان المعروف معناها الرياضى فقط ولكن لم يكن معلوما كيفية حسابها الا فى حالات خاصة طبعا(فمعنا جذر a هو العدد الموجب الذى اذا ضرب فى نفسة كان الناتج a). ولذلك ظهرت مجموعة من الطرق التقريبية لعلاج مشكلات جذور المعادلات الغير خطية وطبعا من ضمنها كانت جذور الاعداد الحقيقة. ولالقاء الضوء ببساطة عن احد هذة الطرق المستخدمة فى الحاسوب او الالات الحاسبة وهى طريقة نيوتن وهى من افضل واشهر الطرق لمثل هذا الغرض. وبدون الدخول فى تفاصيل كثيرة اخى الكريم فان الخوارزمية التى من خلالها نقوم بحساب قيمة تقريبية للجذور التربيعية للاعداد الحقيقية هى

x(n+1)=(0.5)*(x(n)+a/x(n))

بحيث

x(0), x(1),..., x(n+1)

كلها تقريبات للعدد x حيث x^2=a

واول تقريب وهو

x(0)

نختارة باى قيمة قريبة من الجذر المتوقع. وطبعا المفروض الاكسات السابقة تتقارب للجذر (وهذا مضمون ومثبت رياضيا) وكلما حسبنا قيم اكثر كلما كانت النتائج ادق. وهنا قارن اخى الكريم بين عدد العمليات الحسابية لحساب قيمة a^2 وعدد العمليات المطلوبة لايجاد قيمة جذر a.

فمثلا لو معانا اول تقريب x(0) واردنا حساب x(1) تخيل كم عملية محتاجينها (ده شغلكم فى البرمجة)

محتاجين 3 عمليات حسابية لحساب اول قيمة فقط . المهم اخى الكريم من خلال خبرتى نحتاج تقريبا من 10-20 تقريب (على الاقل) للحصول على قيمة موثوق بها. ياترى كم عملية حسابية نحتاجها عندئذ؟ طبعا عدد كبير قوى , لذلك فحساب الجذور دائما مكلف جدا للمعالج.

وهذه اول اجابة واتمنى اكون وضحت وافدتك , واعذرونى اخوانى الكرام لو ان هناك أخطاء.

وسارفق باقى الاجابات فى مشاركات اخرى.

وبالتوفيق بعون الله,,,

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#6

السلام عليكم ورحمة الله

مازلت معك اخى الكريم الشمري

السؤال الثانى:

وهوخاص بالجداول التى من خلالها يتم حساب قيم الدوال المثلثية (وغير المثلثية كالدوال الزائدية واللوغاريتمية والاسية وكذلك الدوال الخاصة). فعلا اخى الكريم حساب تلك الدوال برمجيا يعتبر مكلف للمعالج (كما سنرى لاحقا) وبالتالى اللجوء الى الجداول مفيد لتوفير الذاكرة وزيادة السرعة.

ولكن اخى الكريم هذه الطريقة ايضا لها عيوبها وهى انه مهما كان لديك عدد كبير جدا من البيانات داخل الجداول لتحسب منه قيمة الدالة , فان هذه البيانات محدودة ولا تقوم بتغطية كل الاعداد الحقيقة الواقعة فى فى مجالها (مثال بفرض لديك قيمة الدالة عند 0.5و 1و 1.5 وهكذا فما قيمة الدالة عند 0.25؟ هنا وقعنا فى مشكلة رياضية جديدة تسمى الاستكمال).

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

اما لعمل جدول بنفسك وتضع فيه القيم التى تحتاجها ,فان هذا يتم بمنتهى السهولة . كل ما عليك فعله هو حساب قيم الدالة مسبقا عند النقاط التى تحتاجها باى لغة برمجة يمكنها حساب الدوال المثلثية وتقوم بعد ذلك بحفظ هذه القيم فى متجهين وليكونا X, Y بحيث تمثل X قيم النقاط وتمثل Y قيمة الدالة عند هذه النقاط . وتضع النتائج فى شكل ازواج مرتبه (x,y). ثم تقوم بالحاقها ببرنامجك على انها برنامج فرعى SubRoutine .

هذا هو رايى والله اعلى واعلم وهو الموفق,,,

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#7

السلام عليكم ورحمة الله

الاخ الكريم الشمرى

السؤال الثالث:

وهو السورس كود الذى من خلاله يتم حساب قيمة الدوال المثلثية Sin و Cos؟ (وعلى فكرة كتابتها كده غلط لازم نضع له باراميتر اى متغير)

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

والصورة العامة لمفكوك تيلور هى

f(x)=f(x0)+(x-x0)/1*f '(x0)+((x-x0)^2)/2*f ''(x0)+((x-x0)^3)/6+...

ومفكوك ماكلورين هونفسة تيلور بوضع x0=0 .

وكبعض الامثلة على مفكوك ماكلورين

Sin(x)=x-x^3/3!+x^5/5!-x^7/7!+...

Cos(x)=1-x^2/2!+x^4/4!-x^6/6!+...

Exp(x)=1+x+x^2/2!+x^3/3!+x^4/4!+...

حيث 5!=5*4*3*2*1

وهكذا يمكننا حساب قيمة اى دالة بنفس الطريقة. وطبعا فى حالة الدوال المثلثية نقوم اولا بتحويل قيمة x من التقدير الستينى الى التقدير الدائرى كما اشار الاخ الفاضل hasan_aljudy وذلك بضربها فى Pi ثم القسمة على 180.

يسأل احدهم ويقول لماذا لا نستخدم فكرة مفكوك مكلورين لحساب قيمة الجذور ؟

f(x)=Sqrt(x)

نقول لان

f '( x)=0.5/Sqrt(x)

وعند حساب مفكوك ماكلورين والتعويض بx=0 نجد اننا نقسم على الصفر وهذا غير جائز رياضيا. ولذلك لا نستطيع استخدام مفكوك ماكلورين هنا.

السؤال الرابع:

لحساب القيمة المطلقة ؟ الكود الذى تم وضعه صحيح. وان كان هناك دالة تقوم بذلك وهى دالة Abs وهى اختصار لكلمة Absolute اى مطلق وهذا ايضا اسمها فى الفورتران وفى ال C++ على ما اذكر هى fAbs .

السؤال الخامس:

والخاص بالاعداد المركبة؟

العدد المركب Z يكتب على الصورة

Z=X+i*Y حيث X, Y اعداد حقيقية, كما ان

i=Sqrt(-1)

غالبا للتعامل مع الاعداد المركبة برمجيا ,نعتبرها كزوج مرتب (X,Y) مع الاخذ فى الاعتبار العمليات الحسابية الاربعة (الجمع والطرح والضرب والقسمة) الخاصة بالاعداد المركبة (تختلف قليلا عن العمليات الحسابية للاعداد الحقيقية).

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

وهناك لغات برمجة تتعامل مع الاعداد المركبة بالكيفية المشار اليها سابقا (الازواج المرتبه) منها الفورتران وكمان والله اعلى واعلم ال C++.

ولنا لقاء اخر وبالله التوفيق,,,

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#8

جزاكم الله الف خير ::

طيب //

اولا :

اقتباس
انا مأفهم في الدوال هذه:

جتا.. جا...الخ

دائماَ أتنح فيها 

بس آيش نسوي هذه الأشياء مهمة في برمجة الألعاب

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

-------

سنعزل الاسئلة اللي انتهينا منها /

السؤال الاول :

نشكر احمد صالح + أ.د. عماد حمدي ,,, الذي احب اني ارفع له القبعة احتراما لهذا الرجل :) ,’’

يا عماد شرحك افضل من شرح مدرس الرياضيات اللي عندنا :) ,,

بل وافضل من كتاب الرياضيات للي ندرسه /

عندنا في كتاب الرياضيات يقول ..

********

اللوغاريتم هو ...... و ...... (لماذا؟ )

علما ان ..... (لماذا ؟)

********

يعني اذا جاء الى النقطة المهمة ,,, اعاطك السؤال ""لماذا"" :D .

وهذا اللي كرهنا بالرياضيات من نعومة اظافرنا :P

نعود //

اقتباس
فمثلا لو معانا اول تقريب x(0) واردنا حساب x(1) تخيل كم عملية محتاجينها (ده شغلكم فى البرمجة)

محتاجين 3 عمليات حسابية لحساب اول قيمة فقط . المهم اخى الكريم من خلال خبرتى نحتاج تقريبا من 10-20 تقريب (على الاقل) للحصول على قيمة موثوق بها. ياترى كم عملية حسابية نحتاجها عندئذ؟ طبعا عدد كبير قوى , لذلك فحساب الجذور دائما مكلف جدا للمعالج.

معلومة زي العسل .

السؤال الثاني /

حسن اعطانا الحل البرمجي ,, ماتوقعت انه في هالبساطة ... جدا رائع :]

اقتباس
معنى ذلك اخى الكريم ان التعامل مع الجداول اوعدمه يتوقف عليك وعلى برنامجك. فلو كنت تضمن ان برنامجك لن يحتاج الا لعدد محدود ومحدد من القيم

نعم اضمن ذلك :)

السؤال الثالث /

لم اجد شيء يا حسن في موقع

http://sources.redhat.com/glibc/

؟؟

على العموم انا كنت اريد محتوى الدوال المثلثية .., والاخ عماد ماقصر .

اقتباس
وكبعض الامثلة على مفكوك ماكلورين

Sin(x)=x-x^3/3!+x^5/5!-x^7/7!+...
 Cos(x)=1-x^2/2!+x^4/4!-x^6/6!+...

فقط كنت اريد كذا ,,, : )

السؤال الرابع ايضا تم حله ,,, الدالة abc ... مشكورين .

السؤال الخامس /

اقتباس
ماذا نستفيد منها؟
في الدراسة :) ’’’’’’’’ وايضا لاني رأيت في الاكسل .. دوال خاصة بالاعداد التخيلية ,, فحيرتني شوي . . .
اقتباس
ويكفى ان نعرف ان معظم خصائص الدوال (خاصة المثلثية) تم اثباتها فى حقل الاعداد المركبة ثم اعتبار ان Y وهو الجزء التخيلى للعدد المركب يساوى صفر فنحصل على الاعداد الحقيقية.

لو اني مش فاهم 100% ,, لكن لم نتعمق كثير في الاعداد المركبة ,, كل اللي درسناه قشور . . .

السؤال السادس /

احمد ////

انا جربت اللي كتبت ,,,, لكن طبعا يدور حول نقطة معينة .. انا اريده يدور حول نفسه ..

يعني مثل استخدام glRotate ..

جربت مثلا

	case WM_TIMER:
  { 
  HDC hdc =GetDC(hwnd);
                 SendMessage(hwnd,WM_ERASEBKGND,0,0);
  i+=5;
  x=  45*cos(i *(PI/180));
  y=  45*sin(i*(PI/180));
  Rectangle(hdc,x+100,y+100, 150+x,  150+y); 
    }
  break;

السؤال السابع /

اقتباس
ممكن تفرض ثابت جاذبية ارضية 9.8 و هو المحور الصادي للشخصية و تنقص منه لكي تحاكي الجاذبية عندما يرتطم بالارض ( بالتاكيد عند موضع نقطة (x,y) تقوم بزيادة المحور الصادي للشخصية للقيمة اذا تخاطها ينزل ثانية للارض ) .
سأجرب واطرح النتيجة هنا .

السؤال الثامن /

مشكور يا احمد //// يعني الحل الصحيح كذا /

  	case WM_LBUTTONDOWN:
  	{

    HDC hdc =GetDC(hwnd);
                SendMessage(hwnd,WM_ERASEBKGND,0,0);
    for(i=0;i<=360;i++)
    {
    x=  45*cos(i *(PI/180));
    y=  45*sin(i *(PI/180));
	SetPixel(hdc,x+100,y+100,RGB(255,0,0)); 
    }

  
  	}

جربتها وطلعت ايضا صحيحة .,, بس ان شاءالله تتحمل اللعبة هذه الطريقة ,, مع كثرة loop :( .

الاسئلة الباقية /

اقتباس
واخيرا احب ان اقحم هذا السؤال هن لاني احترت .. لا اعرف باي قسم اضعه ؟؟

انا حملت صورة ..

تحمل 4 قنوات , RGBA

دقتها 32 بت

طولها 200 بيكسل

عرضها 300 بيكسل .

1- هل من الممكن ايجاد حجم الصورة من خلال تلك البيانا

ت

وايضا .

اقتباس
انا اريد تدوير جسم ما ... مع العلم اني اعرف

left

right

top

bottom

كيف اقوم بتدوير هذا الجسم ( يا حبذا لو بدون مصفوفة  اذا امكن ذلك ) . طبعا 2d , --

حاولت لكن يدور حول نقطة ,, وانا اريده يدور حول نفسه ..مثل glRotate

ما توقعت احصل على كل هالاجابات ,, في اقل من 24 ساعة :D ,,, جزاكم الله الف خير .

تم تعديل هذه المشاركة بواسطة الشمري في 8 نوفمبر 2005 في 01:10

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

هذا الموضوع مغلق.

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