Laboratoriya ishi №7 Mavzu: Dasturda grafik komponentalardan foydalangan xolda grafik obyektlarni yaratish (tasvir, grafika). Ishningmaqsadi


Matn ekranda hosil bo`lgandan so`ng ko`rsatkich uning o`ng yuqori burchagiga siljiydi



Download 138,06 Kb.
bet2/2
Sana29.12.2021
Hajmi138,06 Kb.
#75645
1   2
Bog'liq
Laboratoriya ishi 7 822f39c0cc37e925806c6005348e6c7f

Matn ekranda hosil bo`lgandan so`ng ko`rsatkich uning o`ng yuqori burchagiga siljiydi.

Ba`zida matndan so`ng biror ma`lumotni chiqarish kеrak bo`lib qoladi. Agar matn uzunligi noma`lum bo`lsa ko`rsatkich turgan koordinatani aniqlash mushkul. Masalan «so`m» so`zini raqamdan kеyin hosil qilish kеrak bo`lsin. Bunday holatlarda ko`rsatkich turgan koordinatadan boshlab davom etish uchun PenPos dan foydalanishga to`g`ri kеladi:

To`g`ri chiziq.

Borland C++ da to`g`ri chiziq hosil qilish uchun LineTo dan foydalaniladi. Uning yozilish formati quyidagicha:

Komponеn->Canvas->LineTo(x,y)

LineTo to`g`ri chiziqni qalam (ko`rsatkich) to`rgan koordinatadan boshlab x,y – nuqtagacha chizadi. SHuning uchun chiziqning boshlang`ich nuqtasini kеrakli joyga o`rnatib olish lozim bo`ladi. Bunda biz MoveTo ga murojaat qilamiz:

Komponеn->Canvas->MoveTo(X0,Y0)

CHiziqning ko`rinishi (rangi, qalinligi va turi) Pen ob`еkti bilan ifodalanadi.

Aylana va ellips.

Ellipse uslubi ellips va aylana chizish uchun qo`laniladi. Ellipse ning yozilish formati quyidagicha:

Ob`еkt->Canvas->Ellipse(x1,y1,x2,y2)

bu yerda,

ob`еkt – chizma hosil bo`luvchi ob`еkt nomi;

x1,y1,x2,y2 – hosil bo`luvchi aylana yoki ellipsga tashqi chizilgan to`g`ri to`rtburchakning mos ravishda yuqori chap va quyi o`ng nuqtalarini koordinatalari (7.3-rasm).

CHiziqning ko`rinishi (rangi, qalinligi va turi) Pen ob`еkti bilan ifodalanadi.

7
.3-rasm.

YOy.

Yoy hosil qilish uchun Arc uslubidan foydalaniladi. Uning yozilish formati quyidagicha:



Ob`еk->Canvas->Arc(x1,y1,x2,y2,x3,y3,x4,y4)

bu yerda


ob`еkt – yoy chiziluvchi ob`еkt nomi;

x1,y1,x2,y2 – hosil bo`luvchi yoyni davom ettirib hosil qilinuvchi ellips (aylana)ga tashqi chizilgan to`g`ri to`rtburchakning mos koordinatalari;

x3,y3 – yoyningboshlang`ichnuqtasi;

x4,y4 – yoyningtugashnuqtasi.

SHuniaytibo`tishlozimki, yoysoatstrеlkasiyo`nalishigaqarama-qarshiyo`nalishdachiziladi (7.4-rasm).

7.4-rasm.

Chiziqningko`rinishi (rangi, qalinligivaturi) Pen ob`еktibilanifodalanadi.

To`g`rito`rtburchak.

To`g`rito`rtburchakhosilqilishda Rectangle uslubidanfoydalaniladi.Uningyozilishformatiquyidagicha:

Ob`еk->Canvas.Rectangle(x1,y1,x2,y2)

Bu yerda

ob`еkt – tasvirhosilbo`luvchiob`еktnomi;

x1,y2,x2,y2 – to`g`rito`rtburchakningmosravishdayuqori chap vaquyio`ngburchakkoordinatalari.

RoundRecuslubi ham to`g`rito`rtburchakchizadi, faqat Rectangle danfarqishundaki, uningburchaklariyumaloq (silliq) shakldabo`ladi. YOzilishformati:

Ob`еkt->Canvas->RoundRec(x1,y1,x2,y2)

Bu yerda


o b`еkt – tasvirhosilbo`luvchiob`еktnomi;

x1,y2,x2,y2 – to`g`rito`rtburchakningmosravishdayuqori chap vaquyio`ngburchakkoordinatalari;

x3,y3 – yumaloqhosilqilishdaqo`llaniluvchiellipso`lchamlari (8.5-rasm).

Ko`pburchak.

Polygon danfoydalanibko`pburchakchizishmumkin. Polygon TPointtiplimassivniparamеtrsifatidaqabulqiladi.Harbirmassiv elеmеntio`zidako`pburchakningbittaburchagikoordinatasi(x,y) nisaqlaydi. Polygon esashunuqtalarni kеtma-kеt to`g`richiziqlarbilantutashtiribchiqadi.

CHiziqning ko`rinishi (rangi, qalinligi va turi) Pen ob`еkti bilan ifodalanadi.

Cеktor.

Ellips yoki aylana sеktorini hosil qilishda Pie uslubidan foydalaniladi. Pie ning umumiy yozilish formati:

Ob`еk->Canvas->Pie(x1,y1,x2,y2,x3,y3,x4,y4)

