آموزش برنامه نویسی به زبان ++C

این وبلاگ جهت آموزش برنامه نویسی به زبان ++C برای دانش آموزان دبیرستان فرزانگان ایجاد شده است.

۴ مطلب با موضوع «گرافیک» ثبت شده است

برای دریافت به ادامه مطلب بروید

 

۲۵ سوال موافقین ۰ مخالفین ۰ ۲۷ خرداد ۹۱ ، ۲۳:۰۰
سارا نازاری

برای حرکت در محیط گرافیکی نیازمندیم که حرکت را مانند ساخت فیلم و انیمیشن به چند مرحله تبدیل کنیم... 

 

۱۸ سوال موافقین ۰ مخالفین ۰ ۱۲ ارديبهشت ۹۱ ، ۰۹:۳۸
سارا نازاری

در این بخش ادامه ی سوالهای ورودی و خروجی که همراه با گرافیک هستند را حل خواهیم کرد

 

۲۳ سوال موافقین ۰ مخالفین ۰ ۰۶ فروردين ۹۱ ، ۱۷:۰۶
سارا نازاری

محیط گرافیکی در زبان ++c با پنجره­ ی خروجی تفاوت دارد. یعنی می­­توان همزمان از هر دوی این پنجره­­ها استفاده کرد.

برای کار در محیط گرافیکی، ابتدا باید کتابخانه­ی مربوط به دستورات گرافیکی را به برنامه اضافه کنیم. یعنی باید در ابتدای برنامه بنویسیم:

#include <graphics.h>

بعد از این کار می­توانیم از دستورات گرافیکی در برنامه استفاده کنیم و دستورات گرافیکی برای برنامه شناخته شده خواهند بود. در ابتدای نوشتن دستورات گرافیکی باید یک پنجره گرافیکی باز کنیم و بعد از آن مجاز به استفاده از دستورات گرفیکی هستیم. برای باز کردن پنجره گرافیکی به صورت زیر عمل می­کنیم:

initwindow (600, 600);

دستور زیر برای شما پنجره گرافیکی به اندازه­ی 600 در 600 پیکسل باز می­کند.

محیط گرافیکی محیطی  است که با مختصات و x و y سر و کار دارد. نقطه­ی (0و0) این محیط در گوشه­ی بالا سمت چپ قرار دارد. در واقع به شکل زیر است که در آن هر چه به راست می­رویم مقدار x  از صفر بیشتر و بیشتر می­شود و هرچقدر از بالا به پائین میرویم مقدار y از صفر بیشتر و بیشتر می­شود.

پس در شکل بالا روابط زیر برقرار است:

x2>x1             ,           y2=y1

x4>x1             ,           y4>y2

x1=x3             ,           y3>y1

در شکل بالا دو خط به دلخواه رسم شده­اند.

خط 1 به 4 از نقطه­ی (50و50) به (450و450) و خط 3 به 2 از نقطه­ی (450و50) به (50و450) رسم شده­اند.

پس صورت کلی استفاده از دستورات به شکل زیر می­ باشد:

برای رسم دایره در محیط گرافیکی از دستور زیر استفاده میکنیم:

#include <graphics.h>
main()
{
    initwindow(500, 500);
    // dastoorate graphici inja neveshte shavand.
    getch();
}

 

در ادامه برخی از دستورات گرافیکی را با هم مرور می­کنیم.

دایره

 دستور زیر برای رسم دایره استفاده می­شود:

circle(x, y, r);

برای رسم دایره به سه عدد احتیاج داریم. دو عدد اول برای نشان دادن مختصات مرکز (x,y) استفاده می­شوند. و عدد سوم r برای نشان دادن طول شعاع استفاده می­شود.

 

مثلا برنامه زیر را ببینید:

main()
{
    initwindow(300, 200);
    circle(100, 100, 75);
    getch();
}

خروجی آن به شکل زیر می­باشد:


در این شکل پنجره­ی گرافیکی به اندازه­ی 300 در 200 پیکسل باز شده است. دایره در مرکز (100و100) به شعاع 75 پیکسل رسم شده است.

مستطیل

 برای رسم مستطیل تو خالی به دو نقطه­ی ابتدایی و انتهایی یک قطر از مستطیل احتیاج داریم و این یعنی چهار عدد:

rectangle(x1, y1, x2, y2);

مثلا برنامه زیر را ببینید:

main()
{
    initwindow(300, 200);
    rectangle(100, 100, 250, 150);
    getch();
}

خروجی آن به شکل زیر می­باشد:

در این شکل پنجره­ی گرافیکی به اندازه­ی 300 در 200 پیکسل باز شده است. مستطیل از نقطه­ی  (100و100) به نقطه­ی (150و250)  رسم شده است.

اگر بخواهید مربع رسم کنید باید از همین دستور استفاده کنید. برای رسم مربع تنها نکته­ای که باید به آن توجه داشته باشید این است که اختلاف x ها برابر با اختلاف  y ها بشود.

main()
{
    initwindow(300, 200);
    rectangle(100, 50, 175, 125);
    getch();
}

خروجی به شکل زیر می­شود:

 

خط

برای رسم یک خط  به مختصات دو نقطه­ی ابتدایی و انتهایی آن خط احتیاج داریم و این یعنی چهار عدد :

line(x1, y1, x2, y2);

مثلا برنامه زیر را ببینید:

main()
{
    initwindow(300, 200);
    line(100, 100, 250, 150);
    getch();
}

خروجی آن به شکل زیر می­باشد:

در این شکل پنجره­ی گرافیکی به اندازه­ی 300 در 200 پیکسل باز شده است. خط از نقطه­ی  (100و100) به نقطه­ی (150و250)  رسم شده است.

 

برای استفاده از رنگ برای تغییر رنگ هر یک از این شکل­ها از دستور زیر استفاده می­کنیم:

setcolor(عدد)

که در داخل پرانتز شماره­ی رنگ مورد نظر را که یکی از اعداد 0 تا 15 را شامل می­شود. هر یک از این اعدا نشان دهنده­ی یک رنگ می­باشند. صفر رنگ سیاه و 15 رنگ سفید می­باشند.

توجه داشته باشید که این قسمت درست مانند نقاشی روی کاغذ می­باشد که ابتدا مداد رنگی را به دست می­گیرید و بعد شکل دلخواه را رسم می­کنید. پس ابتدا از دستور تغییر رنگ استفاده می­کنیم و پس از آن شکل مورد نظر را رسم می­کنیم.

به برنامه­ی زیر دقت کنید:

main()
{
    initwindow(300, 200);
    setcolor(14);
    circle(100, 100, 50);
    setcolor(12);
    rectangle(100, 100, 250, 150);
    setcolor(13);
    line(100, 100, 250, 150);
    getch();
}

خروجی برنامه به صورت زیر می­باشد:


شما دیگر باید بتوانید مختصات­ها را درست قرار بدهید تا بتوانید شکل­هایی به صورت بالا بکشید. در شکل بالا دایره و مستطیل مماس هستند و خط رسم شده قطر مستطیل می­باشد.

تا الان همه­ی شکل­هایی که یاد گرفتید اشکال توخالی بودند. اکنون چند شکل توپر را نیز یاد خواهیم گرفت:

بیضی توپر

برای رسم بیضی توپر از دستور زیر استفاده می­کنیم:

 fillellipse(x, y, r1, r2);

که دو عدد اول مختصات مرکز بیضی و دو عدد بعدی شعاع بزرگ و کوچک بیضی را نشان می­دهند. r1 شعاع افقی و r2 شعاع عمودی می­باشند. پس برای رسم دایره توپر دستوری مجزا نداریم:

 

r1>r2              بیضی خوابیده

r1<r2              بیضی ایستاده

r1=r2              دایره توپر

         

به برنامه­ی زیر توجه کنید:

main()
{
    initwindow(450, 200);
    fillellipse(75, 80, 25, 75);
    fillellipse(200, 80, 75, 25);
    fillellipse(375, 80, 50, 50);
    getch();
}

خروجی برنامه سه شکل زیر را رسم می­کند:


مستطیل توپر

برای رسم مستطیل توپر به دو نقطه­ی ابتدایی و انتهایی یک قطر از مستطیل احتیاج داریم و این یعنی چهار عدد ( دقیقا مشابه دستور رسم مستطیل توخالی)

bar(x1, y1, x2, y2);

مثلا برنامه زیر را ببینید:

main()
{
    initwindow(300, 200);
    bar(100, 100, 250, 150);
    getch();
}

خروجی آن به شکل زیر می­باشد:


در این شکل پنجره­ی گرافیکی به اندازه­ی 300 در 200 پیکسل باز شده است. مستطیل از نقطه­ی  (100و100) به نقطه­ی (150و250)  رسم شده است.

اگر بخواهید مربع توپررسم کنید باید از همین دستور استفاده کنید. برای رسم مربع تنها نکته­ای که باید به آن توجه داشته باشید این است که اختلاف x ها برابر با اختلاف  y ها بشود( درست مانند مربع توخالی)

main()
{
    initwindow(300, 200);
    bar(100, 50, 175, 125);
    getch();
}

خروجی به شکل زیر می­شود:

 


برای رنگی کردن و همچنین انتخاب مدل توپری اشکال توپر از دستور زیر استفاده میشود:

	setfillstyle(p, c);

که عدد اول از یک تا یازده برای انتخاب الگوری پر کردن شکل و عدد دوم هم برای انتخاب رنگ شکل مورد نظر استفاده می­شود.

برای رسم یک کمان از از دستور زیر استفاده می­کنیم:

	arc(x1, y1, sa, ea, r);

که دو عدد اول برای مختصات دایره­ای که این کمان بخشی از آن بوده است استفاده می­شوند. دو عدد بعدی برای زاویه شروع و پایان ( از 0 تا 360 درجه) کمان استفاده می­شوند  عدد پنجم هم برای طول شعاع دایره که کمان بخشی از آن بوده است استفاده می­شود.

 

برای رسم مکعب مستطیل از دستور زیر استفاده می­کنیم:

	bar3d(a, b, c, d, e, f);

که این دستور به شش عدد احتیاج دارد. این اعداد به ترتیب مختصات سه نقطه ی چپ بالا،راست پایین و عمق بالا را نشان می­دهند.

برای رسم بیضی تو خالی از دستور زیر استفاده می­کنیم:

	ellipse(x, y, sa, ea, r1, r2);

که دو عدد اول مختصات مرکز بیضی ، دو عدد دوم زاویه شروع و پایان بیضی(می­توان بیضی را لزوما کامل نکشید) و دو عدد آخر شعاع­های بیضی مربوطه می­باشند.

برای استفاده از سایر دستورات به نکات دیگری نیازمندیم که در آینده بیان خواهند شد.

در ادامه به مرور و بررسی تمرین­های مطرح شده در کلاس می­پردازیم...

 

۳۴ سوال موافقین ۲ مخالفین ۰ ۰۹ اسفند ۹۰ ، ۱۶:۳۰
سارا نازاری