Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИГС / IGS / Lab1 / Контр_вопр

.txt
Скачиваний:
3
Добавлен:
29.05.2018
Размер:
12.18 Кб
Скачать
яю1. 0: CAB0=02;8205BAO A2O7L <564C <8@>2K<8 8 M:@0==K<8 :>>@48=0B0<8.

>>@48=0BK <8@>2>9 A8AB5<K :>>@48=0B >?8AK20NB 8AB8==>5 ?>;>65=85 >1J5:B0 2 ?@>AB@0=AB25.

B>@0O A8AB5<0 :>>@48=0B  M:@0==0O (8;8 D878G5A:0O) A8AB5<0 :>>@48=0B. -B0 A8AB5<0 :>>@48=0B A2O70=0 A CAB@>9AB2>< 2K2>40 - M:@0=>< <>=8B>@0, ?@8=B5@><, 8 B.4. (=0G0;> :>>@48=0B 2 25@E=5< ;52>< C3;C 8 548=8F0 87<5@5=8O - ?8:A5;8).

5>1E>48<> A>?>AB028BL :064>9 B>G:5 A 2 <8@>2KE :>>@48=0B0E (x, y) A>>B25BAB2CNICN B>G:C A 2 M:@0==KE :>>@48=0B0E (n, m). ;O ?5@5E>40 >B <8@>2>9 A8AB5<K :>>@48=0B : M:@0==>9 A8AB5<5 :>>@48=0B, >1KG=> 2K18@0NB ;8=59=K9 70:>= ?@5>1@07>20=8O :>>@48=0B. -B> ;8=59=>5 ?@5>1@07>20=85 4>;6=> C4>2;5B2>@OBL 548=AB25==><C B@51>20=8N, GB>1K C3;K ?>;O 2K2>40 2 <8@>2>9 A8AB5<5 :>>@48=0B, A>>B25BAB2>20;8 C3;0< ?>;O 2K2>40 2 M:@0==>9 A8AB5<5 :>>@48=0B.



2. A>15==>AB8 ?@8<5=5=8O inline- DC=:F89.

Inline-DC=:F8O  MB> B0:0O DC=:F8O, GL5 B5;> ?>4AB02;O5BAO 2 :064CN B>G :C 2K7>20, 2<5AB> B>3>, GB>1K 35=5@8@>20BL :>4 2K7>20. A?>;L7>20=85 inline- DC=:F89 MB> 206=0O >A>15==>ABL O7K:0 !++, :>B>@CN =5;L7O =09B8 2 !.

n = (x - xLeft)/(xRight - xLeft)*(nRight - nLeft) + nLeft;



m = (y - yBottom)/(yTop - yBottom)*(mTop - mBottom) + mBottom;



0 !@@:



//?5@5E>4 >B x : ?8:A5;N n



inline int xn(double x)



{



return (int)((x - xLeft)/(xRight - xLeft)*(nRight - nLeft)) + nLeft;



}



//?5@5E>4 >B y : ?8:A5;N m



inline int ym(double y)



{



return (int)((y - yBottom)/(yTop - yBottom)*(mTop - mBottom)) + mBottom;



}



3. 0:85 3@0D8G5A:85 181;8>B5:8 8A?>;L7CNBAO 2 Windows.

A;8 ?@>3@0<<0 @01>B05B ?>4 Windows, B> :><?8;OB>@ 8A?>;L7C5B DC=:F88 3@0D8G5A:>3> 8=B5@D59A0 GDI (Graphic Device Interface  8=B5@D59A 3@0D8G5A:8E CAB@>9AB2), :>B>@K5 ?@54>AB02;O5B 5<C A8AB5<0 Windows.  ?@>3@0<<0E Win32 <>6=> 8A?>;L7>20BL B0:65 3@0D8G5A:85 DC=:F88 A?5F80;878@>20==KE 3@0D8G5A:8E 181;8>B5:, B0:8E :0: OpenGL.



4. 'B> >1>7=0G05B A>1>9 A8AB5<0 API  DC=:F89, 8 A8AB5<0 GDI  DC=:F89.

?5@0F8>==0O A8AB5<0 Windows 8<55B =01>@ 181;8>B5G=KE DC=:F89 4;O @07@01>B:8 ?@8;>65=89. -B8 DC=:F88 >15A?5G820NB H8@>:CN ?>445@6:C ?@>3@0<<8@>20=8O ?@8;>65=89 Windows 8 2 A>2>:C?=>AB8 =07K20NBAO 8=B5@D59A API (Application Program Interface  8=B5@D59A ?@8:;04=>3> ?@>3@0<<8@>20 =8O). @0D8G5A:85 DC=:F88 87 A>AB020 API Windows >1J548=5=K 2 >B45;L=CN 3@C??C  ?>4A8AB5<C GDI (Graphic Device Interface  8=B5@D59A 3@0D8G5A:8E CAB@>9AB2).



5.  G5< A>AB>8B <5E0=87< >1@01>B:8 A>>1I5=89 ?@8 @01>B5 ?@8;>65=8O.

A5 A2>8 459AB28O ?@>3@0<<0 ?@>872>48B 2 >B25B =0 ?>A;54>20B5;L=>ABL A>>1I5=89. A5 2@5<O ?>:0 ?@>3@0<<0 @01>B05B, Windows ?>AK;05B 59 A>>1I5=8O. !>>1I5=85 2>7=8:05B, 5A;8 GB>-B> ?@>8AE>48B 2 A8AB5<5, =0?@8<5@ =060B85 :;028H8, 42865=85 <KH8 8 B.4. -B8 A>>1I5=8O ?><5I0NBAO 2 >G5@54L. G5@54L <>65B E@0=8BL =5A:>;L:> A>>1I5=89. @>3@0<<0 >1@0I05BAO : >G5@548 8 872;5:05B ?5@2>5 87 A>>1I5=89. 0B5< ?@>3@0<<0 8;8 >1@010BK205B MB> A>>1I5=85 8;8 ?5@5E>48B : A;54CNI5<C A>>1I5=8N.



6. 0:85 B@8 >A=>2=KE 1;>:0 A>45@68B 3;02=0O DC=:F8O ?@>3@0<<K WinMain().

1) 538AB@0F8O :;0AA0 >:=0.



2) !>740=85 >:=0 8 2K2>4 53> =0 M:@0=.



3) 0?CA: F8:;0 >1@01>B:8 A>>1I5=89.





7. 0:0O API  DC=:F8O 2K?>;=O5B @538AB@0F8N :;0AA0 >:=0 ?@>3@0<<K.

RegisterClass().



8. 0:0O API  DC=:F8O A>7405B >:=> ?@>3@0<<K.

CreateWindow() A >48==04F0BLN ?0@0<5B@0<8



9. 0:0O API  DC=:F8O 45;05B 2848<K< >:=> ?@>3@0<<K.

ShowWindow().



10. ;O G53> =C6=0 DC=:F8O >:=0 ?@>3@0<<K WndProc().

WndProc, 2 :>B>@CN 1C4CB ?@8E>48BL A>>1I5=8O, 45A:@8?B>@ ?@8;>65=8O hInstance, 8<O :;0AA0 >:=0 cname, 8 =5:>B>@K5 4@C385 ?0@0<5B@K.

$C=:F8O WndProc  MB> >A>15==0O DC=:F8O, >=0 2K7K205BAO A0<>9 A8AB5<>9, :>340 >:=C ?@8E>48B A>>1I5=85. $C=:F8O >:=0 WndProc 8<55B G5BK@5 ?0@0<5B@0, A>2?040NI85 A ?5@2K<8 G5BK@L<O ?>;O<8 AB@C:BC@K MSG.



11.  G5< >A>15==>ABL A>>1I5=8O WM_PAINT.

!>>1I5=85 WM_PAINT ?@8E>48B 2A5340, :>340 >:=> @8AC5BAO ?5@2K9 @07, 8;8 ?5@5@8A>2K205BAO 2 @57C;LB0B5 87<5=5=8O @07<5@>2, @0725@BK20=8O, 8;8 G0AB8G=>3> ?5@5:@KB8O 4@C38<8 >:=0<8. >MB><C DC=:F8N Line_Paint() 4;O @8A>20=8O A8=CA>84K <>6=> 2K720BL 2 >B25B =0 A>>1I5=85 WM_PAINT.



12. >340 ?>AK;05BAO A>>1I5=85 WM_DESTROY, 8 ?>G5<C MB> A>>1I5=85 =5>1E>48<> >1@01>B0BL.

!>>1I5=85 WM_DESTROY ?@8E>48B ?@8 70:@KB88 >:=0 ?@8;>65=8O, =0?@8<5@, ?@8 =060B88 =0 :@5AB8: 2 ?@02>< 25@E=5< C3;C. $C=:F8O PostQuitMessage() 7025@H05B @01>BC ?@>3@0<<K. A;8 =5 2K720BL MBC DC=:F8N, B> <>65B A;>68BLAO A8BC0F8O, :>340 >:=> ?@8;>65=8O 8AG5705B A M:@0=0, 0 ?@>3@0<<0 ?@>4>;605B @01>B0BL.



13. 0:85 459AB28O 2K?>;=O5B DC=:F8O DefWindowProc().

$C=:F8O DefWindowProc()<>65B >1@010BK20BL ;N1>5 A>>1I5=85, ?@8E>4OI55 : >:=C.



14. 0:85 DC=:F88 8A?>;L7CNBAO 4;O ?>;CG5=8O 8 >A2>1>645=8O :>=B5:AB0 M:@0=0 2 >B25B =0 A>>1I5=85 WM_PAINT.

?0@0 DC=:F89 BeginPaint() 8 EndPaint() 4>;6=0 8A?>;L7>20BLAO B>;L:> 2> 2@5<O >1@01>B:8 A>>1I5=8O WM_PAINT.



15. 0:85 DC=:F88 A>740NB ?5@LO 8 :8AB8.

CreateSolidBrush()



16. ! ?><>ILN, :0:8E DC=:F89, A>740==K5 0B@81CBK @8AC=:0, <>6=> ?><5AB8BL 2 :>=B5:AB M:@0=0.



17.  :0:8E A;CG0OE 4;O ?>;CG5=8O 8 >A2>1>645=8O :>=B5:AB0 M:@0=0, 8A?>;L7CNBAO DC=:F88 GetDC() 8 ReleaseDC().



18. 0:0O DC=:F8O 8A?>;L7C5BAO 4;O C=8GB>65=8O ?5@0 8 :8AB8.



19. 'B> B0:>5 3@0D8G5A:85 ?@8<8B82K =0 C@>2=5 GDI - DC=:F89.



20. 0:85 DC=:F88 @8ACNB ?8:A5;L, >B@57>: ;8=88.



21. 0:0O DC=:F8O @8AC5B ;><0=CN ;8=8N.



22. 0:0O DC=:F8O @8AC5B ?>;83>=.



23. 0:85 3@0D8G5A:85 >1J5:BK @8ACNB DC=:F88 Arc(), Rectangle(), Ellipse(), Chord().



24. 0:0O 8=D>@<0F8O A>45@68BAO 2 D09;0E @5AC@A>2 resource.h 8 Program.rc.



25. 0:>5 ?>;5 AB@C:BC@K WNDCLASS =04> 70?>;=8BL, GB>1K ?>4:;NG8BL <5=N : ?@>3@0<<5.



26. 0:85 87<5=5=8O =04> 2=5AB8 2 DC=:F8N >:=0 WndProc(), GB> 1K 0:B82878@>20BL ?C=:BK <5=N.



27.  :0:>< >:=5 @540:B>@0 @5AC@A>2, <>6=> 87<5=8BL 845=B8D8:0B>@ ?C=:B0 <5=N.



28. 0: <>6=> 8A?>;L7>20BL DC=:F8N InvalidateRect() 4;O >1=>2;5=8O >:=0 ?@8;>65=8O.



29. 0:0O DC=:F8O 8A?>;L7C5BAO 4;O A>740=8O =>2>3> H@8DB0.



30. 0:85 ?>;O 8<55B AB@C:BC@0 LOGFONT.
Соседние файлы в папке Lab1