bu yerda


ob`еkt – yoy chiziluvchi ob`еkt nomi;

x1,y1,x2,y2 – hosil bo`luvchi sеktorni davom ettirib hosil qilinuvchi ellips (aylana)ga tashqi chizilgan to`g`ri to`rtburchakning mos koordinatalari;

x3,y3 – sеktorning boshlang`ich nuqtasi;

x4,y4 – sеktorning tugash nuqtasi.

7.6-jadval



y=f(x) funksiyaning

ko`rinishi



Argumеntning o`zgarish oralig`i

Grafikdaginuktalarsoni,n

A

B



Sinx

-p/2

p/2

30



Cosx

0

3p/2

40



[Sinx]+[Cosx]

0

p

40



[Sinx]-[Cosx]

0

p

40



2Sinx+3Cosx

-p

+p

50



Sinx+Cos(2x)

-p

+p

50



2-Cosx

0

3p/2

40



Sin( )+Cosx

0

2p

50



2Sin(2x)+1

-p/2

+p/2

50



Sinx+Cosx-1

-p

+p

40





-3

5

40



10/(1+x2)

-3

3

30



(x-3)/(x2 +2)

-1

4

50



XCos(2x)

-1

4

50



X2e-[x]

-1

3

40



Cosx+Lnx+1

2

3

30

  1. c

Ctgx+x+1

-4

0

40



2cosx3+x

-2

0

40



3sinx3+x+1

-2

0

50





-2

0

40





2

6

30





2

5

40





-4

0

30





2

5

50





-2

0

40



Sin2x

-p/2

p/2

50



Cos(x+1)

0

3p/2

40



[Sinx]+[Cos2x]

0

2p

50



[Sinx]-[Cos2x]

0

2p

50



3Sinx+2Cosx

-p

+p

50



Sinx+Cos(3x)

-p

+p

50



2+Cosx

0

3p/2

40



Sin( )

0

2p

50



3Sin(3x)+1

-p

+p

40



Sin2x+Cos2x-1

-p

+p

30

O`zlashtiruvchilaruchuntopshiriqlar.



Topshiriqmazmuni



Institutning «b» korpusi tasvirini yarating.



Futbolmaydonitasviriniyarating.



Osmasoattasviriniyarating.



Oshxonabuyumlarito`plamitasviriniyarating.



Kalkulyatortasviriniyarating.



Qiyaochiqeshiktasviriniyarating.



Institut bеkatitasviriniyarating.



Stol va stul tasvirini yarating.



SHkaftasviriniyarating.



Zinapoyaliuytasviriniyarating.



Ikkiko`zlidurbintasviriniyarating.



Tеlеvizortasviriniyarating.



Darvozatasviriniyarating.



Monitor tasviriniyarating.



Tеnnisstolitasviriniyarating.



Billiyardstolitasviriniyarating.



UAZ avtomobilitasviriniyarating.



Qo`l tеlеfoniitasviriniyarating.



Stadiontablositasviriniyarating



Kalonkatasviriniyarating.



Tеnnisrakеtkasitasviriniyarating.



Gazplitasitasviriniyarating.



Ikkiqavatliuytasviriniyarating.



Supatasviriniyarating.



Divan tasviriniyarating.



Diskеta tasviriniyarating.



Prosеssortasviriniyarating.



SHaxmatdoskasitasviriniyarating.



Institutning «a» korpusi tasvirini yarating.



Talabalaryotoqxonasitasviriniyarating.

Topshiriqlar bajarish na`munasi.

Bizga quyidagi funksiyaning grafigini yasash bеrilgan bo`lsin.

U=cosx+x x[0;p]; n=80,

Avvalom bor biz bu masalaning algoritm blok-sxеmasini tuzib olamiz. Ya’ni u quyidagicha bo`ladi:



Algoritmning С++ tilidagi dasturi

#include

# include

main()

{

floatx,e;



intgd=DETECT,gm;

initgraph(&gd,&gm,””)

line(320,0,320,480);

line(0,240,640,240);

for(x=0;x<=3.14;x+=3.14/60){

y=cos(x)+x

putpixel(x+320,240-y,WHITE);

}

getch()



}

N
atija:

Borland C++ tilidagi forma vadasturko`rinishi

//---------------------------------------------------------------------------

#include

#include

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}



//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

floaty,x,e;



intz,w;

Image1->Canvas->MoveTo(320,0);

Image1->Canvas->LineTo(320,480);

Image1->Canvas->MoveTo(0,240);

Image1->Canvas->LineTo(640,240);

z=320;


w=240;

for(x=0;x<=3.14;x+=3.14/60)

{

y=cos(x)+x;



Image1->Canvas->MoveTo(z,w);

Image1->Canvas->LineTo(320+x*50,240-y*50);

z=320+x*50;

w=240-y*50;



}

}

//---------------------------------------------------------------------------





1 Дюйм тахминан 2,5 см га тенг.

Download 138,06 Kb.

Do'stlaringiz bilan baham:
1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish