Нысанды программалар


ЖОСПАР:

КІРІСПЕ

І БӨЛІМ. НЫСАНДЫ ПРОГРАММАЛАР: OPEN GL

1. 1 OPEN GL орнату жолдары.

1. 2 Графикамен жұмыс жасау

1. 3 «Үш өлшемді фигуралар»

1. 4 Жаңадан координаттарға көшу.

ІІ БӨЛІМ. НЫСАНДЫ ПРОГРАММАЛАР: DIRECT X

2. 1. Сом туралы жалпы түсінік.

2. 2 Визуалдық эффекттер.

2. 3 Расторлық бейнелерді сақтау.

2. 4 Объекттерді таңдау

ҚОРЫТЫНДЫ

ҚОЛДАНҒАН ӘДЕБИЕТТЕР ТІЗІМІ


КІРІСПЕ

Менің курстық жұмысымның тақыры: «Нысанды программалар» болғандықтан мен Open Graphics Library және DirectX программаларын сипаттауды жөн көрдім.

Себебі, бұл программалар қазіргі кезде кең өрісте қолданылуда. Бұл программалар арқылы графиктік суреттерді, сондай - ақ мультимедиялық қосымшаларды құруға болады.

OpenGL - Open Graphics Library, ашық графикалық кітапхана болып саналады. «Ашық» термині өндірішулерге бағынбайды деген ұғымды білдіреді. Бұл кітапхананы Microsoft, Silicon Graphics сияқты ірі корпорациялар шығарады.

OpenGL кітапханасы үш мөлшерлі графиканы программалайтын интерфейс негізінде қарастырылады. Бағдарламаны құрушы белгілі бір биіктікті таңдап, оны қалайша қосу керектігін көрсетеді. Камералардың және шамдардың параметрлерін құрайды. Ал OpenGL кітапханасы бұл параметрлерді қолдана отырып, экранға қажетті суретті бейнелеп шығарады.

DirectX - бұл драйверлер жинағы, ол Windows ортасындағы және ақпарат құралдардың арасында белгілі бір интерфейс құрайды. DirectX өте қарқынды дамып келе жатыр, оны құрастыратын корпорациялар жыл сайын оның жаңадан версиясын құрастырады. DirectX құралы мультимедиялық қосымшаларды құруға арналған.

Әрбір жаңа версия бұрынғысына қарағанда бұл бағдарламен жұмыс істеу кезіндегі жаңа мүмкіндіктермен ерекшеленеді.

Мен өз жұмысымда DirectX (API) жетінші және сегізінші версияларын тікелей қарастырамын.

Бұл жұмыста мен көптеген (суреттелген) мысалдар келтіремін.

І БӨЛІМ. НЫСАНДЫ ПРОГРАММАЛАР: OPEN GL

1. 1 OPEN GL ОРНАТУ ЖОЛДАРЫ.

Ең бірінші біз қажетті бағдарламалық қамтуды орнатудан жұмысызды бастаймыз. Біріншіден, MSVisualC++6. 0 және jdk113 орнатамыз. Екіншіден бізге OpenGL кітапханасын өндіруші қажет болады. Ол Windows95/NT қосымшасына тікелей байланысты, оған opengl32. dll & glu32. dll кітапханалы кіреді. Сонымен қатар OpenGL кітапханасын Silicon Graphics алуға болады. Оpengl. dll және glu. dll windows\system көшіріп алу керек, одан кейін opengl. lib, glu. lib Lib каталогына орналастырамыз. Онда MSVisualC++ ортанулыу керек.


1. 2 Графикамен жұмыс жасау

OpenGL бүкіл мүмкіншіліктерін сфера объектісі айқын көрсетеді. Оны көрсету үшін VisualC++ келесі амалдарды орындау керек:

  1. MSVisualC++6. 0 бағдарламасын іске қосу;
  2. File->New->Win32 Console Application менюсын ашу;
  3. Проекттің атын және каталогын таңдау, sphere жазу, OK батырмасын басу.
  4. An Empty Project таңдап, Finish басу;
  5. glaux. c шаблоның өз каталогынызға көшіріп алып, оған sphere. c деген жаңа ат қою;
  6. Оны Project->Add To Project->Files проектісіне қосу;
  7. Build->Set Active Configuration басып тұрып, sphere - Win32 Release проекттің түрін таңдау;
  8. Project->Settings->Link->Object/library modules басу, opengl32. lib, glu32. lib и glaux. lib қосу;
  9. display функциясына келесі кодты қойыңыз:

glColor3d(1, 0, 0) ;

auxSolidSphere(1) ;

  1. Енді бағдарламаны іске қосуға болады. (Меню Build->Execute Sphere. exe)

glColor3d функциясы өтпелі түсті орнатады, онымен фигуралар боялады.

Түс төрт параметр бойынша орнатылады: қызыл, көк, жасыл, мөлдір ашык. Бұл аталған параметрлер нольден бірге дейінгі аралыкта таңдалады.

Си тілінде қайта жүктеу қызметі іске аспайтындығынан функцияны шақыратын келесі синтаксис тікелей қолданылады: FuncionName

[n= параметрлер саны]

[параметрлер түрі] .

Келесі түрлерді қолдануға болады:

b - GLbyte байт s - GLshort қысқаша тұтас i - GLint тұтасf - GLfloat бөлшекd - GLdouble екілік дәлдікті бөлшек ub - GLubyte белгіленбеген байт us - GLushort белгіленбеген қысқаша тұтас ui - GLuint белгіленбеген тұтас v - берілген n параметрдің түріндегі массив

Белгіленбеген байтты келесі формуламен жүзеге асыруға болады: /255, (255 - 1 байттағы сақталатын максималдық сан) . glColor3dv функциясы көрсетеді, параметрлер 3 GLdouble түрінің элементтерінен тұратын массив түрінде беріледі.

Мысалы:

double array[] = {0. 5, 0. 75, 0. 3, 0. 7};

. . .

glColor3dv(array) ;

glColor3ub(200, 100, 0) ; // 200/256, 100/256, 0, 256 әкелінеді

glColor3d(0. 25, 0. 25, 0) ; // сары

glColot3ub(0, 100, 0) ; // жасыл

glColor3ub(0, 0, 255) ; // көк

аuxSolidSphere функциясы кородинаттың басындағы және бірлік радиусындағы сфераны суреттейді.


1. 3 «Үш өлшемді фигуралар»

auxSolidSphere функциясын астыда көрсетілген параметрлерге сай функцияға ауыстыру керек. Параметрлер мәнің бірлік тәртібіне сай етіп орнату қажет - яғни, 0. 5-1. 7.

Егер өте кішкентай мөлшерді таңдасаңыз, онда фигура жаман көрінеді.

Ал егер тым үлкен қылып жасасаңын, онда фигура кескін болып көрінуі мүмкін.

Бұл функциялар арқылы жазықтықталған фигурларды салуға болады:

auxSolidCube(width) // куб auxSolidBox(width, height, depth) // қорапauxSolidTorus(r, R) // тор auxSolidCylinder(r, height) // цилиндр auxSolidCone(r, height) // конус auxSolidIcosahedron(width) // көп бұрыш auxSolidOctahedron(width) auxSolidTetrahedron(width) auxSolidDodecahedron(width) auxSolidTeapot(width) // шәугімді салады т. б.

Егер сымдық фигураны салу керек болса, онда Solid орнына Wire жазасыз.
Мысалы:

auxWireCube(1) // сымдық кубты бейнелейді.


1. 4 Жаңадан координаттарға көшу.

Жаңадан координаттарға көшу ұшін OpenGL келесі екі функцияны қолдануға болады:

glTranslated( x, y, z ) glRotated(, x 0 , y 0 , z 0 )

Бірінші функция жүйенің басын ( x, y, z) координаттарына жылжытады. Ал екіншісі,  бұрышына сағат тіліне қарама қарсы (x 0 , y 0 , z 0 ) векторды айнала жылжытылады. Тағы да екі маңызды функция:

glPushMatrix() glPopMatrix()

Олар өтпелі координаттарды сақтауға және оларды қайтадан іске қосуға арналған. Бұл координаттарды glPushMatrix() көмегімен сақтаған өте қолайлы, ал бұрынғы қалпына қайта келтіру үшін glPopMatrix фукциясы қолданылады.

Жоғарыда аталған процестерді жүзеге асыру үшін жаңадан проект құру керек, оған sphere2 деген ат қою қажет. Display функциясына келесі кодты жазу керек:

glPushMatrix() ; // өтпелі кординаттарды сақтау

glTranslated(1. 4, 0, 0) ; // Х осі бойымен 1. 4 жылжыту

glColor3d(0, 1, 0) ;

auxSolidSphere(0. 5) ; // 1. 4, 0, 0-те сфераны салу

// абсолюттік координаттарда

glTranslated(1, 0, 0) ; // тағы бір рет жылжыту

glColor3d(0, 0, 1) ;

auxSolidSphere(0. 3) ;

glPopMatrix() ; // бұрынғы кординат жүйесіне қайтадан ену

glColor3d(1, 0, 0) ;

auxSolidSphere(0. 75) ; // (0, 0, 0) нүктесінде сфераны салу

// абсолюттік координаттарда

Енді бағдарламаны іске қосуға болады:

Build->Execute Sphere. exe

ІІ БӨЛІМ. НЫСАНДЫ ПРОГРАММАЛАР: DIRECT X

2. 1. СОМ туралы жалпы түсінік.

Операциондық жүйенің жұмысын келесі амал бойынша қарастрайық. Қажетті функциясы бар кітапхананы орнатамыз.
Жасалынатын жұмыстың инструкциясын Delphi ортасына құрастырайық. Соңғы қорытындысы ExOl каталогында орналасады.

Негізгі менюдан File New пунктін таңдап, пайда болған New Items терезесіндегі "DLL" белгісін басыңыз.

Проектті компликтировалдаудан кейін оны бірден іке қосуға болмайды.

1. 1. сурет Құрылған кітапхананың секциясындағы экспортталған функцияларда DrawBMP атауының жоқ болуын қадағалаймыз.

implementation секциясына келесі жолды енгізу керек::

procedure DrawBMP (Handle : THandle) ; stdcall; external 'Projectl. dll';

1. 2. сурет. Барлық импортталған қосымша функциялардағы ақпарат анализ жасау үшін қолайлы.


Regedit. exe реестірін реттейтін жүйелік бағдарламасын іске қосқаннан кейін идентификатордың кез келген түрін іздеуді қимылдатқаннан кейін ақпарат базасындағы қажетті жазуларды табуға болды. (1. 3. сурет)

Ex01 каталогының проектінде фон түрінде жоғарыдағы сурет берілген. Оның фонында көрсеткіш бейнеленген. Ол тышқан арқылы басқарылады. (1. 4 сурет)

Ех03 проект каталогында DirectDraw негізінде 256 түстік режим қолданылады. (1. 5 сурет) .


2. 2 Визуалдық эффекттер.

Ех14 каталогының проектісінде «бұрыш» эффектісі қосылған (теледидардағы дұрыс емес көрініс тәрізді эффект)

(1. 6 сурет)

Бұл эффекті щығару өте оңай. Бейненің массивынан берілген нүктелерді таңдау арқыы бұл процесс іске асады, қалған нүктелерді қара түсте қалдыра беруге болады.

function TfrmDD. Effect : HRESULT; var
desc : TDDSURFACEDESC2;
i, j : Byte;
Image : TByteArray; // Көмектескіш массив,
//мөлшерлер k : Integer; hRet : HRESULT; растрларына сәйкес
begin
Result := DD_FALSE; ZeroMemory (@desc, SizeOf(desc) ) ; desc. dwSize := SizeOf(desc) ;
// Локалдық массивтерді әақашан да инициалировалдау керек ZeroMemory (@Image, SizeOf (Image) ) ;
for k := 0 to 1 do begin // Жоғарғы максимум бұрыш қоюлығын береді

i := random (255) ; // Кіші интервалды таңдау

j := random (255) ; // 256x256 растр барлық аймақты алмайды
Image [i, j] := Pict [i, j] ; // Растр нүктесін таңдаймыз
end;
hRet := FDDSPrimary. Lock (nil, desc, DDLOCK_WAIT, 0}; if Failed (hRet) then begin
Result := hRet;
Exit;
end;
for i := 0 to 255 do
for j := 0 to 255 do
PByte (Integer (desc. IpSurface) + (j + 113) * desc. lPitch + i + 193) ^ := Image [i, j] ;
Resuit := FDDSPrimary. Unlock (nil) ;
end;

Нүктелердің саның ортайту үшін 9 көршілес нүкте таңдалады:

function TfrmDD. Blend : HRESOLT;
var
desc : TDDSURFACEDESC2 ;
i, j : Byte;
Pict : Array [0. . 63, 0. . 63] of Byte;
hRet : HRESULT;
begin
ZeroMemory (@desc, SizeOf(desc) ) ; desc. dwSize := SizeOf(desc) ;
hRet := FDDSBack. Lock (nil, desc, DDLOCK_WAIT, 0) ; if Failed (hRet) then begin
Result := hRet;
Exit;
end;
//Көмектескіш массивқа for i := 0 to 63 do растрының аймағы кіргізіледі.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Нысанды-бағдарланған программалаудың негізгі принциптері
SQL сұраныстар тілі. Мәліметтер қорын жобалау
Жасанды интеллект
Delphi ортасынның графикалық мүмкіндіктерін сипаттайтын программа
Дельфи ортасында тізімдермен жұмыс істейтін компоненттер
Утилиттер, олардың типтері. Операциялық жүйе, оның атқаратын негізгі мәселелері. IBM PC типіндегі компьютерлерде қолданылатын операциялық жүйелер. кірістірілген программаларға мысалдар
Мұнай және мұнайөнімдерінің кез-келген температурасына сай тығыздық пен тұтқырлықты аңықтаудың программасын құру
Абайдың қара сөздеріне мультипликация
Java программалау тілі
Компьютерлік модельдеу бағдарламаларының түрлері
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz