You are on page 1of 204

v

0- a ee
96 hot rege]

KÉKES 4 (a T
.

OFR-S-vt ev
j
sie
g a M á r t o n , 2 0 0 4 .
0 V a r

ISBN 9 6 3 9 1 3 1 6 1 X

a z e l v á l a s z t á s o k a t a M o t p h o L o g i c H e l y c s e k
A könyv s z ö v e g é n e k h e l y e s s é g é t é s
nevű prog r a m j á v a l e l l e n ő r i z t ü k .

Felelős kiadó: a S z a k K i a d ó Kf t. ü g y v e z e t ő j e
Felelős szerkesztő: Kis Ádám
Lektor: dr. Szirmay-Kalos László
Olvasószetkesztő, korrektor: Bodó Judit
Borítóterv: Flórián Gábor (Typoézis Kft.)
Készült az OOK Press Nyomdában (V eszprém)
Felelős vezető: Szathmáry Attila

Minden en jj ogfenntartva. Jelen köj nyvet, illetve annak részeitit a a kikaidaódó .


g á l n r e p r o d u k á l n i , a d a t r ö g z í t ő r e n d s z e r b e n t á r o l n i ,
r a l é k Ts-e t z t t b a
a v a g y e s z k ö z z e l e l e k t r o n i k u s ú t o n v a g y m á s m ó d o s a
közölni.

Szak Kiadó Kft. Mi r ses


j e sztő
z t k
é i
Egyesülésének Az 17 95 -b en al ap ít ot t Ma gy ar Kö ny vk ia dó k és Kö ny
yvt
vt
e
er je e
. 2 2 a
. 3 t
5 0 - 2 0 9 . . B i c s k e , D i ó f a u . 3 . W B T e l . : 3 6 - 2 2 - 5 6 5 - 3 1 0 k i
/
Tel Fa x : 3 6
al4FAa7 é 7

szt
fi
ÖL B!

EZER essél a ésétGllyetézáse

Bevézétét,.. a. ssérászsétenötésáztssátotttésázzttktá
zást zzátl cé
.

RÁ BÉELLeta el sás MEGK sőddnvégi (akk


1. fejezet: FOGNI
e joka.
egy H I

a 1. Programozási dlopiattástékt szesz Se

:IG1. 1. Műveletek VAGÁVÜTGEKÖGVEGVVÉKÉSVÁVVÉKEGTSSEKÉGGEKENÉRSÁG NEVE ÁGÁSE SÓS ÉGS NB

8.4 Változák....emeeeisoszzszzsztae etet zozezéstntélla


1.1.3. Feltételes előguzásók. een tsa ÉN A ZRRSRTN TK
1.1.4. CAK lt sza netán KENE ÁÉRE] rrstegvesátoszráárszágáteses teat kát SA NETÁN ÉKES
1.2. Objektumorientált PrORTAMOZÁS .....sesseveereetéeteeíeeteeszetétéeíímátezeneereteemeeneneeeteneee 25
1.2.1. Egységbe zárás......s.sssnarenvoíreenásétásonéryy
ENSZ sz eneetták
ztttrok MSET

1.2.2. .Adiateltejtés......, JRYASANARANY NK TRÉNSHSR ÁY ÉSMEZTETETTZESS S MTE ŐKMOST E 5
1.23. GABE ea EEktEtR JERYAGTÁNÉ ETM TNAAR
VALVÉTÉE NTNKE
NŐK msa ESESTTT
Ke
1.2.4. Speciális függvények ..........rmseaseseezmepeesizezratetátyeyazetáttésátét RÉlnÉSÉkEESTEEKTTÓ
2. fejezet: Egy kis matematika .........ereresesössveriseésesztesseszztttá
etén ESZÉT ÉREKE EBBE
2.1. VÉG sss EE derdáseeszáséteükee ég atsa
kásssst
zéne öleteztítst KMTTTNENN
2.1.1. Beállító-lekétdező műveletek... sssásssssníníozessásátaszaeitsat Cásátkö eaz
2.1.2. Konstruktorok, destruktor ........ RRÁRÁTRÁ NSÉTÁT E s ET EK va
2.1.3. Alapvető matematikai műveleték
....sszamiássásnetááétet featná teste ge teat áNKENESS
2.14. Skaláris SZÓGZÓS aa sezuztáasaktkSENEKÉATERNEK ONNAN ÉSE ÁBRR esettek s
2.1.5. Veéktottális SZÖEZÉS assz öszes tkütáot aá MEgzek ve bezszzeő kisssssásssáds szzásíszátásztá tl
ák KEKE
2.1.6. Abszolút érték, normalizálás.................................. ssakáliástátsáttsááeztáttetkNÁSSÉSS
2.1.7. .Logikai műveletek... eosésivassszsnezatisttssse Em mtees kedéstáéségesátt ásstígat ll
M2MJ zafÁtTÍX ves sésátá ákatás
kás ék
ZAKS
ásS áá SK EZ
sé ÉS
sE RG E108 öérezesététtezákeetetás tzks ez szSÓI t
1. Beállító-lekérdező műveletek............. KERÉNnásés előz kevsasájakstetzoít tál
Konstruktorok, destruktor ......................ssssss kevsovévesegstágésenee pamás tett
bhAritmetikai műveletek. ssaázászttsazeseíteksat szvütadíéná stíl lS
Mátrizok SZORZÁNA sesárstrísztén ae
áttzáo tss rvenzsdnáttsontésetestánt E
Minottnáttik szesésésséstes aaásáktáát MEGAN EV PRÉDRE HE TS ET zá
Determinánő szastésákászzáákááli linssáás tál mestoszazzáltotétésesátstőttarásd EN
Adjungálás, inverzképzés...sessrmegmzesssszsseésratánásáteátat tétáA
tázás
át
ak
zöd Logikai műveletek
VEBVDBVEBVEVEOLVL
VEDEL
sztsallan .................... RGYAGNATRONYRORRARANNTARÁTETE EZÉR NÉT HÉNNET E Ta
2.3. Transzforrnáció ,.. szesszel A YRATOZENÁRAÁNÁNE TT TNYEETROTÉNTZ TARTOTTA SETÉT MT, ETT ASS TEL
2.3.1. Körötetlltőt sam látásnak gdtsésászl vasztstztozákátetkté áset
ntttétsst
áz
2.3.2. Átalakítás, transzformálás....,,. ssismessssssisseésésátessetasregeyztt szaatátálk STÉT
FG ÖK, 9 Azonosság, identitás EREZET RÉT] kereneeeezeeneezze ts r te seetsetessen sz
zseseressen s JÓ

234 Átméretezés, skálázás. va... . kezsnzesereesosotsznos este esnék eszet eses kata án ú
JÉ SZ menés eszétől " l ; . egi pé ae
- sát
LT ig a
C
ék a pa
askdksssankénéő revevésásetássési
ás eti vi ao kevegzzesetebesők ! KT re
hl smétt a
a ertve VENNE
/ d: 2 04 Ny ű 2 Tü . AA ka
öss
james kget kNe
! ) e Me d
y ;

gés cadésá TOGaYok A ná pegő OEK KEREZE TE


....
FE RETRESÉSS
[i

p t e T T
há e. éz

, b. are!
e k sa r a É V s s é ő
p a d é r s s ő v e s á té s
é é s e t v e s .
. éges
kégsetítegétttátátőéó e t e r t e t t t é e s i
skéez e z z r e t e r
e n e k e e Lát
rőpisesezt
é..
d ocAuthotrózk
gegsösets ő
e e n e e n t é r e nt k e
b z e
é ngs n e s á
! k s é e d a g i Ze
k..e l e e e e z e y é r a e r e z:e"tA r ú é s 8 k ő o da,
e eládát
...
ARE YT
. Há r o m s z ö g
persze zetenvretésés METÉSZ A AEK
Kocka t é g l a t e s t s p e g é s p a d é t a d á ö z t e á s Á i ó F x ű ral his zté d sv 5.

i i s s z t t t t n ájte rt
cs a b z
ezés
t
ezajsz torte
t e n
gát
t
TERRA tZTTŐ
e t
dél ...

r a . s s e e s s e e r e r e t e e e t e t
a m e
k

3.3. K
szét
b
l . d
. gala a. 9.
8... en.. 0 a:
áKÉNÁNÁÉNÉ NÁL KNÁLKÓKE GOTT
;

a
4.499.

3dk 28
.... .... e d

mig
Fiz e.vt.40ve99"
[

e
pótszg vágása

e e e e é e e s e e e e e e e e t e t e s s e
kt aA K é p p o n t . . . s s z üt

s e s e e s e s s e s e m e e m e r e e s e s t t e n t e t e t t e s s
4. f e j e z e t : K é p a l k o t á s . .
z e e s e z e s e s e r e e ű e s é e e e e r é r e e s é n e i e g y z á e e e é e e e e é k e z s e s k e t á e n á s e s
4 1 . K o m m u n i k á c i ó s o s z t á l y o k s s s
ű e e z e é e e s
A

Vi z s g á l ó s u g á t r . . . . s s s e s e e e e e m e dél
. AL EZLELALL ARA LADAL KAL AL LALI 7... ú bin

e z í é és s
e í
í é s
é s eíe eé s sá
é é z
s e léé s ésr e e
e á íst s e i T A C E Z ÉGL A SS
A RZE N E
É S S
E K BÉA R Ű k é s e s s e r e s t é t e urzs a
t gái j
t i
AX.2
A . S Z Í M v e s s z
t u m o s z t á l y o k s z e r e p e a k é p a l k o t á s b a n . . . . . . . . . . . . s s s s s s s egzáét
4.2. Az objek 9.99.69 999 és. EZALDAN .. .
A 3 1

4.2.1. A ka m e r a é s a f i l m rez A
aké . ll
GG SGGVÖS LG GGGGGLGVEGETEVAETL GEV BBR 4.4... .. .eve00t a mo

4.2.2. A vilá gés a z á l t a l á n o s al ak za to k. .. cs eszzk tá


e ss z
az é
át s
et ee t s s s egs agz agg zz t l j e
4.2.3. A megj e l e n í t h e t ő a l a k z a t o k és a f é n y f o r r á s o k .. .. .. .. .. .. .. . ez ez es ze ne se en 1 0 0
4.2.4. Sugár és háromszog metszéspontja cadsa sys EaEt ág KEZEKET bh... ERNEK
1 0 7
AS hd ál A

Hár o m s z ö g d ö f é s p o n t j a é s n o r m á l v e k t o r a . . . . . . . . . . . . . . . - s s s s s s s s t e e g r e n e e n e e 1 A Z
"apa

4.2.5.
4.2.6. Kocka színe VAVVVÁVEKAGAGKNA KEGY GEGEKE NAG tezetastttey r s e s s e e t s s t p B n 8 0 0 ? NNAL LALA KE

4.2.7. OLGA Cs BOTAD IMNÉELSZÉSDONTJA........... eesrsestrezzoztékszázgtttátelne naeégírásvtésit ESR


4.2.8. Gömb dofésporitja, normálvektora sss se eewessse
esetet
sesett a ssestátott
4
.

ALE
t

4.5. Képalkotási módszerek NNNNA AAA KAN sa aapissssssagssszetákegresetésseekenséésseset es éke vehe goy msot 7ké
4.3.1. TSTakarás E AT YYNARÁN A KÓR OT ÉVEKKEL NEV ÁÉN Pa Gas Áá
Gas evé a vs oné va vaő sv sé szei ő zt ERRE
4.3.2.
YT LILA 120

Egy szerű árnyalás TER ANAS SA ene seza s észéötéles ss tadséggüsék vötéKESEZZEZEGEBNÉTN sevas ezések EÉBB
4.3.3. Árnyalás pontszerű fényforrásokkal NN 9
4.3.4. NER EZEL aA AE e ....

erődések, törések Árnyékok, VISSZAV a..0.4998


§ W4.P
tusát
A

5. fejezet: A kész rendszer 17tRRNBÉSSEENRBN


keV AAN s...

c. zutáttlli a: TB

Rh Osztálydiagram könes.es0sSsssséésssste
TESZI ÁGYMÁTY see ee
eeNNNNA
osztályok deklarációja ár szztát, zött sal várás szévásesárokátet aa A Kazagassesssesvésésss 0 VÉGEBeaőt E EGE PET ELLÁN zó 0
S BÉ NT
Jt e NNÁNÁGÁ
JEsO
tatvas
ébatttll
ALT TT
Vé... —s—.s évé spg
oszeg E
1 10.
, 0 Ft

f LSE
hétéves s
VEGVEVVÉ5SV5s.—..].
. e v res ÉV SÉKÁVŐ ...0 pt
KEREK] h l . . r
....g

c A
ő ta Ddlnüsélios modell GÉ ÉG Ae a NN LÉA sedetelketetraótétt tedi t

5.4. A rendszer használata kette bé. ssss... szé aébügsőstv ssátbbób HAS;
45 kövi


jééé
kent
KA
nk :( al Y zt a

kiszeses eds ezek s ss SÁT ak E FŐRE Ét:


va 3
f tl
Tr"
ig

ga...

alitpek sezésetés

av válavre alba

vét:

yt et
támda s avéö
esizülht ss.vezetet eá ÖM3sra s i tú

6. Z. B Súgó menü......... e g e á eeázeéeleeeteeáztzekeeeteztkze 0. 9...zdés8 d ... EG s ( sek


kteneeeetszezeezeesettes

ra viatzzol e KŐ, get és


Forráskódrészletek EGZ
Cdt--k Éz op : gireed ege e ége es ht A
fa fejezet:

T E J E j
ii€
ET
1 tk
K
TT

al
JG
44 j
TU GK SÁ NT HA
vi é

Ta kdeáme ez srézzék sekKZ NSZ TÁLLTEA RT SETÉT


TET VEKEGE E Yess
MEGÉNN TA TO teret k em 9
742. Mát lsz RENÉE E NTSETSTSSTTlóee zás allsz all171
ZA Transzfóköádió STLGÉNEBN Lot ag yá nu t éti BA MA T A N T ra öt zh sa es1 2 ]
7.1.4. Fényfortásicsssáási ga l EB A ÉKte A K A R A T Á
SS E TKE EE Et
AV 18 1
! Z 4.5. CAlakzató tet ses tk zek JÖNNÉNK El enélee
74.67 VR lakos eseázőeézsseetá és e KZT ÉNNEKEM
7.1.7... HÁtOtászós szeses taü tsé tás sö sz vs et ásesn
dtys je t KK ÉL Te És R E T
ER NE E K
KO SE R
74.838. JIRÖGKAezszszztzzaEzt T rdd táz tés ede ssz ai köv eze t sö zg et ta sz zé ét tt el t KKAE RNEN EN
7.49. GOHAD szasz e t ösz iél stl s ese té á s s s z á tágkbae z
se é
ek sSKz
Sezet e
e s á NEN EE
71.10. KArüöra sas szzieákoz tá sá t k á d ke rd sz ár ád ed ss sé sn en űk
tá tá
sá t né
SR te
E tá
ES sz
ÉSes Ee
TALI. ER RE sz se sz sz es és se
za ttsSsá
E tt
S e Ae aK B )se n eot eez ean ezt ns ezzá st ása set É S
sezéEL
7.1.12. KépDOBE.. sss ssszszágye ENt MG ETELE E Bev 4 "7 9AGAÁSZÁÁRNN EKES
gsETzt
7.1.13. SU XÁ L. .s ss sz sz ss
svése
sr ges áa
SGEE tá
KE ná
KBER st
EESKE té
KEEKE NESESnEBŐN BA NY A ze
ÉRE VEZ IES aká btó
7.1.14. Sári e ettek MNeNE zene zyzestlelőt onás eTS
7.2. Néhány tagfüggvény definíciója ............ssssessesse EÁ EZÉGNNET LENE ZTE egg
7.2.1. Kamera képalkotó függvénye ......... ÉL ZyAe szé lát ne SEEN
7.2.2. Kép mentése TGA formátatmbani ss sssttzesstttáe ENSZ T
KE ÁE EE 184
Háromszög döfése vizsgálósúgátral disz att lest stBde
Gömb és sugár MmetsSZÉSDONÍJA sss essütetsszszázk rezezettset eztet
páva Alakzat osztály legjobb megjeléítájá s ásás a stgeltsstt ST
RáKöSetteReNKeettN SANS
7.3. Egyszerű példa a rendszer használatára :sdosésegeesetüstzésétsentettett J
Irodalomjegyzék ....ssssssszssésetéséssszdáséres betüt téka özt bbá éSSststtseá áNTATTTN A ÉNÉSÁÁSAÉRTÉNSSNB kő ÉT
"altág 8 kf

Tárgymutató GGV EVEZEVEKEVEVGEKKAEKGEKGBBEKENKEEBBBEKEBEKBERNEKEGK


BAKER GGAL ése

ii fi 40 ák
si: xv
Tvr. j Ji ú 9" e ,
ő 8 a d ú
y ú (4 8 A AAA ddkákél út
V 99 s

EAN
.

SZTN
fat a nő, dv-fon

ST
b j ; ka ri a... a .. b ".

a.
TAT - i ő": Pe v ME
"aza
nere
4 mi
Le isssz
ata 2.-g
l
77...
r-A
ÉRV
pest
ő) 5
p
EB
gV-
he!
ST
3 ,
,v
"ásd att E s
rni , 97
éa s
as a

o v
sg ea
t
J
§
e 7
,
4
j
f 9 / GNEÉT lá CA Vé; Gy A. a" fla beh 0 agit dit ú .. jósenakévbek zés ése b a DAL ése
Pi azé tl b elé ú saj 1
j - t he
4121 st
- a ügettek
r .
TAK6095
4 től
a
ő
2. ale
Fal mzélklt Té c y ey vi a 16 nt p asd

Lé FOrTA
e.
l [dá
per TT
6.
: vegP
6e g
E a aki, .
§ "a . já E mat "azt zösékől ai ét . .- d ! 4 6 F
sp B v
ta p.
999 kt . ft
kh.
KÖZG al
va u KG 8 8 Ja e PEN a ,
: k sé o b.ssaástküi E ge av észt b 4-4 , ta jónaévésésses ... ), kész goz ze Tr
3
j fJ "a taj ú 7? Jé. 6 : sére dd a " §
b wz ;
he e . 17
ú
, Ül
ndid
y "d va 9. ra s. 8. d szita KR p mű Ma
I, 1
mm
pz fd l c
-s ét e gg pe
he
LSzá
, 9.
ra
ii
e
am
v) t(16N
d he ve.
ez nák - j - d XtLees § ég y
A 94
y
cső 4
u. " § a
1 vi rű
gi 4 4 fe
§a 2. pr ven

? hd

4 5 késdőrGGVVVAVEYVAEVAVVAABBABB99BA a ALL YETTT


jJ" 9 illesztjük b rt lá atet épDe sees i ( "al k. V h-s eg e ;

ormáció mátri x a e g y s é g ! 4
ie mata -. ) 4

6. ábra. : öt j szt b TAG 1-4 a 4s leessen enne nen nene men neereseesenet enekes yéttseesenynses ha

e t e z é s , S Z A É S É B E T a aszt
7. ábr a Á t m é r E Z Z S ÉNN SZESERRENE ..
e e K e n e K É R E K O N B A S E S Z E S E L É É E E K
o s ő a t ö Y
ma
aa t e. a z
A Ar
(a4tme nozzzi
ete z é s mátri x a k e z s
; g á é á s z á s é g
Z E N K G ö á z l é n t ae sad
5sk glt I y kö üli forgatas transzformacios MAat(r1Xa .... as sseseseese deserve

ké a ra. 24
s t r a n s z f o r m á c i ó s m á t t i x a . . . . . . . . . s
tal
s s s s s s s s e s ;
r g a t á
[d

10 . á b r a . A z y t e n g e l y k ö r ü l i f o á z á e e e í e n n

94e
(ka vo
h.
.
a

m á c i ó s m á t r i x a . . . . . . e z e n á e z e t
d.

t e n g e l y k ö r ü l i f o r g a ranszfo
t á s t r
11. ábra. A 2
é l ú n k a k e l e t k e z ő k é p m e g j e l e n í t é s e.a t ó l
1 2 .á b r a . A v i r t u á l i s v i l á g f e l é p í t é s e . C
i s i l á g o s z t á l y d i a g r a m j a e l s ő m e g k ö z e l í t é s b e n . . , . .S .z -
s z.t t t t t t ő l
13. ábra. A virtuál v
i l á g ő s e . O s z t á l y d i a g r a m m á s o d i k m e g g o n d o l á s r a t e m n s z á e á t
14. ábra. Az alakzat a v rAdzer

15. ábra. Erőseb b f é n y f o r r á s o k t á v o l a b b j o b b a n v i l á g í t a n a k . . . . . . . . . . . . . . . e z e r t e e á n e s .


16. áb r a . A z a l a k z a t o s z t á l y f e l h a s z n á l á s á v a l k é s z ü l t o b j e k t u m d i a g t a m . . . . . . . . . . . . . . . . . 6
17. ábra. Görbe felület köz e l í t é s e h á r o m s z ö g e k k e l . . . . . . . . . . . . . . . . . . . s s s s s s s s s e e e s s s r s z á s z z z s z s z e t t ó l
18. ábra. A háromszöget a csúcsokhoz húzott helyvektorokkal
jellemezzük LETETTE NYEREK NEEE RA RAZAR A]

f9. ábra, A kocka oldallapjai háromszögekből állnak .........cssesermetezetéssetékőll s vaznláááll J


20. ábra. Camera obscura. A keletkező kép fordított...... .seesexsssszasstakássátátt azaz attol 7
21. ábra. A képtávolság állításával nagyíthatunk, kicsinyíthetünk ........... sssezztecégzek tt
22. ábra, A mi kameránk............
saszastatestátll
8 AS. lm nagyítása a képtávolság csökkentésének felel meg (21.
s. FsetiEgy5 7MIRESSSNA TAKAR ÁSÉK Kane sé esse ess ezzen sat ésoszzaze allva KANENÉENKEETÉN seggszesakazsaetó v8
E p o
REZAhet Kindtösts ,n t v o r o s , z ö l d é s k é k ö s e et h z 1 z
és kék összetevőkből áll.........li zs zs át at
: é .
.. .. .. .. .. .. s eb e f t ed
ós Pi al
ketész agban. Csak kevés fénysugár vesz részt
6 A

da LALI YITT TT
nk ELIT ITT
TV bt...

s ETTETEK ALAK A FYACIZÁSATTT gő


Otás ala ja: 9.960. 3 ege telL

ezi vizsgálódás:
a: kom m u n i k á c i ó a k a m e r a é s a v i l
mA
á g k ö z ö t t . . - s s e e s s s ő ő "AL

belül YA LA LÁ TI sadsá e va szét VSSÁPESB "Aú


; A agon
tarozza meg évén kéázizéeáat eatesn s atSea sagsásésaeéékés dB

30. áb4 ra. A kép mm u n i k á c i ó a z o s z t á l y o k k ö z ö t t . . . c s e s s s s e s ;


8 Ko ás 26 rt a Bő. öl. KE

indexváltozók vektorok
oszloponként. Áz ;
FF.
31. ábra. A film kö 2 TAO ézásáá éskes ÁAL ga
ZÉDpONt jának
RG
m e g ha
ee ETTTETT étezevéley
lT et et es se se zs zé gs zn en ő 58 .49.. sérs oszze s FÉK ... vi
rk A

Meghatározása es aa kt tó tt
,

v e s p e ő ő t e s p W
se.ss A ALTATTET e téves sssév0é0s07.

a
d
mil ag?

b e]
ü
aasátasé B) 4

an TTL EE
ye
fe
É 780
1
bze
sólépéske
vitát eli n vé "ae E:

. ábra. A háromszöget at
ról 8 .
11.
0.
Mn
rt
Ve
tlátaát ee
ea GBEYER ! 4

csak erről tudunk biztosat nt pó fogad


vez
v

as
o m s z o g n o r m á l v e k t o r a ( a z B - g a b z A — é n b a l á s k b áe é t m é g e t :
. á b r a . H á r
. ábra. Sugár é s g ö m b m e t s z é s p o n t j a E G E G Á Z as övtas össz
. ábra. F é n y h a t á s o k n é l k ü l a z a z o n o s s z í n ű o l d a l l a p o l
információvesztesé g e t o k o z n a k .. .. .. .. .. .. .. .. . z E
t S A E S É e s ez e a s á á t o r t B Ó T
4 0 . á b r a . F é n y f o r r á s s a l e l l á t o t t k a m e r a . A k i b o c s á t o t t é s b e é r k e z ő
fénysugarak állása n a g y j á b ó l m e g e g y e z i k .. .. .. .. .s ss ss se ee ee es ee se er te se ee nz te re tr ee tt et tá te re nt 1 2 1
41. ábra. A b e e s é s i s z ö g a b e e s ő i r á n y é s a f e l ü l e t á c i t s á l k e l k ő s á l t a l
Ata nenése hadse rtrass9.. 128
YT N NEL TT LELEK L LA ALAS sás... ge gtGkesdsátstEsANS
bezárt szög TNNNN

. ábra . H a c s a k a b e e s é s i s z ö g e t v á z a y á l j á l i , a t e s t e k h á t s ó o l d a l a i s
e ee LL LL LNN LL AL ALA 124
drl. e
EL ALELRALALGALLA
világos lesz NNNNA

43. ábra. Valóságh ű á r n y a l á s h o z a n o r m á l v e k t o r o k k i f e l é m u t a t n a k .. .. .. .s ss ss se se rs 1 2 5


44. ábra . H a a b e e s é s i s z ö g t o m p a s z ö g i s l e h e t , a z E G E T e g y s z e r ű b b
megoldani..... ss ss ss ss ss em em ee em es er er ít ás en es nz eg ne te te et ás et te t la ss ás sa át ás ták
a kát áát s z á sts lgsz át ás a l l a t t S E N B
45. ábr a . A h á r o m s z ö g e k e t k í v ü l r ő l n é z v e ó r a m u t a t ó s z e r i n t j á r j u k b e .. s. ss ss ss se ss 1 2 6
40. abra. Alakzatok k i f e l é m u t a t ó n o r m á l v e k t o r a i n a k m e g h a t á r o z á s a . . . . : . . . . . . . . . . . . 1 2 7
47. abra . T e s t e k b e l s ő p o n t j á n a k m e g h a t á r o z á s a .. .. .. .. .. .. ss ss ee ee r VZ EY AS ON E ze r zc át ek és st á S E B Ő
48. abra. A m a t t f e l ü l e t e k f é n y e s s é g e f ü g g e t l e n a n é z e t i ir án yt ól .. .. .. .. .. .. .s se ss ze ee n 1 5 0
49. a b r a . T ö k é l e t e s v i s s z a v e r ő d é s .. .. .. .s se se es se se se se ee se es as ez se ss át ás ta zá sé sá j s é t á kö s s t b é s s á é
s z t e S
50. ab r a . A f é n y t Ö r É S E .. .. sz ss sz ss sá se me er ee te sé sé ek ez ke ké ne tm ee tt re te té ge re tt ze ne st ee eá es ék ő sá s st ev er ős ár tt öyt tE T
591. abra.
.

Az árnyékoló t á r g y a f é n y f o r r á s és a s z á n k a l a k i t k ö z é e s i k sz ss zá üe 1 5 8
VtA abra.
".

A visszaverődési ir á n y m e g h a t á r o z á s a . . . . . . . . . s s s e e s s s vé sk ac sz áy tá ká sé té ráe s z a k s z t ó N
93. abra. Ha a normálve k t o r r o s s z i r á n y b a m u t a t , a z Y - t ve ss zü k. .. .. .. .. .. 1 3 4
94. ábra. A törési irány előá ll ít ás a. .. .. .. .. .. s. ss se ss ee ts ek íl és az tl E N E V 3sa sz er os ká to ss áé rs e l t e t t
45) abra A
"
. b e e s é s i s z ö g a m o d e l l ü n k b e n t o m p a á s z ö g .s ss ss ss es ss sz es em eű et re sz ze ss ég ím űe nn n 1 4 0
506. abra. A rendszer o s z t á l y d i a g r a m j a . . . . . . . s s s s e s e s nú né sz ál ma sá kt ad áz és ss z zs ál lt A e a e K K
27. abra. A kommu n i k á c i ó s mo de ll .. .. .. .2 ss ss se se ss ss se MEE RTT EE 9 A E T E R E ÁT ETE FE NN T E N E K É t
, abra. A kész alkotás továbbfejlesztése, o p ú s á l t a l l l á t B i z a k . Be
ellentmondását jelzik a szagga to tt ny il ak , m e l y e k m e n t é n n e m le he t
haladni... seszös es ss ás ég ás et tt áö tk tá ot tá tt ől s jsa vta gák áns er v e g y a t t ketle t
ás zt a
át séstz y
zá gz e
at tl s
é S á e a a t l
g á
a b
l
99. ábra. A kockát gömb b e h e l y e z v é n a k e r t e t g y o r s í t h a t j u k er át tn ea áá tt cö gá át áée g e
60. ábra. Síkbeli textúrát térbeli felületre feszít en i n e m O G Y S Z E S Ű ez má má tv es za tá tó tz ó H T -
4il I ik 98: 7 sadő

. ll 5. GAA, 14 ni d.
Új 4 a rég a T .. ...

Tiblázátök E A lek ssatsáöt Ótélétél énI .5019

egre öndlödét házak sás kák se - §


5 táblázat A vektor osztály ......ssreeemeserememetesséns szara . : 34
6. táblázat. A mátrix osztály ..........-.. déts éget zal ÁGY idvénátáál villi
7. táblázat. A transzfor mációs osztály..... ............ ..ssssrerres szertses össta
B. tállázat, A fényforrás osztály ............... ............... .ssessmésésések es öt
MG NN ÉNÉEERÉKÉTE ÖNÉ Léasos tesnzésáetá ne esése rests sszűvezegsükkatátébántzákatált anttétsdé
10. táblázat. A világ osztály, az alakzat utódja .............s..s..sssssmsemerases vi
11. táblázat. A háromszög egy alakzat
12. táblázat. A kocka is egy alakzat
13. táblázat. A gömb talán a legegyszerűbb alakzat dsg aan. boggáaavása.

14. táblázat. A kamera osztály


15. táblázat, A film osztály
16. táblázat, A képpont osztály
a színösszetevők tö MADE sozrezásóll
17, táblázat. A sugár osztály
e gyszerúű felépítése ........,............
18. táblázat. Transzform SBS

áció kiegészítése a s
évét ősstsstesda

19, táblázat. A szín TM u g á r r a l . . . . . s s é g i


tése
LL LY ALL LL

E
ee

21. táblázat, Az alakza


kéjelteekss aa
Ál e SZE azszász,zágétepoesálllljó
esztatáalólz EY]
ee E
t képalkotási jelle
mzői s "Nant tárzcüsés NYALTA

e LE ZT TETT ÜTÉ ET]

ke AL LETTTTT TÉL 1
a 9 at É sg zlááén A é

Péeded
sság
tea őép éál
v 08ie 94 "TF arg : ip hee e ét 3

r t e t ö b b h e l y — a F ö l d m á r f o g l a l t ,a H o l d ú l m e s s z e van —, a vírtuá
n i n c s e
den s é g e t v á l a s z t j u k . D e e z ú t t a l n e m pa pí rt és ceruzát

Egy al a p t u d á s ú g r a f i k u s r e n d s z e r f e l é p ü l é s é n e k l e h e t ü n k t a n ú i , e g é s z e n a k e z d e
c s s z ü k s é g , m é g
.

tektől. E g y k i s m a t e m a t i érdeklődésen kívül


k a i e g y é b i s m e r e t e k r e n i n
p r o g r a m o z ó i t u d á s s e m k e l l a h h o z , h o g y b e e k e z d h e cizt
:. Első lépés-
az a l a p v e t ő
ad a aa .
tg d,

ként tehát át t e k i n t ő i s m e r e t e k e t s z e r z a
ü n p r
k o g r a m o z á s r e j t e l m e i t ő .
Ezt követően lerak j u k r e n d s z e r ü n k m a t e m a t i k a i a l a p j a i t , f e l h a s z n á l v a a f r i s s e n
szerzett szo f t v e r f e j l e s z t é s i i s m e r e t e i n k e t . A v i l á g o t m á r e r r e é p í t j ü k , e l ő s z ö r a s t a t i -
kus, m a j d a d i n a m i k u s , m ű k ö d ő r é s z é t . E g y k i s t o v á b b f e j l e s z t é s , op ti : n a l i z á l á s é s
tesztelés után megnyo m j u k a b e k a p c s o l ó g o m b o t , é s é l v e z z ü k m u n k á n k e r e d m é n y é
— a világun k r ó l a l k o t o t t s z é p k é p e k e t é s a n i m á c i ó k a t .
A könyv teljes megér t é s é h e z n e m á r t t i s z t á b a n l e n n i a C t - t p r o g r a m o z á s i n y e l v
saját o s s á g a i v a l , h i s z e n e z a j a v a s o l t m e g v a l ó s í t á s i k ö r n y e z e t , b á r u g y a n ú g y O 4 j e d P a s -
ral nyel v i s l e h e t n e . M i C 4 - - - p é l d á k a t t á l a l u n k , d e e z e k n e m k é p e z i k s z e r v e s r é s z é t a
rendsz e r k i f e j l e s z t é s é n e k , í g y a n y e l v i s m e r e t e c s a k a j á n l o t t , d e n e m s z ü k s é g e s . A k i
tehát Object Pascal vag y e g y é b o b j e k t u m o r i e n t á l t n y e l v e n t u d p r o g r a m o z n i , a n n a k i s
messzemenőkig ja v a s o l h a t ó e k ö n y v , d e — m i n t m á r e m l í t e t t ü k — m i n d a z o k n a k ú g y -
szintén, akik a p r o g r a m o z á s i i s m e r e t e k e t k é s ő b b k í v á n j á k m e g s z e r e z n i . S ő t n e k i k
indíttatást é s s z í n v o n a l a s c é l k i t ű z é s t j e l e n t h e t e m ű .
Bármilyen h i b a , m a g y a r á z a t i g é n y e e s e t é n a s z e r z ő k é s z s é g g e l ál l a z o l v a s ó k r e n -
delkezésére, s z í v e s e n s e g í t az e s e t l e g f e l m e r ü l ő p r o b l é m á k m e g o l d á s á b a n , é s m i n d e n
visszajelzést, eredményt örömmel fogad. A rendszer egy működő, tesztelő-
modellező p r o g r a m m a l k i t e r j e s z t e t t m e g v a l ó s í t á s a , v a l a m i n t n é h á n y e r e d m é n y e —
képek, an i m á c i ó k — is a s z e r z ő n k e r e s z t ü l é r h e t ő k el .
Jelen k ö n y v b á t r a n a j á n l h a t ó b á r k i n e k , a k i sz er et , v a g y s z e r e t n e p r o g r a m o z n i , a k i
érdeklődik a szám ít óg ép es gr af ik a ir án t, és ak i kö zé ps zi nt ű ma te ma ti ka i is me re te kk el
rendelkezik.

www. vamarton.hu
b
4

stá g r e
t m e
z á m é
e ) a l á n a d n i
j e n t A
g y l a s k a
$ G ü j t i t a l
s e ő . a l d a h ő 1 4 0 0
e s a I
m
Y 7 A A
ő
s z á p
sr
f-
9 A
ge 4. - VE lk 4
5.
özzzáénőjAt

Mt éger t : dat ás
éz sége tlót jeti 2me já sg él gü t jé
Amikor valamitm le
m r :e n d

valós vil:úg fo nt2 o Sz e Éva. sáasénbül :-


rőben más. Ta r a kü ll et és ét
amiskályígú ordkégeer
odelezéeek vaanp mák ama ia ti ra ge e
etnisn;aggetS tde
e ll
e , ma jd
L á
aztán a valós pél d á n y . E n n e k c é l j a e n a teszte 1 vasú va
pél d á u l e l k é s z í t i k e g y m o z d o n y m a k e t t j é t , h o g y t e en:
ezután kezdik el gyárta n i . H a c s a k a k é s zm o z d o g j o a t e
hibák javítása i s z o n y a t o s k ö l t s é g e k e t e m é s z t e n e f e l . k ö d b a ű WV 7 É ő
Mi is modellezni fogunk, elsősorban az . ut ób b e r t e t tm ó d s z e s
r z e i n t E g a
y
merát és az ál ta la me gf ig ye lt vi lá go t mo de ll ez zü k pé ld áu l egy
eg ; ép ül et e
kaphatun k er rő l az ép ül et rő l, a j r ú d e l l e n ki né ze té rő l, mi el őt t a z
Megint csak a költségk ím él és t, mi nt le gn ag yo bb el őn yt em le ge th e ü j é
leges változ ta tá so k a mo de ll té rb en é r t é gi cs ál áa k ja t
ban. Az épület csak eg y ig en ti pi ku s pé ld a vo lt ,ám ez a
le virtuális vi lá g me gj el en ít és ér e. Íg y el ju th at un k ak ár a sz ám
amelyek szintén a valóság gy ak ra n je le nt ős en el to rz ít ot t mo de ll je i, d ee gy y ! fo nt os tu r
lajdonságot, a sebességet való sá gh űe n ad já k vi ss za . Ép pe n a se be ss ég rep j
a legnehezebb a számítóg ép es já té ko kb an , hi sz en , mi nt ma jd lá tn i fo gj uk , re ng et eg
számítást kell elvégeznünk. (3] [73]
Miből is áll a modellezés? Először is fel ke ll ép ít en ün k eg y mo de ll te re t. Ez FE DÉ S ég
útmodellnél a te re pa sz ta l, a sz ob rá sz ná l a sz ob or , es et ün kb en pe di g eg y vi rt uá li s vi va ze
lág lesz, melyben ugyanolyan dolgok szer ep el ne k, mi nt a va ló sá gb an , cs ak é p p e n k j
nem lehet megf og ni ők et . (E tt ől le sz vi rt uá li s. ) Te rm és ze te se n a va ló sá g va la me nn yi - ké se 4 .
re leélgy szerűsítve kerül a rendszerünkbe, mert a tú l bo ny ol ul t do lg ok fe le sl eg es e r ő - 7

forrástöbbletet igényelnek. It t go nd ol ha tu nk ar ra , h o g y eg y k ö n y v e t té gl a b
.
modellezünk, nem pedig lapok sokaságaként Ezt hí vj uk i i n z t s á t á j á s E Z E R M E R N B E B
más, mint elvonatkoztatás, a leglénye ge se bb tu la jd on sá go k ki em el és e é s á l t ; f
. Ez szubjektív fogalom, mert esetle g sz ük sé gü nk le he t ar ra , h o g y mo d e z e ektié t
r- lapozható legyen. Ekko r ez le sz a le gl én ye ge se bb t u l a j d o n s ádge,p.
elvonatk oz ta tu nk , ho gy a la po k ha jl ít ha tó ak le gy en ek . A z a b s z t r a k c i ó ma
hogy mennyire vonatkoz ta tu nk el a va ló sá gt ól , el ső so rb an a feá s a :a a
(Nem árt azonban egy esetlege s to vá bb tf ej le sz té st é t é é b e
A mi virtuális vilá gu nk ba n te há t te st ek , a l a k z a t o km
szen ezeket szeretnénk majd megjeleníteni. Ezek at és

igénybe vehetünk külön fényforrásokat ís. arines ny,


ven
, alM a v átl da ,
hi [ 9
v. d
: 4 . d á -b 4 4
ez 2-9elet ha
UM e v rin.ks. . a A sazipa
- ; nd 1 É C 4 aj
ml Szak si / Ésa
a r
§ s ; ge ű
— mé r mt a 2 ú ké -
aal
ua 2 - 4 ját £ pi e
2 d "A 29 í 04 ő éw s )
d ama F L ép 2 mi
ju e m—f
e
a4 4 49; b az . ta
a,
Jr Naa r
; -
4
.
J e. . A Je

"úg
kh MA . Új 8
a
a $ . . ő tal
a FX § Fdki szi
p gp v al ol 14
- , 3 É n pi :§ at
) 2?T ! v K.
) acs Mao . - Vá 140

Net
Ft. F ; Ő .

.a [enytiOlIá5$,
te kal f : T ús fű . h.
;
c te : a w

18
eröt d ( TE 28 , ss é b A

al éé áéÉ
n rő

zerg B e
4 K j 19 7vn8 .

ésa
s Me É megdlsz2a
4

hvz
ú 67 ette ;
Aa,
j 1
! v d 2 e .
dr ák ú hg. e. , fi "
a 6 v d TT selő
4 e!

e t b e n
sas

e s
va

s o k
a. c
OTUILM

l l e z é s
a

e
é

o d
ee

a z u t ó b b i é l y e b b a b s z t r a k c i ó e
csak m kialakításánál megisáll (Például a s e t é n s z ü k s é g é s . A m
s z o b r á s z a t e s e t é n ) N e a! m-a2 E

a s i
d

s v i l á g uantk, é p p e n ú g y , m i n t a h o b J í v d. a
VET JAT f

u á l i
ház ra :

t
e

ü n k k e l l a v i r
,K

k ö d t e t n
pt

a z o n b a n m ű t á s a , h i s z e n e z
e n f o n t o s a m e g j e l e n í t é s m e g v a l ó s í
nak a v o n a t o k a t . M i n d e n k é p p
s i l á g g a l n e m s o k m i n d e n t t u d u n k k i
e l m e t a m u n k á n k . P u s z t á n a v i r t u á l i v
nyer ért l l ö n t e n ü n k , a m e l y e t m e s
l é t e z ő , n e m l á t s z i k . L á t h a t ó f o r m á b a k e
deni, h i s z e n a z b á r
ü n k . [ 1 4 ] [ 2 3 ] [ 4 9 ] [ 5 2 ] [ 6 9 ] . u a
jelenítésn e k , k é p a l k o t á s n a k ! n e v e z
i e n t á l t k ö r n y e z e t b e n z a j l i k , d e e l v o n a t k o z t a t u n k a n y e l v i
A fejlesztés ob j e k t u m o r
g o k t ó l . M i n d e n t ú g y m u t a t u n k b e , h o g y e g y s z e r ű e n i m p l e m e n t á l h a t ó l e g y e n
sajá t o s s á
bármily e n k ö r n y e z e t b e n .
köztades ék ltak áz e
§ §- al v á pé 6 a -n ( "ata S
a . Ua §
Me ná jóa a ii 4 MA a lar TON
Ni ert lle eazté -I ipa 4
ú A ( v ue 1.

ep

hev vij geg fi .


4
za gobtii

1. fe j e z e t k e p z é z e
[A

k
laid a Meatpee
éa

ta. dj végy Allj át


hd
é ba 9 . ss a
d sz egát
én s

m ű r e n d s z e r f e l é p í t é s é
[/

Mielőtt b e l e v á g u n k b á r m i n e
rek r ő l á l t a l á n o s i s m e r e t e k e t s z e r e z n i . Á z e g y s
r e t e k e t ( 1 . 1 . ) j e l e n t , a b o n y o l f t v e r r e n d s z e r e k esetén pedig
ramozási isme
cé l s z e r ű a z o b j e k t u m o r i e n t á l t s á g e l m é l e t é b e n ( 1 . 2 . ) i s e l m é l y e d n i . Minden
fon t o s m e g j e g y e z n i , h o g y j e l e n c é l u n k a z á t t e k i n t é s , n e m p e d i g a t e l j e s
megismerés.

1.1. Programozási alapismeretek


Amikor azt a szót hall juk, hog y pto gta m, a tévé csat orna vag y a láto gató ba érk ező
rokonok jutnak eszünkbe, akiknek elfoglaltságot kell szerveznünk. Mindkettőben
közös az a lista, ami megjelöli az adott eseményeket (tévéműsor, városnézés stb.),
azok sorrendjét és időpontját. Amikor rövid vendégségbe érkezik távoli rokonunk,
összeállíthatunk egy tevékenységi listát. (1. táblázat.)

1. táblázat. Program egy vendég számára

Időpont Tevékenység
, Péntek, 17:30 Vonat érkezik, állomásról elhozni
! Péntek, 18:30 Közös vacsora a családdal
. Péntek, 21:00 Ha nem fáradt, esti-éjszakai pecázás atavon — !
Szombat, 10:00
. Kirándulás a közeli hegyekbe

Ezzel ugyanolyan jellegű programot alkottunk, mint amilyet a számítógép számára


készítünk, ha valamilyen feladatot szeretnénk vele végrehajtatni. Egy hétvégi idő-
beosztás esetén nélkülözhetetlenek az időpontok, hiszen éjjel egy órakor például
nem érdemes nekivágni, kirándulni, hacsak kifejezetten éjszakai túrára nem vágyunk. Ú ság
(Akkor viszont korábban kezdjük.) A számítógépek programozása során általábaaz n Pt Zs
időpontok nem lényegesek, az események sorrendje viszont annál föntösébbe Tess
2
széle

Ís
d (

BANT
d. a
xerioyci MEG 1
fi
hi
a
Va; ca ő ő
:
S het
91
1
[/
vő4"
"

f
d
si rT
- ?
sa c 14 V/ 9 a
er
a
8,

hi
At
nagz

r
4
4 ts kv 7
A
- dl
k 4
g4
a ÉS 84 19", ő ÉvA
ad
- satdaa raa
. a
3
uszni
AA u he al
ág Pi cél AP
ezi y ése T "4 B Ú7 4 b! ző és 9.2 pa 4"

, s Í fi
v?4
ü
L.J u § 23( ll a § é Éa ú
1 §!
A lid 4 1 ma
9 ER
1 a Z Adá e ká 8
" 8 Eg rk
e 44 ar 111vV., 0 tt
zzz 4921 É
í ty "2 rirevirtát 4 5—
fi
,

n e g y g é p l e n n e , f o r m á l i s a n és sz
szerep l ő n k t ö r t é n e t e s e 1!
érti
r a m o t , l é p é s r ő l l é p é s r e , e g y é r t e l m ű e
l l e n e a d a g o l n i a t e n n i v a l ó k a t , a p r o g
lyosan k e s p ó r o l h a t j u k . T e k i n t s ü l k n a :
s k o d á s t é s a m a g y a r á z k o d á s t m e g
[tt vis z o n t a z udvaria égi —
ó g é p s z á m á r a 1 5 é r t h e t ő ? m e g f e l e l ő j é t !
hát a f e n t i s z ö v e g s z á m í t pa j§
az
hi

wm fel h í v ( a p a ) r
ég 7

a n n a k - e a m e g h í v ó k ? " ) - i g e n , a k k o
u h a k é r d e z ( a p a , , K é s z v
válto z ó c í m : s z ö v e g
k é r d e z ( a p a , , M i a p o n t o s c í m ? " )
cím : s
mozgá s ( c í m )
i n d e x : m i n d e n m e g h i í v ó r a :
ciklus
m á t v é t e l ( m e g h í v ó [ i n d e x ] )
mozgás ( h a z a )
: m i n d e n h á z s z á m a z u t c á b a n :
ciklus i n d e x
mum m o z g á s ( h á z s z á m )
u kioszt á s ( m e g h í v ó ( h á z s z á m ] )
t ö m ö r s é g é b e n i s e l m a r a d a z e m -
y e z a n y e l v e z e t s z é p s é g é b e n é s
Tagadh a t a t l a n , h o g e n k é p p e n e l ő t t e
z e g y é r t e l m ű s é g e t t e k i n t v e , m i n d
ő l , v i s z o n t a l o g i k u s s á g o t é s a
berét r e j t e l m e i r ő l , m e g k e l l i s m e r k e d -
g ó k é p e t k a p j u n k a p r o g r a m o z á s
halad . H o g y á t f o ( 1 . 1 . 2 . ) , a f e l t é t e l e s
e l e t e k k e l ( 1 . 1 . 1 . ) , a v á l t o z ó k k a l
n n a k f ő b b e l e m e i v e l : a m ű v
nünk a ]
) é s a c i k l u s o k k a l ( 1 . 1 . 4 . ) . ( 9 ] 5 3
elá g a z á s o k k a l ( 1 . 1 . 3 .

1A
tits t M ű v e l e t e k
k i a z a b l a k o t , v a g y m a g u n k h a j t j u k
v a n , m e g k é r ü n k v a l a k i t , h o g y n y i s s a
Ha m e l e g ű b b , p a t a m é t e r e s
a z ö s s z e t e t t m űegv y
e lsezteerk e t
végre e z t a m ű v e l e t e t . E r d e m e s
a z a z e g y s z e r ű n y i t á s m ű v e l e t ,
a l ó s í t a n i . V a g y i s a z a b l a k n y i t á s
elj á r á s o k k a l m e g v
y j e l ö l j ü k : , al
p a r a m é t e r e a z a b l a k . M i n d e z t í g
melynek il
mu nyitá s ( a b l a k )

a k a l n
EZEKBE

l
EK
e n ü
7
e t l
t
on
z v
a

ö
r

t k
a

e
t

z
m

e
s s —

v
n y ;

l
y ;
m
:
e
n s

y
n g ;

n
— —

e z a
me

h o g y n i n c s o l y a n k ö r n y e z e t , a h o l ..
d
z n i , é z ,
jr

ip vgjás á a m e g j e g y e 1 í

- t , P a s c a l ) t ö r t é n ő á t í r á s n e m n e h
t
z

o n t a m e g f e l e l ő n y e l v r e ( p é l d á u l C
tó, visz
LL emmntsntn
-
J e ú ő Él
pé d ,

Ka zá nítástoi hni
egiv fi
rmészetesen
tél i
ált

u l a eg ez tt ót ád ál tiárd é
é
i k
m
k .azta tl o k u m e r m d é t e s r ű
w nyo m t a t á s ( d o k u m e n v i t e f
l j s
A műveleteket a s z á m í t ó g é p ré te kr e L
dekompozícióban el ne m é r t a
e e
z l e m m
i ű v7 e tjét, ami tová
tó, hanem közvetlenül az v
áramkörökkel raósul eeg . Il ye n e l e m i mű ve le t.
összeadás.
Egy extrém példán keresztül néz z ü k m e g , h o g y a n tö rt én ik e z a ré sz mű
bontás. Mindenki tudja, h o g ya z eg és z s z á m o k h a t v á n y o z á a
s á t sz or zá ss al , a szorzási
pedig az ös sz ea dá ss al de fi ni ál ju k. A m e g o l d a n d ó fe la da t pé ld áu l 5 - n e k a t é r é s (h ar
madik hatványa).
u hatványozás (5, 3)
Ehhe z az 5- ös s z á m o t h á r o m s z o r ke ll ö n m a g á v a l ös sz es zo ro zn i.
mM szorzás (5, 5, 5)
Ha ezt valóban az ös sz ea dá s sz in tj éi g sz er et né k bo nt an i, n e m e g y s z e r űa he ly ze tü nk :
sokszor és egymásba ág ya zo tt an ke ll v é g r e h a j t a n u n k ez t a pr im it ív el já rá st ó ( A z
egymásba ágyazo tt sá g t u l a j d o n k é p p e n a m a t e m a t i k a i zá ró je le zé sn ek fe le l m e g . )
u összeadás (összeadás (5, 5, 5, 5, 5) , ö s s z e a d á s (5 , 5, 5, 5, 5) , ö s s z e a d á s (5 , 5,
5, 5, 5), összeadás (5, 5, 5, 5, 5) , ö s s z e a d á s (5 , 5, 5, 5, 5) )
Műveletet természetesen magunk is l é t r e h o z h a t u n k — ez a p r o g r a m o z á s al ap ja —,
mégpedig a k o r á b b a n de fi ni ál t (l ét re ho zo tt ), il le tv e az el em i m ű v e l e t e k e t fe lh as zn ál -
va. Így egy műveletfát építünk, melynek a tö rz se a na gy b o n y o l u l t s á g ú el já rá s, le ve le i
pedig a primitív, elemi művele te k. T e k i n t s ü k pé ld áu l a k é z m o s á s lé pé se it , h a a ny it ás ,
zárás, szappa n o z á s , áz ta tá s, tö rl és m á r is me rt ek !
u kézmosás ()
nyitás (csap)
szappanozás (kez)
áztatás (kéz, 5 másodperc)
zárás (csap)
M törlés (kéz)
A műveleteket tehát magával a névvel és zárójelben a vesszővel elválasztott para-
méterlistával jelöljük. Amikor definiáljuk, a paraméterlistát elvont fogalmakkal ad-
juk meg:
N aztatás (mit, meddig)
Végül ejtsünk szót a típusokról, amelyek kissé leszűkítik az adott ket VÉGERÉKNIT
tási körét. Ezek a típusok megadj á k a p a r a m é t e r e k m i l y e n s é g é t — : p o v a k r a b b a n
szám, szöveg vagy logikai (igaz, hamis) érték. Ezek nem annyira ketsttéré mégis gk

a a Ev it arészücegót kén
Eppen ezért a szorzást elemi műveletnek szokás tekinteni, a sok összeadás ugyani
3 a 9 4 . pot

örökké tartana.
a
my9 1 § án

"e k 0.47? d
a "a A u2 "140 ds
, a h ml-a t ád EETVER rre , " " a
pe -
j a a s F pr . d a § A Jáa c) ú )
" ze ; A sz d ( E es va zt
B. a ! ök? ( az
ys
4
A sek A séf
n
Ég . § . c. )
9 ia 54
É kal a ta ve. . sodh te
"zze aa
P köll Z
a to
naM ata d,ltés ;ági fé JN - ;
edéa et eza vas:
ag
j §.
49
kv hey Ted 8 As s
7 ab Ca
Ta
4a
[e TV
9:
[A e § tan
Vat a .
ő 4 rigY
hé e
§
szd T-t
OaL AaSzfüt atBZllADA.T1OAZÁICE
x
A ek a e...
4 ea § ed 4 ot
ÚÖNHOl
veleitt
CR (9
) sál
LC. . fed.m a óösze - mr 7Üjy
ctez - tönk ea " t
A k
köl € ,
d söt

szorzás

a . M ű v e l e t b e m e n e t e , k i m e n e t e
1. ábr

1 . 1 . 2 . V á l t o z ó k
é n y e k n é l v a n s z e m l é l e t e s j e l e n t é s e : a
k á b a n a v á l t o z ó k n a k p é l d á u l a f ü g g v
A mat e m a t i ( á b r á z o l á s n á l e z
t a r t o m á n y o n b e l ü l v á l t o z t a t j u k
v á l t o z ó t a z é r t e l m e z é s i
függvény e n k a p u n k e g y é r t é k e t
t e n g e l y t j e l e n t i ) , é s e n n e k f ü g g v é n y é b
többnyi r e a z a b s z c i s s z a t é s -
s a v á l t o z ó l é n y e g e e b b e n a m e g k ö z e l í
a z o r d i n á t a t e n g e l y e n j e l ö l ü n k ) . V a g y i
(am i t
ben a vá l t o z á s . á l t o z -
n l ó f o g a l o m , v a g y i s t e t s z ő l e g e s e n v
l t o z ó a s z á m í t á s t e c h n i k á b a n i s h a s o
A v á m i n t a m a -
a 1 5 k i e m e l k e d ő , v a l a m i n t — é p p ú g y ,
v i s z o n t I t t a t á r o l á s i f u n k c i ó j
tatható, a n a m o n d a t b a n ;
l e t e k e t í r h a t u n k l e v e l e . P é l d á u l a b b
temati k á b a n — a b s z t r a k t m ű v e
v e l e a b i c i k l i m e t " , a l e g o l c s ó b b f e s d
e g a l e g o l c s ó b b f e s t é k e t , é s f e s d l e
ho g y , v e d d m f e i d a t o t
v é g r e h a j t á s s o r á n d e r ü l k i . M é g i s a
v á l t o z ó , a m e l y n e k é r t é k e c s a k a
ték egy

199 a

t a n á a
er

á s j e l n é l k ü l i s , d e e z m e g b o n (JeeaJÚ
s

v o l n a a z a l á h ú z
d

u k
,

! A z e g é s z s z á m s z a v a k a t í r h a t t
a t a j a v a s o l t . t Ö F

E h e l y e t t i n k á b b a z , e g é s z " s z ó h a s z n á l
eg y s é g e t .
19
, "a ette
Méra dábt á s i a
"A
e á á 5.
7 hd e z
re
§ 0 e z K
rT.
E LÉ
ző AGG Eg,
. 1
sa
.

i [ asz eni mjés ts ös hó? satégi Wes

bd e A nég p d

a

;
4. i ;
,

e mm lndt s

akkor sárga legyen a kerékpárom. Ha li la , a k k Lá


o r
th at .
ó, a.z .
ab sz "
tr ak t változó ——
ga zd as ág os , h a n e m egyszersmind né külözhetetlen — jelen pél- 3
használata nemcsak
dábaa sznínek szá m á n a k t e k i n t é l y e s m e n n y i s é g e m i a t t . t s É T é r
A vál t o z ó k n a k a s z á m í t á s t e c h n i k a p r i m i t í v s é g e m i a t t á l t a l á b a n t í p u s u k v a n — r i t -
ka az a programozá s i n y e l v , a m e l y e z t n e k ö v e t e l n é m e g . E z e k a t í p u s o k l e g g y a k r a b -
ban: szám, szöveg , l o g i k a i i g a z v a g y h a m i s é r t é k , i l l e t v e a z e z e n p r i m i t í v t í p u s o k
gyűjteménye. (Il y e n g y ű j t e m é n y n e k t e k i n t h e t j ü k a z o s z t á l y o k a t i s — 1 . 2 . ) M i n d e z a z t
, h o g y a p r o g r a m o z ó n a k e l ő r e e l k e l l d ö n t e n i e , h o g y a z a d o t t v á l t o z ó b a n m i -
jelenti
l y e n a d a t o t s z e r e t n e t á r o l n i . ( N é h a l e h e t s é g e s a k o n v e r z i ó , a z á t a l a k í t á s , p é l d á u l a
hamis megfelel h e t a n u l l á n a k , a z i g a z p e d i g e g y n e k . )
A változókat a k ö v e t k e z ő k é p p e n j e l ö l j ü k d e f i n i á l á s k o r ( a z a z m e g h a t á r o z á s k o r , l é t -
rehozáskor):
u válto z ó v á l t o z ó n é v : t i p u s
Amik o r h a s z n á l j u k — i t t é r t é k e t a d u n k n e k i — , c s a k a n e v é v e l h i v a t k o z u n k r á .
mu változónév:- érték
Az említett p é l d á t r ö v i d e n a z a l á b b i m ó d o n f o r d í t h a t j u k l e a s z á m í t ó g é p n e k é r t h e t ő -
en. (A lego l c s ó b b m ű v e l e t n e k s z e m m e l l á t h a t ó a n n i n c s p a r a m é t e r e . V a l a h o g y m é g i s
célszerű jelölni művele t m i v o l t á t — e z é r t n e m h a g y j u k e l a z á r ó j e l e k e t . )
u változó festék: szín
u festék:- legolcsóbb()
u be f e s t ( k e r é k p á r , f e s t é k )
Egy speciális, de gya k r a n h a s z n á l t f a j t á j a a v á l t o z ó k n a k a t ö m b . E z e k a z o n o s t í p u s ú
változókat foglal n a k ö s s z e , é p p e n ú g y , m i n t a h á z t ö m b ö k a h á z a k a t . A t ö m b e g y e s
elemeire szögletes zár ó j e l l e l h i v a t k o z u n k , a m i b e a z e l e m s o r s z á m á t í r j u k . ( E z l e h e t
egy mási k , ú g y n e v e z e t t i n d e x v á l t o z ó i s . ) A s o r s z á m o t a s z e m l é l e t e s s é g k e d v é é r t
pc jnttal 15 jelölhetjük — általában erre azonban nincs szükség (és lehetőség). És több-

nyire a sor s z á m n u l l á v a l k e z d ő d i k , v a g y i s a 0 s z á m j e g y é s a z 7 . s o r s z á m e g y e n é r t é k ű -
nek teki n t e n d ő . M á r a d e f i n í c i ó n á l i s k i f e j e z z ü k v a l a h o g y a t ö m b j e l l e g e t , p é l d á u l a
szögletes zárójellel.

változó háztömb [20]: ház


becsönget (háztömb [1.])
változó index: egész szám
index:z 18
bekopog (háztömb [index.])

" A legtöbb fordítóprogram tényleg így kódolja a logikai értékeket. Erre szükség van,
hiszena
számítógép alacsony s z i n t en c s a k s z á m o k a t k é p e s b e f ő g a d n i . j
a a mA
A 2 § I 414 7 ed I 97 í Í

58 csak egy h i v a t k o z á am
s ,i ar ra ut al , ho gy ő
P an ü — ae di
L A EgV LT Ké; TESZT TE el a
H

sőbb létrejövő vál to zó az on os ít ój a lesz . A k zasra és a megszüntetés


r a m o z á s i n y e l v b e é p í t
4,
v e . 6 " a g g y á
h v
(
va n n a k — g y a k r a n a p r o g ád

4 . 1 . 3 . F e l t é t e l e s e l á g a z á s o k
a a s z á m í t ó g é p p e l c s u p á n m ű v e l e t e k J m á
Kezün k i g e n c s a k m e g l e n n e k ö t v e , h
k a l m a z h a t n a k k ü l ö n b ö z ő t a e t é n k l e h e t ő s é g e k e l
után j á t h a j t a t h a t n á n k v é g r e , é s n e m a l
l ő e r e d m é n y f ü g g v é n y é b e n . E g y e g y s z e r ű B Y : t Ó S A E p é l d á u l
eg y i d ő k ö z b e n k i d e r ü
é g r e , v i s z o n t h a e z k i e g é s z ü l a h i b á s t e r m é k e t v i z s g á l ó e s z k ö z z e l ,
művelete k e t h a j t v
e r ü l a f e l t é t e l e s v é g r e h a j t á s : h a h i b á s a t e r m é k , a k k o r k i k e l l d o b n i .
akkor ott már bek
a t j u k m e g e g y é r t e l m ű e n , h o g y e z m i k o r k ö v e t k e z i k b e , v é g r e h a j t á s k ö z - .
Nem mondh
ben (fut á s i d ő b e n ) d e r ü l k t .
A feltétele elá s g a z á s e g y l o g i k a i k i f e j e z é s v i z s g á l a t á v a l i n d u l : h a e z i g a z , a k k o t j
végreh a j t j u k a z e r r e v o n a t k o z ó s o r o z a t o t , e g y é b k é n t — h a n e m i g a z , — v a l a m i m á k
a r a d . ) A l o g i k a i k i f e j e z é s a m a t e m a t i k á b a n j ó l i s m e r t l o g i k a t m ű
(Ez gyakran el is m
e k e t ( é s , v a g y , n e m , k i s e b b , n a g y o b b , e g y e n l ő s t b . ) t a r t a l m a z h a t . P é l d á u l v e g y ü k
velet
x i m u m m ű v e l e t e t , a m e l y i k k i v á l a s z t j a k é t s z á m k ö z ü l a n a g y o b b i k a t . N y i l v á n i t t
a ma
e l v i z s g á l a t t a l e l k e l l d ö n t e n i , m e l y i k é r t é k e t k e l l a h í v ó p r o g t a m r é s z n e k v 1 s z -
egy feltét
szaszo l g á l t a t n i .
u művelet maximum (a, b: szám): szám
u h a a : b , a k k o r v i s s z a a
u e g y é b k é n t v i s s z a b sp aj,
l é t r e h o z á s á n a k m i k é n t j é t é s j e l ö l é s r e n d s z e -
Ezzel r ö g t ö n m e g i s m e r t ü k a m ű v e l e t e k
ré t . A m ű v e l e tnek
e k ában an ered
által m é n
v y ü k ( n e m s z ü k s é g e s ) , a m i t v i s s z a t é r é s i
értéknek hívunk — ezt kapja vissza a hívó programrész eredményként." (Ennek visz-
s z a k ü l d é s é r e szolgál a vissza szó, ahol a végrehajtás meg is szakad.)

w
; Például a C-t meg
6 ő

És delete operátorai.

v a v i s s z a t é r é s i é r t é k n é l k ü l i m ű v e l e t e k e t e l j á r á s o k n a k , m í gaV I S Z "
:Sz t é r é s ié r t é
;
k k
te
e r
l e
ren
nndy e l f ; 4 7.
delkezőket függvényeknek nevezi. A C nyelv nem tesz különbs izgis
1 s do JÁLAB ahescot KOZ k
után a n é z z e m e g a
1 .
amí g a v é g é r e n e m é r ü n k . D e :
majd i s m é t e l j e a m e g n é z é s l é p t e t é s
m
Ez utóbb i v á l t o z a t a c i k l i k u sv

(jellemz ő e n n ö v e k v ő ) p a r a m é t e r e k
e g y s z e r , e l v o n t a n é n t z e s e
e gry v á l t o z ó
egyetlen megvalósí t á s i m ó d , p é l d á u l h a n e m L a p s e l ő r e aj á t üllbilt A vég
péld a k é t m e g o l d á s á t a l á b b l á t h a t j u k .
um nézd (t é v é c s a t o r n a [ 1 . ] )
u néz d ( t é v é c s a t o r n a [ 2 . ] )
as
A cikheisolél í t s i el e n g e d h e t e t l e n e g y i n d e x v á l t o z ó h a s z n á l a t a , m e l y n e k t í p u s a á l t a l á -
ban egész s z á m . E z t l é p t e t j ü k , é s e z a z o n o s í t j a , h o g y a c i k l u s é p p e n h á n y a d i k k ö r b e n
van, v a l a m i n t e z t v i z s g á l j u k , h a a c i k l u s t a n n y i s z o r v é g r e h a j t o t t u k , a h á n y s z o r k e l l .
d
u változó index: egész szám
u index:- 1
mum ciklus (amí g i n d e x c u t o l s ó r 1 )
u nézd (tévécsatorna [(index.]) .

u index:5- indexr1
-

Az utolsó egy szám, eg y é r t e l m ű e n az u t o l s ó t é v é c s a t o r n a s o r s z á m a . ( H a t u d j u k , h o g y


ez például 20, akkor húszat írunk a helyér e. ) M i v e l m i n d e n c i k l u s n a k h a s o n l ó a s z e r -
kezete, mi egyszerűsített, gyakran csak e g y s o r b ó l ál ló je lö lé st a l k a l m a z u n k : j

m ciklus index:- az összes tévécs a t o r n á r a : n é z d ( t é v é c s a t o r n a [i nd ex ]) )

1.2. O b j e k t u m o r i e n t á l t P O T A N S A N R S B
Az objektumorientált szemlélet a programozást átláthatóvá, TENTSÉVÉTB latékor
s logikussá teszi. Az objektumok valamilyen dolgot . . (Nem meny agsnt
Pödtezé hiszen az objektum jelentése valóban tárgy, dolog)Iyendolgok éheznek,
N
például az autó, a kerék, a ház vagy az ablak.
Él

Az objektumortentált programozás egy fejlesztési módszer, melyeta


programozási nyelv 15 támog at, illetv e része az adott nyelv nek, Hár ho
. e, 1!
1 s ét

így mt 35.
2 poz 1 ÓVA ak

h a t o k ,
ék

í t
za

o s
vsz

p o r t
szt

köré cso
ha 1. GE

ezek
E j "e Va

nzők
f t

; g - JáE E ráni n
klog g se

bh
91t
ez ve. e ÖV? e 7 ú? nől cö tat
Vg f ö g b j
99 8 ; ú 4 e
uű he tej)
hegrra A "
: f
8

1. sávon7
m.j

e
4 .
b. ;

O A I A sa
[3e

Z E T T
8
M
e
e

G
c

e
hul

B E T alé ea—
tet

E S
§

7 a Ől
a d

E
4.

T sz
he

N E T a
a

A
vi

taelsa
MIR

J A T
) Úzzg
ya

AZT,
N

ge
I R N K Z É S É
1
i
D A P ete
0

ke t
éa azt 4 6

na
"

oz
Há -

ER
ts

aj ISE
m- é bg b 0
f : na
c
ve
hez a. ,
f [/ Ad f nm sa s"
. B h é "e.
; ! ül
, ? I e
" s e

ér 2 pazarul
e És! an ű we

Th
sg B "ve
l

zaras
.

Eovségbe
- ér 24 7

414
ús

;
EVA sze szél
2 "e A va ej d

6:
v
ha A u

Act
k d mm

l s e z t
.

T E A s
a a

b 3. A V
; .

EGG
sz ..

EE . 1 . 2 . ) h o z u epp
n t ö b b n y i r e m ű v e l e t e k e t ( 1 . 1 . 1 . ) é s v á l t o z ó k a t ( 1
A pro g r a m o z á s s o r á
s á l t a l á b a n v á l t o z ó k , é s l e g t ö b b s z ö r e g y v á l t o z ó b :
létre. A m ű v e l e t e k p a r a m é t e r e i i
é k é t . V a n n a k o l y a n m ű v e l e t e k é s v á l t o z ó l
helye z z ü k e l a m ű v e l e t v i s s z a t é r é s i é r t
e g y a u t ó k e r e k é h e z a f e l f i vatzgízző Ni
s

k a p c s o l ó d n a k , m i n t p é l d á u l
s

t d o l o g h o z
.

amelyek e g y a d o t
des

a n k a p c s o l ó d i k a k e r é k h e z . C é l s z e r ű a z i l y e n — a z
jás és az á t m é r ő . M i n d k e t t ő s z o r o s
e l e t e k e t é s v á l t o z ó k a t e g y s é g b e z á r n i , v a g y i s e g y s é 9 e -
ado t t d o l o g r a j e l l e m z ő — m ű v
( m e g h a t á r o z n i . E z a z o b j e k t u m o k a l a p v e t ő f e l a d a t a .
sen kezel n i , e g y ü t t d e f i n i á l n i
e t m i n t o b j e k t u m o t . T u l a j d o n s á g a i t v á l t o z ó k b a t ö m ö r í t -
Vegyük p é l d á u l a k ö n y v
z ő , a k i a d ó é s a m e g j e l e n é s é v e . ( E z e n v á l t o z ó k a t
jük, ezek tö b b e k k ö z t a c í m , a s z e r
y m e z ő k n e k n e v e z i k . ) A könyvv e l k a p c s o l a t o s m ű v e l e t e k
gyakran a d a t t a g o k n a k v a g er I

e t e k r m n á s e l n e v e z é s e a t a g f ü g g - nm , .
ő
l
,
ű v e
..
2
á
4,
u l a z o l v a s á
z
s , r a k t á r o z á s , k ö l c s ö n z é s . ( A m , , ..

péld
a h a g y o m á n y o s — t e h á t n e m o b j e k t u m o r i e n t á l t s z e m l é -
vé n y v a g y m e t ó d u s . ) M i n d e z t a

letben — a k ö v e t k e z ő k é p p e n m o d e l l e z h e t n é n k .
változó k ö n y v . c í m e : s z ö v e g
változó kön y v . s z e r z ő j e : s z ö v e g
ö v e g k a V E R ]
változó k ö n y v . k i a d ó j a : s z
M o n a 5 Ü
változó kö n y v . é v e : e g é s z s z á m
( c í m , s z e r z ő , k i a d ó : s z ö v e g , é v : e g é s z s z á m )
művelet o l v a s á s
r z ő , k i a d ó : s z ö v e g , é v : e g é s z s z á m , p o l c s z á m :
mű v e l e t r a k t r á r o z á s ( c í m , s z e
e g é s z s z á m )
s z e r z ő , k i a d ó : s z ö v e g , é v : e g é s z s z á m , k i k ö l c s ö n z ő :
w művel e t k ö l c s ö n z é s ( c í m ,
szöveg)
v k e z e l é s e s z é t f o l y i k , k é p t e l e n e k v a g y u n k e g y b e n t a r -
Szemmel lát h a t ó , h o g y a k ö n y
h a t ö b b k ö n y v r ő l v a n s z ó , a k k o r a c í m , s z e r z ő , k i a d ó , é v
tani. T o v á b b i p r o b l é m a ,
l l s z e r v e z n i , a m i m é g n a g y o b b k a v a r o d á s t o k o z h a t . E z e n k í v ü l
vá l t o z ó k a t t ö m b b e k e
d e f i n i á l h a t j u k — n e m c s a k í g y s z é p e n s o r b a n , e g y m á s u t á n — , í g y
a változókat b á r h o l
s é g l e n n e v i s s z a k e r e s n i , h o g y m i i s t a r t o z i k a k ö n y v h ö z .
utóbb képtelen
s é g é v e l a z a d o t t d o l o g ( p é l d á u l k ö n y v ) t u l a j d o n s á g a i t é s a r a j -
Az objek t u m o k s e g í t
e l e t e k e t k ö n n y e d é n ö s s z e f o g h a t j u k . M i n d e z n e m m á s , c s a k f o r m a i —
ta v é g e z h e t ő m ű v
a v a l ó s á g b a n a f o r d í t ó p r o g r a m o k a z i l y e n ö s s z e t e t t r e n d s z e r e k e t e l s ő l é -
kö n n y í t é s ,
s s z a a l a k í t j á k a f e n t i f o r m á j ú r a . ( A s z á m í t ó g é p e k i g e n p r i m i t í v e k , n e m k é -
pésként vi
t g o n d o l k o d á s r a . ) ús
pese k a b o n y o l u l
u objektum könyv
mu változó cím: szöveg
EN ma Ar

hey l "a€—
évehs

6"áltozóere gövmáje rő
. ez édi
b ) rt "er ; . 5 , etáágőt —

a y 49 t
Éz Ot g
[eegéret

evés e t ég ül ke l h é t e g y K E K E g. al gy se ns zö ge t ál ka bn az tá dt
um könyve cím: ,30grafikusrendszer" TT sPtáó DER Ésa
Sok dologlen tk
hea ugyanoly , csu pán a tu la jd on sá g j e l g b e n
kében különböznek. (Vag y s e a b b a n se m. ) Go nd ol j gy Ö r ve l
Mindegyiknek ÁGT N Y Y L É zd
z bn et s p o r t e g e a í y a m s z e m e g p e z e t t
kölcsönözni. é n s e ne ke ll je n m i n d e n k a c s á t eje pa lá at t d é n tál ln ékcé ls ze rű be ve ze t-

nevezzük osztán T e h á t p s t l k ö i ál ta lá no ss ág ba n t
l
rét értékek nélkü a, l k o t oe zé ll yá őt ; ög sz et át té lé l W É É T Ő N m i k o r Öny
szemlélünk, az már egy kéz z e l f o g h a t ó o b j e k t u m , a m i e g y k ö n y v ú p u b ó lk é p
változó. d
Í g y eg y re nd sz er t ké tf él e sz in te n h o z h a t u n k lé tr e. A z o s z t á l y o k s z i n t j e g y e l v o n t
megvalósítás, ez a rend sz er al ap ja , a vá za . É s a m i k o r m ű k ö d t e t j ü k , v a l ó s á g o s pé ld á-
nyokat, objektumok a t hozu n k lé tr e, fe lh as zn ál vá n az er ed et i vá za t. A z e g é s z n e k a z
előnye, hogy a két műveletet akár teljesen más emberekisvégezhetik.
Furcsa tí pu s ez az os zt ál y, a je le k sz er in t l é n y e g e s e n kü lö nb öz il a z e g y s z e r ű s z á m , —
szöveg vagy logikai érték típusoktól, hiszen mindenféle változót és műveletet taztábes
maz. Ső t to vá bb i o b j e k t u m o k is a ré sz ét ké pe zh et ik . It t a v a l ó s á g b a n is me g
tart al ma zá si h i e r a r c h i a le he tő sé gé t lá tj uk . G o n d o l j u n k pé ld áu l az e m b e r r e , a k i n e k —
van feje, karja, lába és törzse. A kat felk ar bó l, al ka rb ól és ké zf ej bő l, a ké zf ej s e r n l s ó
ujjakból áll. (Eme eszmefuttatás bizonyáta nem állná meg a helyét egy anatómia Szi- A sádli

gorlaton, de példának egyelőre jó.) Az itt említett dolgokat tekinthetjük egyben osz- FA
tály o k n a k 18 , m e l y e k eg y m á s t ta rt al ma zz ák . E z e k e t i ee z í y e t s á á t E MAN
zást telt nyíllal fögjuk jelölni. (2. ábra.)
Ezt a hierarchiát a programozás során az osztályok adattagjai (változói) ké
löljük. Magát az osztályt mi táblázatosan ábrázoljuk, mely három része osztee
lül az osztály neve szerepel, majd az adattagok, végül a tagfüggvények ki
KÖVET ls Va

" Ez a speciális jel mind a Pascalbatt, mind úrVERET


objektumok tagjait a nyíllal (kötőjel-relációs jel pá
2. ábra. Az ember tartalmazási hierarchiája

2. táblázat. Tattalmazás, az ember testrészei

feje: fej
karjai [2]: kar
törzse: törzs
lábai [2]: láb
megszületik (év: szám)
eszik (mit: étel)

felkarja: felkar
alkarja: alkar
kézfeje: kézfej

Látható, hogy időnként


lönböztetése. Amikor a
szükség, hajlamosak lenn
azonba n n e m t
gondol u n k . e s e ;
a k

pt

1. 2 2 A d a t e l r e j t é s —
Egy objek t u m a d a t a i t ( v á l t o z ó i t ) n e mk é o
s l g á l t a t h a t j u k k i a k ü l
gánügye. (A kü lv il ág es et le g el le nő ri ze tl en ül belepiszk: hatr
e m b e r m a g a s s á g é r t é k é r e n e g a t í v s z á m o t adna r és
az
galibát okozh a t . ) A z a d a t t a g o k t e h á t r e j t v e m
n a r a d n a k j

rész elől. Ennek e g y i k e l ő n y e a z , h o g y k é s ő b b , e g y e s e t l e g e s . d é l e á l í t í p á s z á t égsáil é t s é k


tetszőlegesen módosít h a t j u k , a n n a k a k ö r n y e z e t r e s e m m i l y e n h a t á s a s e m l e s z .
A környezet u g y a n i s k i z á r ó l a g a t a g f ü g g v é n y e k e n k e r e s z t ü l f é r h e t h o z z á a z k é jv i t a m
— adattag j a i ál ta l m e g h a t á r o z o t t — b e l s ő á l l a p o t á h o z .
Az adatelrejtés másik e l ő n y e , h o g y k í v ü l r ő l n e m lehet érvén y t e l e n á l l a p o t o t ( p é l -
dául n e g a t í v t e s t r n a g a s s á g é r t é k e t ) l é t r e h o z n i , m e r t az adat h o z z á f é r ő f i s s v é g y e k b ő
é r t é k e l l e n ő r z é s é p í t h e t ő . It t p é l d á u l g o n d o l j u n k e g y olyan s z e m é l y o s z t á l y r a , a m e l y n e k
a né v m e z ő j e c s a k b e t ű k e t t a r t a l m a z h a t . A f e l h a s z n á l ó ez t n e m ís t u d j a m ó d o s í t a n i ,
hiszen k ö z v e t l e n ü l a n é v m e z ő h ö z n e m fé r h o z z á , c s a k a n n a k a b e á l l í t ó ( p é l d á u l e/ xe -
vezé j) f ü g g v é n y é v e l , a m e l y b e n í g y a k ö v e t e l m é n y e k h e z m é r t e l l e n ő r z é s t v é g z ü n k .

3. táblázat. Adatelrejtés

személy
név: szöveg
1. . va

..

elnevezés (új né v: sz öv eg ): eg es z sz am
.. hal

név.l e k é r d e z é s e ( ) : sz öv eg

m elnevezés n
(ú j é v : sz öv eg ): eg és z s z á m
W ha (tartalmaz (új név, s z á m j e g y ) ) , ak ko r vi ss za Ő
WH egyébként név:- újnév
NM Vissza 1
Az elnevezés visszatérési értékét hasz ná lj uk a hi ba je lz és ér e. H a hi bá s ka ra kt er so ro -
zatot adtunk meg (m el y s z á m j e g y e t ta rt al ma z) , nu ll a ér té kk el té r v i s s z a a m ű v e l e t
egyébként 7-gyel. s
Mivel a kö zv et le n ad at el ér és ti lo s, ez ér t a n é v le ké rd ez és ét s e m ol dh at ju l
szerűen az őt tároló vá lt oz ó ol va sá sá va l. E h h e z eg y eg ys ze rű jö ke sá ök és d e
k m
e l l

" Sok programoz á s i n y e l v b e n ez c s a k f o r m á l i s f ü g g v é n y , v a l ó j á b a a


n vá lt o
hozzáférés.
z obiektumortientált y előnye, h o g y ör ök lőöc r ö kie n ős
ő l öts s

tunk létre (3. ábra). Mi § lehetutódja, melyöröökli az ősöss:


lajdonságát — m i n da z ad at ta go ka t, mind : 1g ve. szt kér
i előnyei va nn ak , tu dn ül li k n e m k e l lú
új ra le ír ni sz öl kk a z m g
e e g z é s g má sr és zt losik
st ru kt úr át , ör ök lé si hi er ar ch iá t h o z h a t u n k lé tr e eg y bo ny ol ul t re nd sz er mo de ll l
e e s
sére. a a
Ve g y ü k pé ld áu l a há za k sz er te ág az ó fa jt ái t. V a n n a k la kó há za k és ir od ah áz ak
A lakóházak közül tekinthetjük péld áu l a cs al ád i, il le tv e a bé rh áz ak at . E z e k e t eg y
származtatási hierarch iá ba il le sz th et jü k. A z ős t sí ma ny íl la l je lö lj ük , m e l y az t fe je zidi
Ü l
hogy az utód annak egy fajtája. ( A la kó há z a há za k eg y fa jt áj a— 3. áb ra .) 3

ház

3. ábra. Öröklődés

Ha a ház adattagjai például az ablakok és a kémények száma, akkor ugyanez szerepel


a lakóházban és az irodaházban is. A lakóház tulajdonságai bővüljenek, inda E
lakások számával, míg az irodaházé az irodákéval. Így a családi háznak és
a bér
nak már három-három adattagja lesz: lakások, ablakok és kémények száma. És a
cs a-
ládi ház esetén újabb adattag például a kert nagysága, míg a bérházn
ál a belsőu:
mérete. Mindezt addig folytathatjuk, amíg modellezésünk
absztrakciója el neméi
kívánt szintet.
Az öröklődést az osztály nevénél jelöljük wtód: ős
formátumban. (Például Adi
báz) Így az utódban automatikusan szerepelnek az ős adattagjai és tagzffiüg9ggyé éé
ed

. azokat nem kell külön kiírni. (4. táblázat.)


3.
va
családi ház: lakóház
kert: valós szám

1.2.4. S p e c i á l i s f ü g g v é n y e k

A konstruktor és a d e s t r u k t o r ké t sp ec iá li s fü gg vé ny , m e l y az B J E A Z Z R l é t r e h o -
zását megelőzően, il le tv e m e g s z ű n é s é t k ö v e t ő e n a u t o m a t i k u s a n vé gr eh s
A kons tr uk to r se gí ts ég év el pé ld áu l be ál lí th at ju k az a d a t t a g o k ke zd et i é r t é k é t , v a g y
létrehozhatjuk a dinamik u s vá lt oz ók at . A de st rü kt or fe la da ta ál ta lá ba n a d i n a m i k u s
változók törlése. E z e k n e m kö te le ző el em ei az os zt ál yo kn ak , vi sz on t h a s z n á l a t u k
elkerülhetetlen, ha az adatta g o k kö zö tt d i n a m i k u s vá lt oz ók 15 v a n n a k , m e l y e k cs ak a
futás sorá n j ö n n e k lé tr e. (1 .1 .2 .)
Deklar ác ió ju k ha so nl ó a no rm ál is ta gf üg gv én ye ké he z, cs ak ni nc s pa ra mé te rü k. "9
u házp konstruktor()
u ablakok:- 0
u kémények:z 0
A másoló konstruktor akkor hívódik meg, ha egy létező objektum alapján hozunk
létre egy másikat, vagyis lemásoljuk. De ez történik akkor is, ha egy függvényhívás
paramétere vagy visszatérési értéke objektum, ilyenkor azonban a programozó szá-
mára láthatatlanul,
u házp másoló konstruktor (másolandó: ház)
mum ablakok:- másolandóp ablakok
N kémények:- másolandóp kémények
az
A legtöbb programnyelv rendelkezik automatikus másoló konstruktorral, mely
adattagértékeket egyszerűen továbbadja az újonnan létrehozott lljégönyetie7 Általá-

"S ok ny el v me ge ng ed i a pa ra mé te re s ko ns tr uk to ro ka t, am it kí vü lr ől fe lh as zn ál h
lási értékek hatékony beállítására. Mi nem foglalkozunk ezzel a lehetőséggel.
j E a
e
b t hé h
; e jé eg [9 ;
.al Pn ja .
4 . "en ( s
. Cav
.
; "§ 53 VK
. § b tri
rt Wa TOY ááAAE) iz 2rál? (EB!Té ssaéts F. § mt
; kél, : x - ri 2 agy
ő
pej
1 He kÁgN - ; d Úr 9 ese
!
ém
,
v ra ha h: gl s—, ú ..
- ? "Ead A ( va .
. 3 gi ezé —- hi pt ú
4)ri
p p.§
: ]
á ké 1 e
1] tü j!

M; it értünk az egységes kezelés alatt? A házak közül Például mir1deoyvika (4 cd

Bé es
A.J

§ ; Per é
építeni, de ez a folyamat minden ház esetében máshogyan megy végbe, M.
, d öz SERA Lemet A

KÓR
- ték eze d

telmények érvényesek például egy családi házra, mint egy irodára. A


elnevezése viszont mindegyiknél felépítés. Így ha tudjuk, hogy val
ü
1v. ?
Mé 14

ahol ház!og á
még sejtelmünk sincs, milyen, akkor már jó előre ki
adhatunk rá egy virtuális fel
paranc sot. Bz a végrehajtás közben módosul aszerint, hogy milyen jellegű épi
szeretnénk felhúzni.
"8
kkal oldjuk meg. Egy ház típusú hiv
kozás mutathat minden leszármazottra: lakó
házra, családi házra, bérházra és Í
házra. A későbbi megvalósítási terv határ r O C
ozz a meg, hogy végül is mire, de a progt
munkba már beépíthetjük a felépítés m
űvelet et — a számítógép majd
hogy ezt miként is kell értelmezni. Ettő k é s ő b b e l d ö n t i
l Virtuális a függvény, a progra
ugyanis még csak a neve biztos, az, h m f u t á s a e lőtt
ogy az adott esetben mit csinál,
Az öröklés során szinte mindig virtuál m é g n e m .
is függvényeket használunk, a h
függvényekre alig van szükség. (A h a g y o m ányos
agyom ányos eljárásban minde
zás mire mutat, mindig a típusána g y , h o g y a hivatko-
k megfelelő metódus hívódna
modern objektumorientált nyel m e g . ) E p pen ezért a
veknél már csak ilyen függvény
Ha a függvény nem lenne virt e k k e l t a l á l kozunk. 11
uális, akkor mindegy, hogy mi
mindig a hás osztályhoz rende l y e n h ázról van szó,
lt felépítérhívódna meg. Ez nyilv án rossz, mer
módszert kell alkalmazni egy csa t más
ládi, egy iroda- és egy többlakáso s bérházra. (1
sed)
adni pétáki a ú pozí c i ó j u k a t , a z i r á n y u k
evé agas 2 7 m á k leg , :
hármast, egy h á r o m d i m e n z i ó s
a dimenzióit t e k i n t v e e l s a
ő
kiterje d é s ű . A z o n b a n n e m s ;
inknak, m á t r i x a i n k n a k a l k a l m :
ziókra is kiterj e s z t h e s s ü k v g y
A m á t r i x ao k
t r a
a n st z t o r m á c i ó k n n á l h aSs
:iz n á l j o k f 0
e k ;
juk, nagyíthatjuk, k i c s i n y í t h é t j ü k , ü k r ö z k a lkk v
a i
lálg a t k egjy
máció ezenkív ü l a p o z í c i ó m e g a d á s á r a iss a l k a lm a s , v a
lye z k e d i k e l a z a d o t t a l a k z a t a t é r b e n . ) : i s t M R k e e e r
LAS Érszedi34

2.1. Vektor
Mi sem egyszerűbb egy vektor nodellezésén bt a tömi
A vektort ugyanis a lineáris algebrában a koc ESZZ3K íval md aA f

számmal me gcímkézve össze lehet fűzni. Objek például s

A vektorokat egyszeres aláhúzással jelöljük, é 4 Ma

val definiáljuk: a, A elégé T


(d 4 Vol "a ak

vzíy,
Amennyiben a vektor dimenziója osrA 3
nálnunk. Fz persze elentősen
1egnenc zá
megy alósítását, de jóval meánantb
EB I
7. mezőket alkalmazunk, így a 4OO:lehetp
ős
Viasat így elveszítjük az általánoss
"a

.,Pascalban az array
" Egy v vektor esetében
a 795 E
ycíraAs 4 1
" SRL
j Tü mea WEMR
side 19 a A ej
. - sű sú d
z 9.

alk aitY
tált sChI1iKr
meténg 9-

B ágléjt továbbfejleszthetők. er "a


ezta cp agbtj t bó ú fo zni, biztosan mégse:
Bár mi a Jaromairni€i. 405 grafikával kívánunk gialko dsjá a . . 17
eték ki b árólav háromdimenziós vektorokra lesz szükségünk. Ho:
gén koordináták alkalmazásakor például ez felugrik négy adáut
ha ző
kal fejezhetők ki példá ul a végte len távol ban lévő ponto k.) Vagy pe a képe
nyő síkjában mozgunk, akkor oda elegendő a kettő irányba kiterjedő vektorok nasi
nálata. (Bár a három irányból ha csak kettőt használunk, akkor a térvektorok ís al.
kalmasak erre a feladatra.)
Mivel rögtön az első gondolatkörünkben háromféle vektor szerepelt, érdemes a
problémát kicsit általánosabban megközelíteni. Ez lehet, hogy túl bonyolulttá, túl
lassúvá teszi a megoldásunkat, de optimalizálni, leegyszerűsíteni ráérünk
később is.
Ne felejtsünk egy fontos alapszabályt: egy futó programot könnyebb
optimalizálni,
mint egy optimálist futtathatóvá tenni. És ha elég általános
megoldást találunk, azt.
később máshol is változtatás nélkül alkalmazhatjuk.
!
Tároljuk tehát az adatokat dinamikus
tömbökben. Ezért szükségünk lesz
lékos adatra is, ahová egy járu-
a vektor dimenzióját mentjük. Az osztály függvénvei
adiák
magukat: kellenek alapvető beállító-lekérdező
tunkciók (2. 1.1 b a kösszeukeodöl
destruktor (2.1.2.), matematikai műveleteket megvalósító
függvények (2.1.3.) NÉ
közül kiemelendő a skaláris (2.1.4.), a vektoriális szorzás
(2.1.5.) és kénhás !légy 7
képzépgp
s, normalizálás (2.1.6.). Osztályunk deklarációja
Ja ezeket
ezeket a : c kédít ésesi
(5. táblázat.) (16) (33) [44) (59] [717 az eleme ket tarta lmaz:
Ksászá

2.1.1. Beállító-lekérdező műveletek


Az alapvető beállító-lekérdező műveletek fela h
data az ogy az oszt
hozzátérjünk. Ezt az objektumorientáltság adatelrejtés pe á l y ad atmezőihez
elv€ 1I0 n
közvetlen memória-hozzáféréssel, mivel így a felhasz v e m tehetjük
aÓ ra bVíAzz meg
lenőrzéseket, ésaz esetleges továbbfejleszthetőséget is ny u k a
szükséges
olulttá te el
len előnye a sebesség lenne, hiszen nem kellene fiSgv s szük, A.
ényhívások
futást." k a i lásP
sítae
nunk a

" Eszemegoldás a Ctvid függvénye, nencisekfocmálisaa,figgyá,


beszúrt programrész. (9] y, Valójában a páli
; B
4
p"., aa"

adat: v a l ó s s z á m d i n a m i k u s t ö m b —
dimenzió: e g é s z s z á m — 4
dimenzióbeállítás (új. di m e n z i ó : e g é s z s z á m ) : ! . JéSZ SZÉ (aa

dimenziólekérde z é s ( ) : e g é s z s z á m
ko o r d i n á t a b e á l l í t á s ( d i m e n z i ó : e g é s z s z á m , k o o r d i n á t a é r t é k :
valós szám): egész szám
koordinátalekérdezés (dimenzió: eg és z sz ám ): va ló s s z á m
értékadás (f or rá s: ve kt or ) LA
:
RLE 1 E EE E EN E ET EE ETT VT ATON
OVEKTÉTEZEÜREKEDB ÉG 4 S-ÜI0 A al A S -TE TOT
ee. VLÖVET VGA

k o n s t r u k t o r ( )
konstruktor máso l ó ( f o r r á s : v e k t o r )
destruktor()
páálNzÉNÉS 17All 7: SRENÉÁTÁN ÉS
RÁ ?été TZÜNKÁS
"77 1 ee gepen TÖK TT vk egyes E zággT

kivonás (ki v o n a n d ó : v e k t o r ) : v e k t o r
skalárral szorzás (s zo rz ó: va ló s s z á m ) : v e k t o r
ellent e t t k é p z é s ( ) : v e k t o r
tádéséétítánérÉKÉTÉKÉKÁKÉT 917 ááá att ml ta ze REAR RA Aa a aan
téáttáátátttátódó?

s s z á m
td

skaláris szorzás (szo rz an dó : ve kt or ): va ló


or .
a.

kt
mARa

ve
AEEAEE

or ):
ER

ve kt
a.

:
a

vektoriális
aaa.
sz or zá s (s zo rz an dó
lsezeeséseszezzzztzeéttetesetes—7—éző—
ebe etes e bséttő sége sár eni ó HEZÓLEE S kelhet EE ES YEN META SZAKK
ZE

absz o l ú t é r t é k ( ) : v a l ó s s z a m
normalizáció(): vektor (A e z t b z ó t
g i k a i t e j e nE REA E
RAREBNRNE R
AE AR E mm

k : v e k t o r ) : l o
egye n l ő ( m á s i

d vektor beállító-lekérdező műveletei kö zö tt sz er ep el ni e kel l eg y di me nz ió be ál lí tó -


nak mivel a legrugalmasabb, a te ts ző le ge s ki te rj ed és ű ve kt or mel let t tet tük le a vo k-

sunkat. Ezt konstruktorral ís me go ld ha tn án k, de eg y ált alá nos me tó du ss al me ne t


közben is módosíthat ju k e tu la jd on sá go t. A di me nz ió t beá llí tó mű ve le t let ogl alj a a
zükséges tárhelyet is. (Előtte nem szabad elfelejtenünk, hogy felszabadítsuk.) A
visszatérési értéket ellenőrzésre használhatjuk fel, most egyszerűen a vektor új d1i-
menzióját adjuk vissza — a dimenziólekérdező függvényt használva, mellőzvén a
KA zvetlen adathozzáférést,

u vektorp dimenzióbeállítás (új. dimenzió: egész szám): egész szám


u adat tömb felszabadítás
u dimenzió z újdimenzió
u ha dimenziólekérdezés() : 0, akkor adat - új tömb [dimenziólekérdezés()]:
valós szám, különben adat - 0
u vissza dimenziólekérdezés()
A dimenzióbeállítás párja annak lekérdezése. Ennél mi sem egyszerűbb, a függvény
visszatérési értékeként csupán át kell adni a dimenzió mező aktuális értékét,
ez j ú us a 012 ik 4é sé 417 já pá Fel a 2194 sz

ai fj

ő a

A 14do 6 j 3 d 8 B. . 7; AY ed me nb 14 i NN ÉS. ZAÁBA j ag pá ze a, ns

e használjuk: ez egy, ha sikerült; nulla, ha nem, mert ű Ő 4

visszatérési értéket ellenőrzésre SRE ík e

például dimenziót akartak beállítani. ; :


k o o r d i n á t a é r t é k :
u vektorp- koordinátabeállítás (dimenzio: egész szam, A
valós szám): egész szám 3 jyesedtét Á br
w ha dimenzió 2 dimenziólekérdezés(), ille tve dim enz ió c 0 " , akk or viss za 0.
u egyébként adat [dim enzi ó]:- koo rdi nát aér ték
W vissza
A koordinátalekérdezésnél sem mel lőz end ő az érté khat ár-e llen őtrz és, így egy kü-
lönleges (pél dául maxi máli s, mini máli s vagy zéru s) érté k viss zaju ttat ásáv al a felh asz-
náló sejtheti, hogy ross z para méte rt adot t meg.
N vektorp- koordinátalekérdezés (dim enzi ó: egés z szám ): való s szá m
w ha dimenzió 2 dimenziólekérdezés(), ille tve dim enz ió c 0, akko r
N vissza egy különleges érték, pl. 0
W egyébként vissza adat [dimenzió] szi
Mindkét függvényben a dizenziólekérdezés helyett írhattuk volna az egyszerűbb
gyorsabb dizrenzió kifejezést, de akkor közvetlenül érünk el egy olyan adatot, amihez
már létrehoztunk lekérdező metódust. Érdemes ezért ez utóbbit használni, így egy
esetleges későbbi adathozzáférés-módosítást elegendő egy helyen végrehajtani. Ez a
megoldás ugyan lassabb, ugyanakkot tugalmasabb, és később bármikor sebességre
optimalizálható. (Úgy, hogy átírjuk a lekérdező függvény nevét az adattag nevére.)
Végül az értékadás műveletet kell megvalósítanunk, hogy egy vektor objektumot
mint értéket egy másikba átmásolhassunk. Ezt koordíinátánként külön hajtjuk végre,
egy ciklusban.
M vektorb értékadás (forrás: vektor)
u dimenzióbeállítás (forrásb- dimenziólekérdezés())
u ciklus index:- összes dimenzió:
u koordinátabeállítás (index, forrásp koordinátalekérdezés (index))

2.1.2. Konstruktorok, destruktor


A 7 sál metódusai között megtalálhatók a konstruktorok, a destruktor és ő
ció. Ez különösen a dinamikus adatszetkezetet tartalmazó objektum
; "Ti A
58 Ét pe VA , A
maso o .

ENG S álá c t u m
E S,ie felefJstukeüle elél, heévhogy aa szászá mítástechnikáb fá YA ig"
nullával kezdjük. ani a Ssorszámoz
(ic Tr a Pp ú tt í fi

hill baldahdseydytree bár

vb ris incsen Oz
ét kabe ua
pusokr é r v é n y e s , Í g y a e t i e
( e zu g y a n i s a l e l k e ) , p e l s á g é a e y e s vét misén nal
tők: egy egyszerű, egyérteleiű, esetenkédt költség fszásátnó sérve
élvtéhaélv
elre jt et t a d a t o k k ö z ö t t . A m e n n y i b e n a z a d a t e l i m
lekérdező met ó d u s o k a t n é l k ü l ö z h e t j ü k , á me z z e l f e l a d j u k
a za
tóságát.
A konstr u k t o r o k m e g v a l ó s í t á s a n e m l n l t é s z t e t á n e t á n t e tnl
rezh e t j ü k ő k e t d i m e n z i ó v a l é s k o o r d i n á t a é r t é k k e l , é s e p
foglalunk tárhelyet a tö m b n e k , il le tv e ál lí tj uk b e a z e l e m e i t . e e n é n á m e n a z h e e
m é g i s , h a
konstruktorunk létrehoz e g y h á r o m d i m e n z i ó s t é r v e k t o r t — ú g y i s e z t h a s z n á l j u k a
leggyak r a b b a n . E z t k ö z v e t v e t e s s z ü k m e g , a d i m e n z i ó b e á l l í t ó f ü g g v é n n y e l . ( E z a z
adat mezőt is inic ia li zá lj a — 2. 1. 1. ) A b i z t o n s á g k e d v é é r t e l ő s z ö r n u l l á z z u k a z a d a t m e -
zőket.
u v e k t o r p k o n s t r u k t o r ( )
um dimenzió:- 0
u adat:z üres
um dimenzióbeállitás (3)
Mivel os zt ál yu nk di na mi ku s ad at ok at is ta rt al ma z, a má so ló ko ns tu kt or t ne m sz a-
bad kihagynunk. Az automatikus másoló ko ns tr uk to r ug ya ni s ál ta lá ba n cs ak át má so l-
Ja az adatmezők értékeit, ami dinamikus vált oz ók ná l eg y kö zv et et t ér té k. Me rt ítt
csak egy memóriacímet találunk, mely od a mu ta t, ah ol a va ló di ad at ok va nn ak . És ha
ezt a cí me t, mi nt ad at ot át má so lj uk eg y má si k ob je kt um ba , ak ko r ké t pé ld án y hi va t-
kozik majd ugyanarr a az ad at ha lm az ta , am i ny il vá n ne m jó . (N em tá ro lh at na k má s
adatot.) Ezért ne kü nk kü lö n le ke ll fo gl al nu nk eg y új tá rr és zt , ma jd a fo rr ás ad at ok at
de átm áso lnu nk. A kon str ukt ort mos t is a biz ton ság i nul láz áss al kez djü k.
Nu vektorp másoló konstruktor (forrás: vektor)
u dimenzio:-0
kov iat.z ures
u dimenzióbeállítás (forrásp- dimenziólekérdezés())
út lus index:- összes dimenzió: koordinátabeállítás (index, forrásp
koordinátalekérdezés (index))
it destruktort pedig a dinamikusan lefoglalt memóriaterület felszabadítására hasz-

náljuk. Ez rendkívül fontos, mert ha mi nem tesszük meg, nem teszi meg senki ad-
dig, amíg a program fut. És ez csak eszi és eszi a memóriát, rendkívül kis harapások-
I, így sokáig észrevétlen marad a szivárgás. De egyszer nagy tömegű objektum lét-
rehozása (és ti rlése) esetén szembekerülhetünk a problémával: talán nem ís mi, fej-

esztők, hanem a felhasználók, ami eléggé kellemetlen. Ezért mindenképpen ügyel-


junk oda ilyen apróságokra ís.
u vektorp destruktor()
u adat tömb felszabadítás
4 J § a

em kérsztai bér lle sa!


a gb. lg e EMKE NK2111éz § ,A ag ; —

rni Ú j/ a úr

tsszazzettsti kipi 7 kv
A ré ít g ar 4 A (AGE

A végeredmét számo l j u k k i ( k o o r d i n á t á n k tétrehozi

áj val egyezikmeg.(Ezt az ért é k a d á s o p e r á t o r r a l é r j ü k e l . ) M a j d v é g r e h a j t j u k a m ű s


c i k l u s b a n — , é s a z e r e d m (a
é n z
y t é c é s é r aő t o z é l v i s s z
vzgadó re n d s z e r i n t e g y
adj u k a h í v ó p r o g r a m r é s z n e k . A z m o s t n e m s z á m í t , h o g y e s e t l e g a két ve ktcofd nen
ziója nem egyezik, h i s z e n a k o o r d i n á t a é r t é k - l e k é r d e z ő f u n k c i ó a k b a k e l l ő v é c " I m e
épít e t t ü n k . ( E z p e r s z e n e m z á r j a k i a z e l l e n ő r z é s i s m é t e l t l e h e t ő s é g é t , d e m i m o s t
a :
egyszerű s é g k e d v é é r t e l t e k i n t ü n k t ő l e . ) A m ű v e l e t e k á l t a l á n o s a l a k j a k é t b e m e n e t
vektor (4 és 2) esetén: A

a9b-(a,Ob, a, Ob, --: a, Ob,),


ahol €9 jelképezi az összeadást, kivonást, skaláris szorzást, 77 pedig a vektorok dimen-
ziója. (A matematikai műveletek csak azonos dimenziójú vektorokra értelmezettek.)
Az összeadásnál!ó a ciklusban összeadjuk az összetartozó koordinátapárokat. El-
térő dimenziók esetén a keletkező vektor kiterjedése az összeadandóval egyezik meg.
NH vektorp összeadás (összeadandó: vektor): vektor
u változó ideiglenes: vektor
NM ideiglenesp értékadás (saját) ; owrat!
.. fas
SE
mi ; ( égi d
a
u ciklus index:- összes dimenzió:
K A VT É d
§ " i t ;, ;

u ideiglenesb koordinátabeállítás (index, koordinátalekérdezés


"gp

(inde
összeadandóbk koordinátalekérdezés (index))
H Vissza ideiglenes
Ahol csak lehet, kerüljük a közvetlen adathozzáfétést,
így az alapvető lekérdező-
beállító függvényeket (2.1.1.) később tetszőlegesen
módosíthatjuk. Vagyis hiába tű-
nik egyszerűbbnek, gyorsabbnak, rövidebbnek
az alábbi megoldás, kerülni kell, mert
például kimarad az értékhatár-ellenőrzés. És mi
nek valósítsuk meg most újra, mikor
azt már megt ettük a beállító-lekérdező függvényekben?
(Később, amikor optimali-
zálni szeretnénk a rendszerünket, visszatérhetünk erre a kérdésre. Szerencsére
dosítás lehetősége mindig tennáll.) a mó-
É
" "celglenesb. adat [index] - adat [index] 4 másikb adat (index)

" TA elegtöbábllmaasteémnaétziaksaii smműeet Ctt k ; 3 a d i


örnyezetben Operátor-felüldefiniálással is megoldható.
t c kifejezést írhatjuk. B Ess sa flslládlneságal (b.hozzáadás (c) helyett ott a szemléletesebb a70
az őbi 3 A ! zt azonban nem minden környezet támo tl sé te, d Faltátélt
. az objektumorientáltságnak, gatja, és nem is alapfeltét
-gy kismate m a t i k a
á s m ű v e l e t m e g v a l ó s íste á
m s
l eas z l e h e t e t
A k i v o n
td v V
45" ) v

nazsádútáás jé zs i
[a
da s.

a z ö s s z e a d á s t m á r e l k é s z í t e t t ü k . E g y s z e rrűű e n m
c e g s
n . ( A c i k l u s m a g j á b a n . ) — — s i e a r e m s i t t
lényegi részbe s s z sgjén
pe
( k i v o n a n d ó : v é t l ö l s e
" K E R Ü D E S S Vryyt d ; v g y e
um vektorp- k i v o n á s §
n e s : v e k t o r eret : a i t a s A t t b i
m v á l t o z ó i d e i g l e
m idei g l e n e s p é r t é k a d á s ( s a j á t ) I L aaégiokni
w ciklus ind e x : 5 s ö s s z e s d i m e n z i ó :
u ideiglenesp koordiná t a b e á l l í t á s ( i n d e x , k o o r d i n á t a l e k é r d e z é s ( i n d e x ) -
kivonandóp- koor d i n á t a l e k é r d e z é s ( i n d e x ) )
m v i s s z a i d e i g l e n e s
A skalárral szo r z á s , e l l e n t e t t k é p z é s m á r r u t i n f e l a d a t n a k k e l l m i n ő s ü l j ö n , c s a k a
függvény p a r a m é t e r e v á l t o z i k , i l l e t v e t ű n i k el . ( É s t e r m é s z e t e s e n a m ű v e l e t . )
mu vek t o r p s k a l á r r a l s z o r z á s ( s z o r z ó : v a l ó s s z á m ) : v e k t o r
mu változ ó i d e i g l e n e s : v e k t o r
u id e i g l e n e s p é r t é k a d á s ( S a j á t )
w ciklus i n d e x : 5 ö s s z e s d i m e n z i ó :
u idei g l e n e s k o o r d i n á t a b e á l l í t á s ( i n d e x , k o o r d i n á t a l e k é r d e z é s ( i n d e x )-
SZOrZó) ;
N vissza ideiglenes
vektorp ellen t e t t k é p z é s ( ) : v e k t o r
m változó ideiglenes: vektor
u ideiglenesk- értékadás (sajat)
m ci k l u s i n d e x : 5 ö s s z e s d i m e n z i ó :
u ideigle n e s p k o o r d i n á t a b e á l l í t á s ( i n d e x , — k o o r d i n á t a l e k é r d e z é s
(index))
WHI vissza ideiglenes

2.1.4. Skaláris szorzás


A skaláris sz or zá s es et én a vi ss za té rő ér té k tí pu sa eg y va ló s sz ám (e z a sk al ár is
mennyiség), amely a koordináták páronkén ti sz or za tá na k ös sz eg e. A sk al ár is sz or zá s
matematikai definíciója:

a :b - [ d :J ó ]:c o s ( a b
, )- ab,

ahol a és b a két szorzandó vektor, Ial és 12] a hosszuk (2.1.6.), a; és b; a koordíná-


táik, s pedig a dimenziójuk, cos (a, b) pedig a közbezárt szög koszinusza. (Feltételezr
tük, hogy azonos dimenziójú vektorokról van szó. Vizsgálatot most végzünk,
de term észe tese n a biz ton ság érd eké ben bár mik or kieg észí thet jük pe ts ÁG ásod i
ő

4 A ! . d A

4 4. e. [1 ue [
vá. ;4 He teh FE. ká a

ii j úr s , s gi hi
. Azt d (ZEN

[4
Cas kél a
a dl §. ke fal wt a ín
§] )
8 MT zt4 a pa Sat
.
a? KSS
;
. mm mm A
ev z e p § r sé él all td ig
Laj é
kszzűj Bő A
A r 7 í

Í iltoszózóideigl e n e s : v a l ó s p
. e r z s a k é t t t s
jeiats inde k r s ös s
s z
z e s d i m e n z i ó : .
m ideiglene s : i d e i g l e n e s - k ö ö r d í n d t á j é k é s í e s ő k ( i n d e x ) - s
s z
koor d i n á t a l e k é r d e z é s ( i n d e x ) )
W vis s z a i d e i g l e n e s

2. 1 . 5 . V e k t o r i á l i s s z o r z á s
Ha egy felü le tr e, il le tv e ké t ve kt or ra sz er et né nk me rő le ge s ve kt or t lé tr eh oz ni , a. v e
toriális szotzá st al ka lm az zu k. Íg y bi zt os ít ha tj uk ma jd , ho gy a ka me rá ba n a ü l m d
rékszöget zárjon be a né ze ti ir án ny al , va la mi nt a fé ny vi ss za ve rő dé se kh ez sz ük sé ge s
felületi no rm ál ve kt or ok at !" is ez al ap já n sz ám ít ju k ki . (4 .2 .1 ., 4. 3. 4. )
A vektor iá li s sz or zá s er ed mé ny e sz in té n eg y ve kt or . De fi ní ci ój a té rv ek to ro k es e-
tében:

la xb]— [d ] - [ b ] s i n ( b
a )
, ,
és a képződő aXb vektor irá nya ped ig mer őle ges min d az g, min d a 2 vek tor ra, val a-
mint a, b és axb job bre nds zer t alk ot, vag yis 2X5 -ve l sze mbe néz ve az 4 vek tor t 180 7-
nál kisebb a szögű pozitív (az óramutató járásával ellentétes) irányú forgatással lehet
b-vel egyirányúvá tenni. (4. ábra.) A jobbrendszer elnevezés onnan ered, hogy a jobb
kez ünk els ő hár om ujj át tud juk has onl ó hel yze tbe n tar tan i.

gyik vet normálvektora egyadott árjjáási az ahhoz a ponthoz tartozó érintősíkra 1r


tetszőleges méretű és irányú vektor
.
"2 aa sé Va

laxp) z - a b o t a d
— a b , — a - b , £ a t g t s t n é n t
(axb),
i l l e t v e b ; p e d i g a b e m e n e t i v e k t o r o k k o o r d i n á t á i ,
ahol (2Xb); a z e r e d m é n y v e k t o r , a ;
, 2 , 3 . 4 8 V a g y i s i t t k o o r d i n á t á k k a l f e j e z t ü k k i , a m i t k o r á b byolultan
a n o l y a n b o n
;— 1 t o k k a l
i . E z s z á m u n k t a i d e á l i s , h i s z e n m i i s é p p e n e z e k k e l a z a d a
sikerült el magyarázn
dolgozunk." g
e n k é p p e n é s z r e k e l l v e n n ü n k e g y é r d e k e s m e g s z o r í t á s t . E d d i
Ezen a helyen m i n d
ó l b e s z é l t ü n k , m o s t p e d i g é p p e n h á r o m s z e r e p e l . ( A
(talános di m e n z i ó j ú v e k t o r o k r
a k . ) E z t a k o r l á t o z á s t e l k e l l f o g a d n u n k , m e r t e g y r é s z t
rérvek t o r o k h á r o m d i m e n z i ó s
l l e s z d o l g u n k , m á s r é s z t e g y á l t a l á n o s v e k t o r i -
többnyire h á r o m d i m e n z i ó s v e k t o r o k k a
b e n a f o r m á b a n n e m i s l e n n e l e h e t s é g e s . G o n d o l j u n k
ális szor z á s m e g v a l ó s í t á s a e b
d i m e n z i ó s v e k t o t r a e g y é r t e l m ű e n t a l á l h a t u n k e g y m e r ő l e g e s
csak b e l e : k é t h á r o m
? V é g t e l e n i l y e n v a n , é p p e n ú g y , a h o g y e g y d a r a b v-e k
irá n y t . D e k é t n é g y d i m e n z i ó s r a
b a n á l l í t h a t u n k m e r ő l e g e s t a h á r o m d i m e n z i ó s t é r b e n . N e m
to r r a i s v é g t e l e n i r á n y
y d i m e n z i ó b a n h á r o m d a r a b v e k t o r v e k t o r i á l i s s z o r z a t á t k e l l
neh é z e x t r a p o l á l n i : n é g
e d i g 1 — 7 - r e v a n s z ü k s é g . N e m m e g v a l ó s í t h a t a t l a n , d e v a l a h o -
venni. s d i m e n z i ó b a n p
v á l t o z ó s z á m ú p a r a m é t e r h a l m a z t — p é l d á u l e g y d i n a m i k u s
kezelni ke l l e n e a
tömbben."
m o s t e l t e k i n t ü n k , é s i t t e l ő s z ö r b e f a g y a s z t j u k a r e n d s z e r b e a
általános s á g t ó l
t o v á b b f e j l e s z t é s l e h e t ő s é g é t a z o n b a n n e m z á r h a t j u k k i , é s a m i -
-om dim e n z i ó t . A
ó s g r a f i k á v a l s z e r e t n é n k f o g l a l k o z n i , v i s s z a t é t h e t ü n k a k é r -
négy- vagy ö t d i m e n z i

c i ó m e g v a l ó s í t á s a m á r c s a k e g y s z e r ű u j j g y a k o r -
fenti ö s s z e t ü g g é s a l a p j á n a f u n k

-efüggéseke t m i n d h á r o m k o o r d i n á t á r a m e g k e l l a d n i .

el , h o g y a s z á m í t á s t e c h n i k á b a n m e g s z o k o t t 0 k e z d ő s o r s z á m m i a t t a z 1 , 2 , 3
Ne fele j t s ü k
zámiegvek helvett álta l á b a n a 0 , 7 , 2 - t h a s z n á l j u k .
ko o r d i n á t a - r e n d s z e r b e n az eredeti összef ü g g é s t a l k a l m a z n á n k . Ott már viszont egy
. Poláris
ceyszerű összeadá s 15 t ú l b o n y o l u l t l e n n e .
m o g a t j á k a v á l t o z ó p a r a m é t e r s z á m o t . G o n d o l j u n k p é l d á u l a C t t p r i n t f
. Egyes körn y e z e t e k t á
tüggvényére!
" Előnyös, ha az implement á c i ó n y e l v e k é p e s a p o l i m o r f i z m u s r a , t ö b b a l a k ú s á g r a . A Ct ilyen:
a p a r a m é t e r h a l m a z e g y ü t t e s e n az on os ít ja , í g y a t o v á b b f e j l e s z t é s e g y -
a tüggvényeket a né v és
szerű. Csupán írni kell mé g n é h á n y f ü g g v é n y t , a m i t ö b b v e k t o r t v e s z á t p a r a m é t e r k é n t , il le tv e
legáltalánosabban egy vek t o r o k a t ö s s z e f o g ó o b j e k t u m o t , p é l d á u l e g y m á t r i x o t . (2 .2 .) 6 " záp e t
p - k o o r d i n á t a l e k é r d e z é s ( 3 . ) — k o o r d i n á t a l e k é r d e z é s ( 3 . )
szorzandó
szorz a n d ó p : k o o r d i n á t a l e k é r d e z é s ( 2 . ) ) ad évé
s p k o o r d i n á t a b e á l l í t á s ( 2 . , — k o o r d i n á t a l e k é r d e z é s ( 1s
u id e i g l e n e
szorzandóp k o o r d i n á t a l e k é r d e z é s ( 3 . ) - - k o o r d i n á t a l e k é r d e z é s ( 3 . ) -
szorzandóp koordinátale k é r d e z é s ( 1 . ) )
u ideiglenesp koordinátabeállít á s ( 3 . , k o o r d i n á t a l e k é r d e z é s ( 1 . , ) :
szorzandóp k o o r d i n á t a l e k é r d e z é s ( 2 . ) — k o o r d i n á t a l e k é r d e z é s ( 2 . ) :
szorzandób koordinát a l e k é r d e z é s ( 1 . ) )
u vissza ideiglenes

2.1.6. Abszolút érték, normalizálás


Egy vektor abszolút értéke annak hossza. Ezt a Pitagorass-összeftigsés alapján kaphat-
juk meg, derékszögű Descartés-koordinátarendszer esetén. (Mi éppen ezt használjuk.
Poláris koordináta-rendszer alkalmazásakor ez az adat az egyik koordináta lenne.) Az
összefüggés tehát:

n-I

HE 2 , fsz ME ső. d
vi
ri"
MS

"dé

ahol 1 a y vektor koordinátája, s pedig a dimenziója. Ezt megint csak nem lesz nehéz
kódolni, egy ciklus kell hozzá. De létezik egyszerűbb megoldás is: a hasonlóságot
észrevéve a skaláris szorzást (2.1.4.) használjuk, paraméterként ugyanazt az objektu-
mot megadva. (Minden implementációban van egy hivatkozás22, amin keresztűl
az A
aktuális objektumot elérhetjük. Így egy objektum me gkaphatj saját magá fü
a t ggvény- ká
paraméterként.)
u vektorp abszolút érték(): valós szám
15 vissza négyzetgyök (skaláris szorzás (saját
magával))
A normalizálás, amely egy v vektorral párhuzamos és
azonos irányú e egységvektort
állít elő, szorosan kapcsolódik az abszolút érték
hez. A vektort elosztjuk a hosszával
(megszóroz zuk a hosszának reciprokával) valahogy
így:

e -

ések 8

§ környezetben eza hir,Parcalban pediga self


d e f i n í c i ó t
r p e g y e n l ő o z í s o a s i v e k t o r ) : : u g a t
u vekto
u ciklus i n d e x : s m i n d e n k o o r d i n á t á r a :
u h a k o o r d i n á t a l e k é r d e z é s ( i n d e x ) z m á s i k pk
(index), akkor v i s s z a h a m i s
Wu vissza igaz
Nem m i n d e n i m p l e m e n t á c i ó s k ö r n y e z e t e n g e d i m e g a c i k l u s b ó l v i
e l ő t t . 3 E n n e k g y ó g y í r j a a z i d e i g l e n e s l o g i k a i v á l t o z ó b e v e z e t é s e ,
befejezé s e
r e v á l t , h a a k á r c s a k e g y k o o t d i n á t a p á r n e m e g y e z i k , é s o n n a n t ó l k e
hamis érték
hamis m a r a d . E z t a z é s l o g i k a i m ű v e l e t s e g í t s é g é v e l é r j ü k e l .
u" vek t o r p e g y e n l ő ( m á s i k : v e k t o r ) : l o g i k a i aa (jaz IN LB
u v á l t o z ó i d e i g l e n e s : l o g i k a i z i g a z KT
l u s i n d e x : s m i n d e n k o o r d i n á t á r a : ks ti
m cik
u ideigle n e s : - i d e i g l e n e s é s ( k o o r d i n á t a l e k é r d e z é s ( i n d e x )- m á s i k m
koordi n á t a l e k é r d e z é s ( i n d e x ) ) áá
u vissza ideiglenes
A nem-egyenlő egyszerű negálással érhető el, a relációs és egyéb logikai (és, vagy
kizáró vagy) műveletek nek a vek tor okr a ninc s érte lmük .

2.2. Mátrix ta da
Mátrixokra szü ksé gün k les z a tra nsz for mác iók leí rás áná l (2. 5 9 Aill etv e igv ééé nyl E.
letrendszer megoldásánál (4.2.4., 4.2.5.). Ezért a vektor után ezt az 0 ektur
megvalósítanunk,

ér v s a d á s l s á s E L S
" Például a Pasca/és a forciklus. [53] et erts szád
je a I i I
: fegynjar 4 3
f
É
1 ll) 2. fg !

KET
é


j ;

tétr
j in

J fazon
b sz
f

;
ke

i ,
aj

9 HÜ
§

ÁÉHÉNE fe mszti ém fi száiek ú


e

z hWszz
hj ir
a. i7 ínelptátg4s
Fi
§

G
E

egét
hi

e

!

"8 1 Em "tarat "2 t e. e Éz


A d ó 6 3 ke" f
I
(e
EV tl A
a ". §
"te ú 1

pa v g9/
j
bj
4 0 Sa a! j 8
i j f d

Pa a i

z A K S E B t e t s z ő l e g e s e k l e h e t n e k , a l é n y e g ,
r ó j e l e k k ö z ö t t s z e r e p l ő s z á m o k t e r m é s
A zá bármennyi o s z l o p o t
r á c s o s é s t é g l a l a p a l a k ú l e g y e n . A e z i ő t é b k
hogy elre n d e z ő d é s ü k
z l o p , i l l e t v e s o r a z o n o s s z á m ú E I É K E T k e l l m a g á b a
é s s o r t t a r t a l m a z h a t , d e m i n d e n o s
s s o r o k a t rv e k t o r
egyéo k b
b a
k é n t o s z l o p - é s s o
foglaljon. E z e k e t a z o s z l o p o k a t é
n e m m á s , m i n t v e k t o r o k v e k t o r a ( e m i a t t j e l ö l j ü k d u p l a
tömör í t h e t j ü k , í g y a m á t r i x
ú z á s s a l ) , a v a g y p o n t o s a b b a n s z á m - e s e k 74-ese. Al t a l á n o s a n :
aláh

! ;
o li
15 Száz A names
je 10
tek
KÉZ "2 veg
e

ahol s egy sorvektora , gy eg y os zl op ve kt or a, a; j p e d i g eg y e l e m e a má tr ix na k. C g


L...n, 77 1...) A fenti mátrix alapján például

3
52 és (9; 10 6; I; 0), 034 ae l s d. a s ő

m á t r i x
Mnousntk,, hmiog: yholágyttaukn, 7épeígtysük fel a ajóhá ro mf él ek ép pe n ;
épPppeenn iiss fefelélépípíththetető,ő, éérdemes elgon d o l k o d 1
Játunkat. T ö m b ö k t ö r m n b j e z t v a g y v e k t o r o k v e k t o r a !
Ez u t ó b b i e s e t b
ő. ES t e n oáslzyloonp - b v a g y s o r v e k t o r o k a t a l k a l m a z z u n k ? " M M e g v a l ó s í t h a t j3u k
mind h á r m a e g y o s z t
z e c l ü l , a m i a z o n b a n s ú l y o s r e d u n d a n c i á t ( f ö l ö s l e g e s 1 0 7
áráS
kE t: ETÉ N E
VÁE G E
C3-4-ban tömbök tö E
mbje, Pascalban kétd
imenziós törmnb
sa d

A két eibesévi tg a 4.
év mA

kél

2 Ba zén ar vér j é é k e p e z aA l
adat: vekt o r d i n a m i k u s t ö m t getááj : p e d p e z p á
mag a s s á g : e g é s z s z á m 946 B E T
sz é l e s s é g : e g é s z . s z á m z s zz tÉ J I
g , ú j m
. i gés z s z ágr s é s
mér e t b e á l l í t á s ( ú j . s z é l e s s é
sz é l e s s é g l e k é r d e z é s ( ) : e t é n s e l é s sv é t2
s á g l e k é r d e z é s t ( ) : e g é s z s z á m : s
f

maga s
elem b e á l l í t á s ( s o r , o s z l o p : e g é s z s z á m , 0 6 .A n d: v e l ő á l ó
egész szam :
elemlekérdezés ( s o r , o s z l o p : e g é s z . s z á m ) : v a l ó s s z á m b é s e
v e k t o r b e á l l í t á s ( s o r : e g é s z s z á m , j v e k t o r : v e k t o r ) : e g é s z s
so r
sorvektor l e k é r d e z é s ( s o r : e g é s z s z á m ) : v e k t o r
oszlopve k t o r b e á l l í t a s ( o s z l o p : e g é s z s z á m , ú v
j e k t o r : v e k t o r ) :
egész szam
oszlopvekto r l e k é r d e z é s ( o s z l o p : e g é s z s z á m ) : v e k t o r
é r t é k a d a s ( f o r r á s : m á t r i x ) — üstöt sets ltal évest d

konstruktor()
o r m á s o l ó ( f o r r á s : m á t r i x ) j
konstrukt
dd
destruktor()
összeadá s ( ö s s z e a d a n d ó : m á t r i x ) : " m á t r i x .
kivonás (kiív o n a n d ó : m a t r i x ) : m á t r i x
iskalárr a l s z o r z á s ( S Z O r Z Ó : v a l ó s s z á m ) : m á t r i x
tellen t e t t k é p z é s ( ) : m a t r i x E:
ISZOFZAS (SZOrZó: mátrix): mátrix.
eezeiő szorzás (szorzó: vektor): vektor
minor (eltávolítandó. .SO T ,el tá vo lí ta nd ó. .os zl op : eg és z sz ám ): m HA s
(determináns: valós.szám
adjungálás(): mátrix
inverz(): mátrix sn
ös ásasa án társ
nz ..sz
..ss és .
6.0. .. já t, ú l
a é g ieg e I

egyenlő (mási k : m á t r i x ) : l o g i k a i
négyzetes(): logikai
- eFrŰ

Ke KR ő A A 9 1 44
. "a rat éji ő RA , he
ez "A "4 iv [/ vá ns s a. "A el [4
. . e? a § [/ dzs zak Haat e / a.
v s" . he e. hd
aA
99 . ke ú
avoda 07 -zlátó bv P ri 4
a VT -
MaPFé t mg e áb ( b
mm
( ar

m e e n i , h a e l ő rteu d n á n k : a m á t r i x o k s o r a i r a v a g y o s z l o p a lie s
r a
z i n k á b b
ze csak hely
szükség. De - é s i d ő t a k a r i o s8 s z e m p o n t j á b ó l f o n t o s , e z é
á l a s s z a k a s o r v e k t o r e l s á t K é s ő b b m i n d e n t o p t i t a z z á h a t a s i ó
koss z ő t é s s z e t ű e n v r t e l e m s z e r ű e n
z ő k k ö z ö t t t e h á t s z e r e p e l e z a d i n a m i k u s v e k t o r t ö m b , é
. Az a d a t m e
e m h a g y h a t ó k i a n n a k s z é l e s s é g e v a z O g y9 9 1 m o n d h a t n á n k ,
a má t r i x m a g a s s á g a , é s n
S O £ V e k t o r o Sppen e
k e g e rz te a
t z
o é
j r
a t é .
hogy f ö l ö s l e g e s , s ő t r e d u n d á n s , h i s z e n a
a s z é l e s s é g k i f e j e z é s é r e f e l h a s z n á l n i , s
j a , d e h a e z t a z i n f o r m á c i ó t s z e r e t n é n k
ket a d
H i s z e n a h á n y v e k t o r , a n n y i t C Í t H E G z l Ó . V a s f e g y e .
ere d m é n y e z n e i g a z i r e d u n d a n c i á t .
d o t t t é r b e k é n y s z e r í t eni. ( M á t r i x u n k s z é .
lemre le n n e s z ü k s é g m i n d e g y i k e t e g y m e g a
g y a k o r l a t i o k o k b ó l e n g e d h e t ü n k m e g e g y k i s
lessé g e e l m é l e t i l e g í g y i s É r , c s u p á n
k ö z t . A k ü l v i l á g a z o n b a n e b b ő l m i t szre.)
s e m v e s z é
rende t l e n s é g e t a s o r o k
k i n t j ü k á t a m á t r i x t u l a j d o n s á g a i t , a r a j t a v é g e z h e t ő m ű -
Az osz t á l y d i a g r a m b a n t e
á b l á z a t . ) E z a z o s z t á l y f e j l é c e . A m á t r i x o k o n v é g e z h e t ő m ű v e l e t e k k ö -
velet e k e t . ( 6 . t
s z á m u n k r a s z ü k s é g e s e k e t v e s s z ü k s o r t a . ( 0 . . . 2 . 2 . 8 . ) ( 5 8 ]
zül csak a

2.2.1. Beállító-leké r d e z ő m ű v e l e t e k
Ugyanúgy, m i n t b á r m e l y m á s o s z t á l y n á l , m o s t s e m f é t h e t ü n k h o z z á k ö z v e t l e n ü l az
adatmezőkhöz. A mátrixoknál ez különö s e n é r v é n y e s , h i s z e n k o r á b b a n he zi tá lt un k,
mily e n s z e r k e z e t b e n a l a k í t s u k k i a t a g v á l t o z ó k a t . A b b a n m a r a d t u n k , h o g y k é s ő b b
vált o z t a t u n k , h a ke ll , a m i i g e n n e h é z , h a a k ü l v i l á g s z á m á r a n y í l t t á t e s s z ü k a st ru kt ú-
rát. Maradj o n ez a m i t i t k u n k , é s c s a k a b e á l l í t ó - l e k é r d e z ő f ü g g v é n y e k s e g í t s é g é v e l
engedélyezzük a hozzáférést.
Ezek között a funkciók (me tód uso k) köz ött sze rep eln iük kel l teh át a mér et- , Va
lamint az elem-, a sor- és oszlopvektor-beállító és -visszaadó függvényeknek, illetve
az értékadás műveletnek.
A mér e t e t m e g a d ó f ü g g v é n y b e n it t d i n a m i k u s t á r k e z e l é s t k e l l m e g v a l ó s í t a n i . E l ő -
a d í t j u k az e s e t l e g e s e n f o g l a l t a d a t m e z ő t , m a j d l é t r e h o z z u k az ú j a t a m á r
SZÖr felszab
gasság szerint. Ezek u t á n b e á l l í t j u k a s o r v e k t o r o k d i m e n z i ó j á t , m e l y a s z é l e s s é
egyenlő. A visszatérési érték megadja a beállított elemszámot.
mu mátrixp méretbeállítá s (ú j sz él es sé g, új : ; 8 sz szám
vé , újm a g a s s á g : eg és z szám): egesz.
u adat t
2
ö m b fe ls za ba dí tá s SA 55 A8 ; EZÉ S SZAM ES
NM magasság:- újmagasság

sál
ős . úr
sa

a? MÁ á z N N E N EM E T a g
trust GÉ E Plygzz ag I
aan RÉ Tan E E e a e Ü d e Éz d

e szadátsünb k ő l " s e s at ad Ké Éz
ÉNŐ NOTA SÉT RT
a l s o c á s e s ű l ü b s isjáttsáátttők a V ö l s z á á l á s
t e i n e k l e k é r d e z é s e m á r j ó v E T Ő T aaz
A m á t r i x m é r e
M Á N s lÉ ÁJ E M Á S É T E Vár NAT MÉ fbeiktatác
s vá lt
add
t
ás
h a k öá
zl
vl
ea
t l e n ü l é r n é e l ,e g y k i s f ü g v é n y
na k a za d o t t m e z ő é r t é k é t . M i n
vig dó E z e k e t A k á s
sával. FR e g z á r s z A B A z
um mátrixp s z é l e s s é g l e k é r d e z é s ( ) : e g é s z s z á m á á T v
é v ő s z g l t i z á k á s í
u vissza s z é l e s s é g
) : e g é s z s z á m di gl
u má t r i x p m a g a s s á g l e k é r d e z é s (
( 0" ze
wm vissz a m a g a s s á g
e l j á r á s s a l a m á t r i x e g y t e t s z ő l e g e s s o r á n a k , t e t s z ő l e -
Az e l e m b e á l l í t ó é s - l e k é t d e z ő
n a k e l e m é h e z f é r ü n k h o z z á . A v i s s z a t é r é s i é r t é k e l l e n ő r z é s re h a s z n á l h a t ó .
ges oszlop á a l ó s szám):
e l e m b e á l l í t á s ( s o r , o s z l o p : e g é s z s z á m , új. é r t é k : v
u mát r i x p
egés z s z á m
m a g a s s á g l e k é r d e z é s ( ) , v a g y S o r c 0 , a k k o r v i s s z a 0 ,
mu h a s o r 2
v i s s z a a d a t [ s o r ] p k o o r d i n á t a b e á l l í t á s ( o s z l o p , ú j . é r t é k )
um eg y é b k é n t
e m l e k é r d e z é s ( s o r , o s z l o p : e g é s z s z á m ) : v a l ó s s z á m
u mát r i x p e l
a s s á g l e k é r d e z é s ( ) , v a g y S o r c 0 , a k k o r v i s s z a 0 , a m i h i b á t
u ha sor 2 ma g
jelezhet,
n t v i s s z a a d a t [ s o r ] j p k o o r d i n á t a l e k é r d e z é s ( o s z l o p )
u egyébké
k c i ó v a l a t e l j e s m á t r i x o t e l é r h e t j ü k , t o v á b b i b e á l l í t ó - l e k é r d e z ő
El v i l e g e z z e l a k é t f u n
e l m i s z e m p o n t o k b ó l a z o n b a n n e m á r t , h a a s o r o k a t é s
művelet r e n i n c s s z ü k s é g . K é n y
az o s z l o p o k a t v e k t o r k é n t 1 5 e l t u d j u k é r n i .
i s m é t e g y é r t é k h a t á r - e l l e n ő r z é s s e l k i e g é s z í t e t t k ö z v e -
A s o t r v e k t o r - b e á l l í t ó e l j á r á s
é p p ú g y , m i n t a v e k t o r k o o r d i n á t a b e á l l í t ó f u n k c i ó j a .
te t t a d a t m e z ő - h o z z á f é r é s ,
o s t i s e l l e n ő r z é s r e h a s z n á l h a t ó , p é l d á u l n u l l a , h a s i k e r -
(2.1.1.) A viss z a t é r é s i é r t é k m
telen, egy, ha nem
be ál lí tá sa (s or : eg és z sz ám , újve kt or : ve kt or ):
u mátrixp sorvektor
egész szám
u ha so r 2 ma ga ss ág le ké rd ez és () , av ag y so r c 0, ak ko r vi ss za 0,
u egyébként adát (s or ) - új . ve kt or
u vissza 1
A sorvektor-leké r d e z é s i s h a s o n l í t a vektor k o o r d i n á t a l e k é r d e z ő t a g f ü g g v é n y é r e
(2.1.1.). Mindezek a h a s o n l ó s á g o k i s t ü k r ö z i k a z t a s z e m l é l e t e t , m i s z e r i n t a m á t r i x
nem más, min t v e k t o r o k v e k t o r a . T e h á t e g y é r t é k h a t á r - e l l e n ő r z é s u t á n i t t 1 5 e g y s z e -
rűen visszaadjuk a m e g f e l e l ő s o r v e k t o t t , i l l e t v e h i b a e s e t é n e g y k ü l ö n l e g e s é r t é k e t ,
p é l d á u l a n u l l v e k t o r t . ( E m i a t t h o z z u k l é t r e a h i b á s i n d e s e l é s v á l t o z ó t , H a a k a r u n k ,
val a m i l y e n k ü l ö n l e g e s é r t é k e t 1 5 a d h a t u n k n e k i , d e e n é l k ü l 1 5 m e g f e l e l . )
zédíl

Á(61816

ka m , nélkül á l
t e h e t a d n i m i n d k é t itánybásad

ATS -
b esek
e s e t é b e n .
e g
Vh
é s z s z á m , ú j v e k t o r : v
.
e k t o r )
n
:
- v e k t o
o
r
s
m
z
é
l
g
o
d
p
á
v
s
e k t o r . b e á l l í t á s a ( o s z l o p :
um á t r i x p 0 ,
egész s z á m l o p viss
c 0 z
, a a k k o r
k é r d e z é s ( ) , a v a g y o s z !
z l o p Z s z e l e s s é g l e 3 i
w m h a o s sS o r r a . :
u s i n d e x : z m i n d e n r d e z é s d e x ) ,
u e g y é b k é n t c i k l
v e k t o r p k o o r d i n á t a l e k é ( i n
( i n d e x , o s z lop, ú j
m u e l e m b e á l l í t á s
u v i s s z a1 e l ü l e g y
l e g e s s é g e p e d i g , h o g y 2 f ü g g v é n y e n b
Az o s z l o p v e k t o r - l e k é r d e z é s k ü l ö n
m a j d e z t a d j u k v i s s z a a h í v ő p r o g r a m -
e i g l e n e s v á l t o z ó b a n t á r o l j u k a z a d a t o k a t , í -
id a v á l t o z ó a f ü g g v é n y b ő l k i l é p v e f e l s z
( P o n t o s a b b a n e n n e k é r t é k é t , h i s z e n
résznek.
vódik.)

e z é s e ( o s z l
p.
o p : e g é s z
p.
s z a m ) : v e k t o r tl ?

W mátrix p o s z l o p v e k t o r l e k é r d
m vál t o z ó i d e i g l e n e s : v e k t o r
é s p i m e n z i ó b e á l l í t á s ( m a g a s s á g l e k é r d e z é s ( ) )
u idei g l e n d
u ciklus inde x : 5 m i n d e n s o r r a :
n e s p o r d i n á t a b e á l l í t á s ( i n d e x , e l e m l e k é r d e z é s ( i n d e x ,
u ideigle ko
oszlop))
H vi s s z a id e i g l e n e s
m e s h á n y s z ó t e j t e n i a r r ó l a z e s e t r ő l , h a r o s s z , p é l d á u l t ú l n a g y o s z l o p s z á m o t
Érde n é
a m é t e t b e n . L á t s z ó l a g u g y a n i s h i á n y z i k a z é r t é k h a t á r - e l l e n ő t z é s ,
képülőt meg a par
t g y a v e k t o r o k n á l e z m e g v a n . Í g y h i b á s p a r a m é t e r e z é s n é l
EGER LYA 6 s z e g e t e l , h o d
eg tvy f ó s á d e t i l
ö ő
n l e g e s s e t
é
a
r t é
a
k
t
b
t
ő
a
l , p é
s
l
á l
d
j
á
a
u l c s u p a n u l l á b ó l á l l ó v e k t o r t ( n u l l v e k t o r t ) k a -
ége fe r i s av e k t o r k o n s t r u k t o r á t ó l f ü g g — 2 . 1 . 2 . ) V a g y i s h a k e r ü l j ü k a k ö z v e t
emn és a d a t h o z z á t é r é s t , é r t é k h a tt áá r r - e l l e n n őőrrzz éé s r e c s ük j k s é g , z v áj n b b a n , h o g y ezt
új é k h a e l l e s i n s z b í a
k i
av la AaERzAN ad TSA a t e l é r ő f u n k c i ó b a n m e e t e t t e . ( P é
d l d
á áu l i s d b sjéá t a
a g g u n k . )
Z g t e t t e . ( P é l m i s a m
Miörnt szblhmáthSjájé- e a t ó , z a m e g o l d á s a s o r v e k t o r - h o z z á f éé
r
r
éé s t e I i z á l v a , é l
ja p á g g ó l e k t o r - h o z z á f v a n o p t i m a l m í g e n n
s z e r ű a a t e l e m - á t a d á s r ó l v a n s z ó , a d d i g a z o s z l o p a l a p ú e l é r é s n é s ó k
egy egy S z i o p a l a p u e l é r é s n é l e g y c i k l u s
t n i , v e k t o r t k e l l f e l é p í t e n i . ( A r r ó l m o s t
kell futta k , h o g y a v e k t o r o k m á s o l á s a
ö r t é n i k , h i s z e n e z b á r m i k o r m á g s z ó l j u n
is c i k l u s b a n t z g a t á s s a l )
árm i k o r mem ó r i a m o gyors í t h a t ó . Es érde-
mes észrevenni, hogy az os zl op ve kt or al ap ú fe lé pí té sn él ; fu nk ci ók at va ló
és os zl op , pú fe lé pí té sn él is ug ya ni ly en
sítanánk me g, cs up án a so r
magasság é ű
gasság és szélesség szavakat cserélnénk fel. é

sál
Hi
.
Té e.

TA R Tt e á t á s E R v a z át
a Éltá ELST
;
A én a ,
? A

8 e szása At "8
i A : 4 adált: 8
reles s e g l e k t CL i kt

n S o r : j
z m i n d e
B a

nm c i k l u s i n d e x :
o r . b e á l l í t á s a ( i n d e x , f o r r á s : s c a kh me

t
4

k
4

e
. ma

r v
/

s o
a a

u
e 4 2 .§ § s
úki 8 9
és rj száll
09

tépvet fú V E a J
.
. 9
rá zó mji hál 9 ]
e ngyyész

k t o r
ége

t r u

s
sr ! . ?

e
n

d
tl

,
ú

. 2 . 2 . K o n s t r u k t o r o k
pe

2
e b
.

od a fiz neee.
B zt a

y ,
s

p ú g
eg

m i k u s a d a t s z e r k e z e t e t h a s z n á l u n k , é p
a l á n o s s á g i g é n y e m i a t t m o s t i s d i n a
Az ált k u s k o n s t r u k t o r o k é s
( 2 . 1 . ) E z é r t n e m e l e g e n d ő a z a u t o m a t i
mint a v e k t o r o k n á l . e z ő v á s z ó k
o s k o d n u n k k e l l a f u t á s i d ő b e n k e l e t k
destruk t o r a l k a l m a z á s a , k ü l ö n g o n d z ü l m o s t i s
t s é g e s k o n s t t u k t o r o k k ö
f e l s z a b a d í t á s á r ó l A l e h e
lefogla l á s á r ó l , i l l e t v e a t é r v e k -
a z t , a m i m i n d e n t n u l l á z , é s a m é r e t e t
csak a l e g e g y s z e r ű b b e t v a l ó s í t j u k m e g ,
l á b a n h a s z n á l a t o s 3X3-asr a á l l í t j u k .
to r o k k ö r é b e n á l t a
u mátri x p k o n s t r u k t o r ( )
um a d a t : - ü r e s
u magas s á g : - 0
u szé l e s s é g : - 0
u m é r e t b e á l l í t á s ( 3 , 3 )
c s a k a z i n d i r e k t ( m u t a t ó v a l m e g c í m -
k o n s t r u k t o r s e m k e r ü l h e t ő e l , u g y a n
A m á s o l ó
z s e m e g e g y e z i kelet tör-
a z é r t é k a d á s m ű v
m i k u s ada t s z e r k e z e t miat t . A t ö r
zett) d i n a
zsév e l . ( 2 . 2 . 1 . )
k o n s t r u k t o r m á s o l ó ( f o r r á s : m á t r i x )
u mátrixp
u adat 0
e á l l í t á s ( f o r r á s p m a g a s s á g l e k é r d e z é s ( ) , f o r r á s p
u" m é r e t b
szélessé g l e k é r d e z é s ( ) )
u cik l u s i n d e x : z m i n d e n S o r :
x , f o r r á s p s o r v e k t o r l e k é r d e z é s e ( i n d e x ) )
u sorve k t o r b e á l l í t á s a ( i n d e
d e l f e l e j t e n ü n k a n n a k l é n y e g i f u n k c i ó j á t a f u t á s
A destrukt o r t b a n m o s t s e m s z a b a
l e t felsz a b a d í t á s á t . Ezzen kívü l m á s t n e m 15 kell teén-
közben lef o g l a l t m e r m ó r i a t e r ü
nünk.
B maá t r i x p d e s t r u k t o r ( )
u adat t ö m b f e l s z a b a d í t á s
d ö n t ö t t ü n k , í g y s o k k a l e g y s z e .
y 2 v e k t o r o s f e l é p í t é s m e l l e t t
g y s i t szerencs e , h o g t t a k § j
n é l e
k g
é y
t b e á g y a z o
a t ö m b ö k t ö m b j é
é g e g y c i k l u s , m í g
rább a r a g g v a l ó s í t á s . E l
k a m e g f e l e l ő m ű v e l e . 7 [
s o r v e k t o r o k o n v é g r e h a j t j u m e l y n e k §
e n e . É s e b bn e a c i k l u s b a n a v á l t ohzaóstz n á l u n k ,
lus kell t i t á r o l á s á h o z j e l k é g i e b e
c s a k — !
r é s z e r e d m é n y e k á t m e n e
á s m o s t m á r t é n y l e g
tet. A ö s s z e a d á s É S k i v o n
d á s s a l á l l í t j u k b e . A z
mé r e t e i t é r t é k a ő
k é t s z ó b a n t é r e l .
ebb e n a
ó : m á t r i x ) : m a t n x
ö s s z e a d á s ( ö s s z e a d a n d
u má t r i x p
o z ó i d e i g l e n e s : m á t r i x
w v á l t
e n e s é r t é k a d á s ( s a j á t )
u i d e i g l
i k l u s i n d e x : 5 ö s s z e s S O T .
u c
e x , s o r v e k t o r . l e k é r d e z é s e
s o r v e k t o r . b e á l l í t á s a ( i n d
u i d e i g l e n e s p é s e ( in d e x ) ) "
ö s s z e a d a n d ó p s o r v e k t o r . l e k é r d e z
(in d e x ) p - ö s s z e a d á s (
u v i s s z a i d e i g l e n e s
k i v o n á s ( k i v o n a n d ó : m á t r i x ) : m á t r i x
u má t r i x p
mu változó i d e i g l e n e s : m á t r i x
u ideigl e n e s p é r t é k a d á s ( s a j á t )
u c i k l u s i n d e x : 5 ö s s z e s S O T :
n e s k s ö r v e k t o r b e á l l í t á s ( i n d e x , s o r v e k t o r . l e k é r d e z é s e
u i d e i g l e
b - k i v o n á s ( k í v o n a n d ó p s o r v e k t o r l e k é r d e z é s e ( i n d e x ) ) )
(index)
u vis s z a i d e i g l e n e s
r r a l v a l ó s z o r z á s é s a z e l l e n t e t t k é p z é s i s h a s o n l ó s t r u k t ú r á n a l a p u l , m i n t a z
A skalá
előző két művel e t , a z ö s s z e a d á s , i l l e t v e a k i v o n á s . C s u p á n a b e l s ő c i k l u s b a n m u t a t :
kozik némi eltérés. (Meg a param é t e r b e n , v e
illet anna hiá k n y á b a n . )
u mátrixp skalárral szorzás (szorzó: valós szám): mé jin
u vál t o z ó i d e i g l e n e s : m á t r i x 3 tápsész
u id e i g l e n e s z értékadás (saját)
u c i k l u s i n d e x : 5 ö s s z e s s o r :
u i d e i g l e n e s p s o r v e k t o k i r é s z ( i : f
; r b e á l l í t á s l e k é r d e z é s e
z o r z á s d e s s a s o r v e k t o r
. ( n d e x ) b s k a l á r r a l s ) )
mM v i s s z a i d e i g l e n e s
HM mátrixp ellentett képzés(): má
trix
5 Operátorátdefiniuáallúással pedig pé spzé i
sző sgzÓ például id ; u 0
dex). Itt a
ez z t s s ö — S a j á t [ i n d e x ] - ö s s z e a d a n d ó -
eastátájb z á r ó j e l , a z K E G Ö s É S é a s
jr ás áto r t d e f
oper i n i á l t u k f e l ü l .
(i n d e x ) p - e l l e n t e t t , k é p z é s ( ) )
a g e
éger
sága r é t 9

s a
éa mad
lek jáj e t é s á y e
4 . M á t r i x o k,
s z o ra
z á
2. 2 . u u [d f Ft . 9 a 4 a eg s

a ?
§

o
9 a

n n y i
a

s a n a
LA

o
"zs

t
32-én

o r z á s a e s e t é n a z e l s ő n e k p o n
Két má t r i x s z k
e t s o r á n k e l e t k e z ő mtár i x s o r a i n a 3 fe tá ,

A m ű v e l
EDECEOVEZLK

k .
y2-Zdil.

k n a
A

i
A

a m á s o d
Gazsó a Ah te

n a k s z á m á v a l , o s z l o p a i p e dig a m á s o d i k mátrix oszlopszámát köve


mátrix s o r a i
a s o r o k é s o s z l o p o k s z o r z a t ö s s z e g e :
e l e m e k é r t é k e p e d i g

IcaI In Aaj
T é s e p a " b i ,

a s z o r z ó , C i x a s z o r z a t e g y e l e m e , d i j é s
a s z o r z a t m á t r i x , 4 é s B a s z o r z a n d ó é s
ahol C s z á m a .
4 m á t r i x o s z l o p a i n a k , i l l e t v e B s o r a i n a k
bi k a s z o r z a n d ó k e l e m e i , s p e d i g a z
a k k o r C n a g y s á g a m X p l e s z Z — 1 . . . 7 1 TDN
, E Z
Ha A m é r e t e m X n , B p e d i g 1 2 ,
o k b a n g o n d o l k o d u n k , a s z o r z a t e g y e l e m e a
Ha nem e l e m e k b e n , h a n e m v e k t o r
v e o s z l o p v e k t o r á n a k s k a l á r i s s z o r z a t a . ( 2 . 1 . 4 . )
szorza n d ó k s o t - , i l l e t

;
(ek )S Ü l s o r i 1 D a n :

e g y s z e r ű b b e n n é z k i . A s z o r z a t m á t r i x l é t r e h o z á s a
Ezt a z e l v e t k ö v e t j ü k m i i s , h i s z e n
á n k é t e g y m á s b a á g y a z o t t c i k l u s b a n ( s o r o n k é n t
és mérete i n e k m e g f e l e l ő b e á l l í t á s a u t
és osz l o p o n k é n t ) b e á l l í t j u k a z ö s s z e s e l e m é t .
u mátrix p s z o r z á s ( s z o r z ó : m á t r i x ) : m á t r i x
mu v á l t o z ó i d e i g l e n e s : m á t r i x
é r e t b e á l l í t á s ( m a g a s s á g l e k é r d e z é s ( ) , S Z O r Z Ó P
um idei g l e n e s p m
szél e s s é g l e k é r d e z é s ( ) )
mu ciklus i: s m i n d e n s o r r a :
um c i k l u s k : z m i n d e n o s z l o p r a :
e l e m b e á l l í t á s ( i , k , s o r v e k t o r l e k é r d e z é s e ( i ) p
u ideiglen e s p
z o r z á s ( s z o r z ó o s z l o p v e k t o r . l e k é r d e z é s e ( k ) ) )
skal á r i s s
u v i s s z a i d e i g l e n e s
A mát r i x s z o r z á s n e m k o m m u t a t í v , a z a z n e m f e l c s e r é l h e t ő , v a g y i s á l t a l á b a n 4 " B 7
s z o r z á s ( A ) . H a e l t é r ő m é r e t ű e k , a z e g y i k m ű v e l e t -
B:4 , i l l e t v e A D s z o r z á s ( B ) £ B P
nek ál t a l á b a n n i n c s i s é r t e l m e . E g y é b k é n t m é r e t e l l e n ő r z é s t n e m v é g e z t ü n k , h i s z e n
megvaló s í t a n i . á s s a k ö l t é z .
t svéd
v e k t o r r a — " e
aj m á t r i x á g l e k é r d e z é s ( ) )
s " V E R E T í t á (magas s
m v á l t o z ó i d e i g l e n e
d i m e n z i ó b e á l l í t a s
mu i d e i g l e n e s
s o r v e k t o r . l e k é r d e z é s e
ciklus i n d e x - m i n d e n s o t " á l l í t á s ( i n d e x :
m
k o o r d i n á t a b e
e i g l e n e s m 5 )
mu id ss z o r z á s ( s z o r z ó )
e x ) p s k a l a r i ;
( i n d
m v i s s z a i d e i g l e n e s

. 5 3 M i n o r m á t r i x
22 a z a m á t r i x , a m i a k k o r k e l e t k e z i k ,
z m i n o r m á t r i x a a t r i x
g y e l e m é h e z t a r t o Ó ó
é s o s z l o p o t . Í g y a m
Egy m á t r i x e
e m e t t
$ a
7 r6tka l m a z ó s o r t
v o l í a
tdd
joo
ut"
kt e
a l
z em é
e h
l e z
z e r e d e t i b ő l e l t á a z 4 m á t r i x d i j
ha a e l c s ö k k e n . j e l ö l é s e , pél d á u l
d k é t i r á n y b a n e g g y
mére t e m i n h a
4 . S z e m l é l e t e s e n ,
r t o z ó m i n o r m á t r i x a :
t a
a 4
st k k i z ó é s s t a r k e f
s á 1 A
9 aa6 A
akko r é s éz
106 1 0
A — 9

F L c i . 28 B

c i k l u s s a l v a l ó s í t j u k m e g , O E K A A N
r m á t r i x k é p z é s t k é t e g y m á s b a á g y a z o t t
A mino valam e l y i k t a :
e n o s z l o p o t v é g i g v e s z n e k . F i g y e l j ü k , h o g y
den sott, a z o n b e l ü l m i n d
l e n d ő s o r r a l v a g y o s z l o p p a ! T é k é
z i k - e a p a r a m éerben meg
t a d o t t , k i t ö r
nem e g y e t u x
x v á l t o z ó t m é g a z ú j o n n a n e l ő á l l ó m a á
akko r a m á s o l á s b ó l k i h a g y j u k . K é t i n d e
s á r a a s z n á l u n k . z t a
meinek az o n o s í t á h
a n d óo.r , e l t á v o l í t a n d ó . o s z l o p : e g é s z s z á m ) : m a t a
Wu mátrix k m i n o r ( e l t á v o l í t s
W vá l t o z ó i d e i g l e n e s : m a t r i x
u ideigle n e s p - mére t b e á l l í t á s ( m a g a s s á g l e k é r d e z é s ( ) - 1 ,
szé l e s s é g l e k é r d e z é s ( ) — 1)
B változó m, n: egész szám - 0
u s
u cikl i:s mi n d e n s o r r a : h a í e l t á v o l í t a n d ó
s .
o r , a k k o r
p r a : h a j A e l t á v o l í t a n d ó . o s z l o p , a k k o r
mu ciklus j : - m i n d e n o s z l o
7 ideiglenesz elembeállítás (m, n, elemlekérdezés (i, j))
n:-nr1
k c i ó s m ó d s z e t t e l , r e k ;
n á n s t i n d u
d

m i
:

t
; y . §

e
gy . Mé u 0

A det
71

z z ü i
h

értel m e
,

ts
e

le
ön zh Me

A
a

te ny e
i x o k r a j e l TA K
.

) mátr
dnb jú 9.- a s ás u

s ( n é g y z e t e s
4 v

u
p agyi

k
. u"

i
nin

t
akári pr

a
val

v a d r a er
: si

k
.

k
d a

a
A )

s
w

juk. C
.4

m i n t o s z l o p a . E g y m á t r i x
k n e k u g y a n a n n y i s o r a v a n ,
mely e
g y e l e m ű m á t r i x d e t e r m i n á n s a m aagz eal e m , a t ö b b t é pe
Egy e

[4l -TdDe"ta 4
n d
y e
- A
t u,
s é g e ( m a g a s s á g a ) , a r x a z e l s ő s o r á n a k e g y e l e m e , A r x p e d i ga z
aho l a m á t r i x s z é l e s
r m á t r i x ( 2 . 2 . 5 ) . A d e f i n í c i ó saját ma
u g y a n g á r a h í v a t - 1

ehhe z a z e l e m h e z t a r t o z ó m i n o
s b e n e g g y e l k i s e b b m é r e t ű m á t r i x o t k e l l .
; fa

gozni,
kg eg

ígyelőbb-
kozik, d e m i n d e n l é p é
m i n e k d e t e r m i n á n s á t p e d i g f e n t e b b m e g h a t á r o z t u k .
utóbb elfogy , m a t a d a z 7 X 1 - e s , a
o n l ó a n a f ü g g v é n y ü n k i s ö n m a g á t f o g j a m e g h í v o g a t n i , r e k u r z i -
A d e f i n í c i ó h o z h a s
e t l e n a d a t e l é r é s , e g y e g y s z e r ű e l l e n ő r z é s t é r d e m e s a z e l e j é r e
van . B á r i t t s i n c s k ö z v
n é g y z e t e s m á t r i x o k a t a z o n n a l k i s z ű r j ü k . M i v e l a v é g e r e d -
bes z ú r n u n k , h o g y a n e m
l e l ő , a r é s z ö s s z e g e k e t e g y i d e i g l e n e s v á l t o z ó b a n t á r o l j u k .
m é n y l é p é s e n k é n t á l
mátrixp det e r m i n á n s ( ) : v a l ó s s z á m
u vál t o z ó i d e i g l e n e s : v a l ó s s z á m - 0
g y z e t e s ( ) , a k k o r v i s s z a 0 , a m i e g y f i g y e l e m f e l k e l t ő é r t é k
u ha nem né
k é r d e z é s ( ) - 1 , a k k o r v i s s z a e l e m l e k é r d e z é s ( l e g e l s ő " ,
u h a m a g a s s á g l e
legelső)
a ciklus k: zs m i n d e n so rr a:
m ideiglenes - ideiglen es 1 h a t v á n y o z á s (- t, kr 1) : e l e m l e k é r d e z é s (t , k ) -
minor (1 , k ) p d e t e r m i n á n s ( )
u vissza ideiglenes

2.2.7. Adjungálá s , i n v e r z k é p z é s
Mindkét művelet, az adjung á l á s és az i n v e r z k é p z é s c s a k n é g y z e t e s m á t r i x o k r a ér te l-
mezhető. Egy az y e l e m e k b ő l ál ló 4 m á t r i x a d j u n g á l t j a :

" Ez az érték Cr tömb esetében 0, Pascal környeze tb en pe di g vá la sz th at ó, a tö mb de kl ar ác ió -


ától függ.
k Jgyöke tc ; sé
a eszetgi

á g y a ;
ezt !

J a
na k,

E S
gi 9 ;

azr y o l u á t , P ü j a d ó t K É L - A B T N e r r
j m á t r i x o t .
A

ú
20

a z
b
et !

nk
t a

u
slyej,

n
.

í t a
4

l
30

á l
: a.

b e
FV 4 gy

l l
megüt

k e
I re .
L
z

t
s

n
8
e

é
l

k
j

n
té)
m

eme
d mi
ra . s e
3 1

jéjás glenes
saját ) d e n o s z l o p r a : i d e i
7 z v í z á t ój r m i n e t e r m i n á n s ( ) )
sor r a : " ;
min o r ( i , j ) P d
í : 7 m i n d e n
a s (d a A
wa c i k l u s
h a t v á n y o z
í t á s l( j , i e s e t t l .
e l e m b e á l : ; b e a z e g y s é g m á t r i x f o g a
s m ű v e l e t r e , v e z e s s ü k
v i
i s z a s s z a ii d
d e
e i
i g
g l e n e r e p e l , a t ö b b i
w m n v e r z k é z é s c s u p a 1 s z e
i d l ó j á b a n s m á t
le őtt rát é r n é
ka m e l y n 2
e k f ő á t
o t : e g y n é g y z ete
gz e t e s é ge s t ő
v é t e m á t r i x
E l
f i n i á l h a t j u k a z é g m á t r i x o t k a -
M
z e k a l a p j á n d e s z o r o z v a e g y s
l e m e p e d i g 0 . E e l ö n m a g a t m e g
e t e s m á t r i x , a m e l l y
z 2 n é g y z e p e d i g
in v e r z e a
p l i c i t d e f i n í c i ó
d m é n y ü l . A Z e x
p u n k e r e

i p r o k á n a k a S Z O r Z A
d e t e r m i n á n s a r e c
z a d j u n g á l t j á n a k é s n s a z é r u s t ó l
y m á t r i x i n v e r z e a y e k n e k d e t e r m i n á
vagy i s e g e z i k i n v e r z ü k , m e l
n m á t r i x o k n a k l é t
Ezér t c s a k o l y a ó s í t á s c s a k e g y S O £ -
ze ut
é s á n a m e g v a l
z ő . E n n e k e l l e n ő r
kü l ö n b ö
i x p i n v e r z ( ) : m á t r i x
u m á t r
t o z ó h i b a m á t r i x : m á t r i x
u v á l i b a m á t r i x
( ) - 0 , a k k o r v i s s z a h
u h a d e t e r m i n á n s m i n á n s ( ) )
l á r r a l . s z o r z á s ( 1 / d e t e r l
v i s s z a a d j u n g á l á s ( ) b s k a e g y e n l e t r e n d s z e r k e l
w k r a , a m i k o r l i n e á r i s
g e n f o n t o s l e s z s z á m u n ( 2 . 2 5 ) ,
Az i n v e r z m á t r i x i g l a l t u k a m i n o r m á t r i x
l a j d o n k é p p e n e z é r t t a
n u n k . ( 4 . 2 . 4 . , 4 . 2 . 5 . ) T u r a é p ü l ő
megol d a i n t l á t h a t t u k , e z e k e g y m á s
a d j u n g á l á s f o g a l m át. ( M
deter m i g á g s ( 2 . 2 . 6 . ) é s a z
m i n d e g y i k b e n e l ő k e r ü l a z e l ő z ő . )
témá k —

. 8 . L o g i k a i m ű v e l e t e k .
2. 2
m ztoz és
Az

e t j ü k : a k k o r u g y a at
L T T H A S S É B E i s k i f e j e z h á l n i 2 d ö v ! E g y
h a " t e l t s j á n á á g o n H G Y E N E d e f i n í c i ó t f o g j u k h a s z n
m á t r i x , a d á s e g y e t l ő k . M i e z t a
t 2 1 1 ) e r ő t
hi s z e n a él é z e g y e n l ő s é g m ű v el e t e
p s g r a t ó s í t o t t u n k e g y ? váj
cik l u s b a n e g y m á s ag , é s h a m i s é r t é k k e l k i u g r U
e s z ü n k m i n d e n s o r t
után v

ad
ka

tr ez mag ; y
a ay ae 1
6 t J hd ". . hn j
é ;
4
j s
41 ! ) 44. e Vasa . K po ké
.. e : j A 45
A 28 a-t. K hi y
"al 11 ta
hé b A€, e

kh
,. A a

Ka
a d

SE zat G
: A S C
m.
a E T 45
ad

CV mb
. 6

ea B 28 a óv
"
li
sm "Tea halas Vai taki gi ti pes §
A kh 4 a ! pa ,
a" d me 8 h e
DATa
a og
1116 4 HA ál
R
antÓ
E S
fi

N
"

É
p a

SZE R
id

é.st úr

AY
4 . 98 "ot

n i n d e n s o r r a : t v
l u s i n d e x : 7 l ő (
] s i c i k
ér c e z é s e o r . l e k (in d e x ) p e g y e n
u h a n e m ( s o r v e k t h a
z é s e (index , a k k o r v i s s z a
sorve k t o r . l e k é r d e egtéte
METSA
a z sa
wm v i s s z a i g
v a l k i f e e z h e t ő . M é g e g
a z e g y e n l ő s é g n e g á l t j á
A z e g y e n l ő t l e n s é g e k e l l e n ő r z é
m á t r i xnég y z e t e s s é g é n
d e m e s m e g v a l ó s í t a n i , a
ér b b é t e s z i .
a f o r r á s k ó d o t í s s z e
egysz e r ű , de
x p n é g y z e t e s ( ) : l o g i k a i
u f u n k c i ó m á t r i é g l e k é r d e z é s ( )
ágle k é r d e z é ss( ) - s z é l e s s
u vis s z a m a g a s

Zo3 T r a n s z f o r m á c i ó
l a k í t u n k v a l a m i b e . ( N e m v é l e t l e n a z e l n e v e -
A tr a n s z f o r m á c i ó s o r á n v a l a m i t á t a
e l y n e k s e g í t s é g é v e l a m o b i l t e l e f o m u n k a t f e l t ö l t -
zés.) P é l d á u l a z a t r a n s z f o r m á t o r , a m
, a m e l y a z é r z é keny k é s z ü l é k n e k m á r
h á l ó z a t i f e s z ü l t s é g e t a l a k í t j a á t k i s e b b é
jük, a
I t t i s u g y a n a z a s z ó a l a k f o r d u l e l ő .
megfelelő. a b e n n ü k s z e r e p l ő
g e t f o g u n k t r a n s z f o r m á l n i , h a n e m t e r e k e t é s
Mi n e m f e s z ü l t s é
f o r m á c i ó f o g a l m a e n n é l t á g a b b , m i f o g l a l k o z -
vekto r o k a t . B á r a m a t e m a t i k a i t r a n s z
i t é r á t a l a k í t á s a i v a l . ( V a g y i s a t é r v e k t o r ot ke -
z u n k c s a k a h á r o m d i m e n z i ó s e u k l i d e s z
s z f o r m á c i ó t m o n d u n k , e r t e a m ű v e l e t r e g o n d o l u n k .
rével.) E z e n t ú l h a t r a n
g y a n t ö r t é n i k e z ? N é z z ü n k e g y e g y s z e r ű p é l -
Miért is k e l l a t e r e t á t a l a k í t a n i , é s h o
t é r k é p ü n k , é s s z e r e t n é n k e g y n a g y v i l á g t é r k é p e t
dát. M i n d e n o r s z á g r ó l v a n e g y - e g y
g y ü n k e g y h a t a l m a s k a r t o n t , é s r a g a s s z u k r á a t é r -
készít e n i . E l s ő m e g k ö z e l í t é s b e n v e
o g j u k , h o g y a z e g y i k t ú l k i c s i , a m á s i k t ú l n a g y .
képeket . I g e n á m , d e t a p a s z t a l n i f
e k e t a t é r k é p e k e t k ö z ö s , a k a r t o n h o z i l l ő m é r e t a r á -
Nincs mit te n n i , v a l a h o g y a n e z
e l ő z s e b f é n y m á s o l ó n k a t , v a l a h o g y a n s z á m o l j u k k i a
nyúvá k e l l t e n n i . N o s z a , v e g y ü k
s o l j u n k . A m á s o l a t o k a t t o l o g a s s u k é s f o r g a t g a s s u k
nagy í t á s i - k i c s i n y í t é s i a r á n y t , é s m á
mi n d a d d i g , a m í g m e g n e m k a p j u k f ö l d ü n k t é r k é p é t . ( 5 . á b r a . )
p é l d á b a n ? A z o r s z á g t é r k é p e k k ü l ö n á l l ó d o l g o k v o l -
Mi tört é n t e b b e n a z e g y ü g y ű
s a j á t é s z a k i r á n n y a l , é s t e r m é s z e t e s e n c s a k e g y k i s r é s z t á b -
tak, saját mére t a r á n n y a l ,
l á g b ó l . Á t m é r e t e z t ü k , e l f o r g a t t u k é s e l t o l t u k ő k e t , h o g y b e i l l e s z -
r á z o l t a k a z e g é s z v i
u n k b a . ( E h h e z a t é r k é p e k e n m i n d i g f e l t ü n t e t e t t m é r e t a r á n y ,
kedj e n e k a g l o b á l i s a t l a s z
észak irány és bal f e l s ő s a r o k k ó o r d i n á t a a d a t o k a t h a s z n á l t u k . )
taja r
a
W mhe

é s e l t o l j u —
k í g y
o r g a t j u k
üBÉt t e k i c s i n y í t j ü l k e l f í g y
Mk
b e l e a v i l á g t é r k é pbe
y a r o r s z á g T t j ü k
Szá b k ő s M a g k s z i n t é n l e s z
l ő a l a k z a t o k n a
, a z o t t s z e r e p u n k m o n -
t u á l i s v i l á g u n k a t e n í t é s n é l m e g k e l l t u d n
d f e l é p í t j ü k v i r
z e r ü k : ( 3 . 2 . ) É s a m e g j e l
t e r é t
k
Ami 4o r8mkaojs g r ő i e t é t a tr e n d s
a z a l a k z a t s a j á t sszz
ÁS
TT
ZT
.-

el.e k E h h e z
hel y e z k e d n
z a t o k h o g y a n
az a l a k á t -
ézé t h
t o g y z f ok.
r m á l j u r k o o r d i n á t á i n a k
ó t é r b e r r a n n s m i n t egy v e k t o
a z ő t e m j e l e n t m á s t , á s i k v e k t o r .
r a n s z f o r m á c i ó n pe d i g k i j ö n e g y m
A k o o r d i n á t a - t g y v e k t o r t , a l u l zz á
o a d -
n i b e b e d o b u n k e t r i x s z a l , v a g y h
s á t . E g y g é p ; a r m o r o z z u k e g y m á
ala k í t á a v e k t o r t m e g s z
i á t j á r á s t b i z t o s í t
m ű k ö d i k , h o g y
c s i l l a g k a p u , a m
E z a g é p ú g y
m m á s , m i n t e g y
r h o z : ( V a g y i s n e
k e g y m á s i k v e k t o y
j u k . R é s z e l e s z e g
z ö t t . ) á l l y a l m o d e l l e z z ü
két v i l á g k ö
i ó t 1 5 e g y o s z t p o n t t a r t ó
t , 2 t r a n s z f o r m á c a d j a m e g 2 k ö z é p
Miat m i n d e n v e k t o t . A m á t r i x a
x é s e g y e l t o l á s i j é t , a v e k t o r p e d i g
s z f o r m á c i ó s m á t r i ü x p o n t — m i k é n t
tra n
r i g ó n e m v á l t o z i k , é t
r m á c i ó k — a h o l a z o o r o k n a k a k ü l ö n b s é g
t r a n s z f o á n a k , m i n t h e l y v e k t
, e
e n d s z e r k ö z é p p o n t j o r g a t á s , á t m é r e t e z é s
két k o o r d i n á t a r m á c i ó k l e s z n e k : f
z o k á s o s t r a n s z f o r t i s é s m a g á t
ű v e l e t e k p e d i g a s e l m e t : a m ű v e l e t e k e
A m á g r a f e l h í v n i a f i g y
r d e m e s e g y h a s o n l ó s a z Ö S S Z E S t r a n s z f o r -
t o l á s s t b . I t t é z n e m v é l e t l e n , m e r t
i ó n a k h í v j u k . E , k i f e -
á l y t 1 5 t r a n s z f o r m á c
n d s z e r k ö z ö t t v é g z ü n k
az o s z t
t k é t k o o r d i n á t a - r e
v e l e t s o r o z a t , a m e l y e n s z f o r m á c i ó k a t
m á c i ó , a z a m ű c s u p á n a r é s z t r a
s z f o r m á c i ó v a l . E h h e z e k t o r o k a i
jez h e t ő e g y t r a n z n i , a Z e l t o l á s i v
( 1 ) ö s s z e s z o t o
n ) : a m á t r i x o k a t h a e n i
l n i ( ö s s z e k a p c s o l c s a k a k k o r i g a z ,
k o n k a t e n á . ( M i n d e z p e r s z e
v 8 l e l é s á l j k é l h s . 7 )
n s z f o r m á c i ó k n e m v á l t ó
t s r s m s á ó (
r t ó é s a z e l t o l á s i t r a
téd d u l n a k e l ő , a z o r i g ó t a
9y n e m f o r
g a t j á k e g y m á s t . )

d ő Est L a r a s k
s z e r e a

. 2 s g Ü é nz É n "
E ere d ő s z É 1 T E
vektor i n v e r z£
az o n o s s á g ( ) e a r á n y v á l
át m é r e t e z é s b é t áet v r
t á s ( t e n g e l y :
e gé s z s z á m , S z ö g :
V a
forga
elto l á s ( ú j .p o z í c i ó : v e k t o r )
p c s o l á s ( h o z z á k a p c s o l a n d ó : t
ö s s z e k a

2.3.1 . K o n s t r u k t o r
t a r r a h a s z n á l j u k f e l , h o g y H E L R B a z
A konstru k t o r
l e h e t n e . n e f e l e j t s ü k e l , h o g y m i a
úkus
m n á c i ó k a t l e í r ó m á t r i x m é r e t e i t
közé p p o n t t a r t ó tra n s z f o r r
r a k e l l k é l s e b é tm e g y e r i
n z i ó j á t pedig szi n t é n h á r o r m
meg: a d ó v e k t o r t d i m e
n d u l ó é r t é k é t , a z a z o n o s s á g o t ( 2 3 . 3 ) . á g y
juk a trans z f o r m á c i ó k á l t a l á n o s k i i
e l l k ü l ö n b e á l l í t a n i a . ( Ú g y i s m i n d i g e l f e l e j t e m é . ) —
hasz n á l ó n a k n e m k
a n s z f o r r n á c i ó p k o n s t r u k t o r ( ) j
um tr
p p o n t t a r t ó b m é r e t b e á l l í t á s ( 3 , 3 ) 4
u k ö z é
u közé p p o n t e l t o l ó p d i m e n z i ó b e á l t í t á s ( 3 )
u azonossági)
á l t a l á b a n s z ó b a k e r ü l a d e s t r u k t o r 1 8 .
Ha konstru k t o r r ó l b e s z é l ü n k ,
e n n e m h a s z n á l t u n k k ö z v e t l e n ü l d i n a m i k u s m e
szükségünk, h i s z
által generált automatikus destruktor pedig meghívja a tartalmazottE

destruktorait. (Rz az a u t o m a t i k u s a n ge ne rá lt m á s o l ó k o n s t e j k t o z t ó j ói g á t
transzformációk másolását ser kell külön definiálai)
pi

é s k i m e n e t e í s i l l ;
a m e g a z t K E R T enete
é s z e z v a l ó s í t j
2
o
Az
.
s
3
z
.
t
2
á
.
l
j
y
a
É G T E e
É v e k t o r t : V I G
m ű k ö d é s e p e d i g ?
agá cl e s z , i z A V b e É j .
Vk
1 r i x , b p e d i g a z e l t o l á s i
t r a n s z f o r m á c i ó s m á t
t e t a ró. a h o l A a
4 j e l sál ; S
3 a r e k Ée
saj
ös s z e f ü éss
dó: vekto r ) : v e k t o r
á n a - z a s ő a ee
k í t a n d ó : V e . r e v a g
á á s
vekt o r a m e l y a t é r e l t o
e
l
k
á
t
s
o r á t a l a k i t á s ( á t a l a á t a l a k í t a n d ó ) b ö s s z e a d
n s z f o r m á c i ó p v d v e k t o r r a l s z o r z á s (
v á z á t
z á l
a s vissza középp o n t t a r t ó r
u
n i c s i n y í t é s e a
l ó ) g y t e s t l e k
ö z é p p o n t e l t o m a z n i , h i s z e n e
(k k a t o d a - v i s s z a a l k a l
h o z a m ű v e l e t e k e t
á t a l a k í t á s o n s z f o r m á c i ó
d n u n k k e l l a z . z i n v e r z t r a
Tu a g y í t á s á t j e l e n t i A
e l é v ő v i l á g f e l n
k ö r ü l ö t t
l a l k a l m a z n i :
f o r d í t v a k e l

26 7 2 ) . -1

e n d e z é s é b ő l k a p -
s z f o r m á c i ó á t r
d e s i r á n y ú t r a n
e g y é b k é n t a r e n
ö s s z e f ü g g é s t é l . )
E z t a z
vekt o r h e l y e t c s e r
m e n e t i é s a b e m e n e t i n d ó : v e k t o r ) : v e k t o r
juk. ( A k i á t a l a k í t á s ( á t a l a k í t a
c i ó p v e k t o r i n v e r z . r z a
u t r a n s z f o r m á s ( ) P p v e k t o r r a l . s z o
t a r t ó i n v e r z . k é p z é
u v i s s z a k ö z é p p o n t .
( k ö z é p p o n t . e l t o l ó ) )
(átal a k í t a n d ó k i v o n á s

o s s á g , i d e n t i t á s
2. 3 . 3 . A z o n
b e d o b j u k a
s o n l í t : f e l ü l
d e n t i t á s ) t r a n s z f o r m á c
,
i ó0.
egy üres C S Ő r e h a
A s "
s s á g ( i has z

n o
évig

z az o t
p.

x o
,

á t r i
A

i k v t á s n é l k ü l . E h h e z o l y a n m
; y a n a z ; p o t t y a n k i , v á l t o z t a
v3ektÉ. k.alul ug e d i
3
g n u l l a . ( E z a z e g y
a e g y e s v a n , a t ö b b i Í
ele m e p
un m e l yne
v n e kk a
a
z
z áá
t l ó
é r
jt
á
e b a n c s u p e l s e m m i t
z e n n e m to l u n k
á rix — 6.
séggmmát 6. á áb ra .) Az el to lá si
ÁSI ve kt or nu ll ve kt or , h i s
máci ó n á l n e m
Csu : T
r d i nA
áV
t á.
j ú v e k t o r . E z a m ú g y c s a k a z eltolás tr an sz fo r
; pszéruskoo
műveletnél nem említjük.) I
vekt or, ezé§rt a t bbi
ö b b i mű

Ü
l
KarÜ
ed ÜL
sz
EA
;
6. á b r a . A z A
r m á c i ó m á t r i x a e g y s é g m á t n
8 azon
Osság t r a n s z f o
cióp: A Z O n o s s á g t ) e s z
m i n d e n k ö z é p p o n t t a r t ó S o r r a : §
u s j : - m i n d e n k ö z é p p o n t t a r t ó o s z l o p r a : j
a cikl ó p e l e m b e á l l í t á s ( i , j , 1 9 ,
u h a i j ,a k k o r k ö z é p p o n t t a r t : r i y i
t t a r t ó p e l e b
m e á l l í t á s ( i , j , 0 )
közé p p o n na á r : k c a r c i n ab áll "8
p o n t e l t o l ó koor
m i n d e n k ö z é p
ki c i k l u s k : z

Á t m é r e t e z é s , s k á l á z á s
3 . 4 . n y á t
y t ö b b k o o r d i n á t a t e n g e l y i r á
z é s ( s k á l á z á s ) e s e t é n egy va g
Átmé r e t e n s z f o r m á c i ó m á t r i x a c s
y o m j u k a t e r e t . ( 7 . á b r a . ) A t r a
juk v a g y ö s s z e n t e n g e l y h e z t a rtoz ó ú j r a m é
m é g p e d i g a z a d o t t í si! er /

ta r t a l m a zel e m e k e t , o r d
, m i n t a b e m e n e t i v e k t o r k o
8 . á b r a . ) Í g y n e m t ö r t é n i k m á s
mot. (
z a d o t t i r á n y h o z t a r t o z ó s k a l á r r a l .
megsz o r z ó d n a k a

§A .

6. et gy: b

fd
a

7. áb r a . Á t m é r e t e z é s , s k á l á z á s

S. Aga
0. a ak
0 d a
8. ábra. A z á t m é r e t e z é s m á t r i x a

kife j t e n i a h a t á s á t ,
ae

n
d

A n u átmé?r e t
4 e z ő m ű v
d
e l e t
-m
ü n k e g
9.
y s z e r r e c s a k e g y i r á n y b a " a

hia t e t s z ő l e g e s s k á l á z á s h o z h á r o m s z o r k e l l m e g h í v n i . E z k i c s i t , mint-
a egyb e n , e g y h á r o m p a r a m é t e r e s f ü g g v é n n y e l l e t u d n á n k a z e g é s z e t , v i s z o n t k ö n y -
z t a t j u k a má s a 6 .
l e m e t m e rá l t o
s o r s z á m ú á t l ó e
— gott á s o d i k p e d i g a z P o j
y s o r s z á m a , a m
t e n g e l
3 a r a r n é t é t a
d e i g l e n e s t r a n s z
z f
f o r m á c i ó s
5 a r á n y s z á
, m a. , ) . ) V é é
g g
ü ü
l l a z i
JsAJ za ér
k E
á B
t E T e b z á
u
s
k ,
g
ö
i
s s z e f ű
j á
z
s
z
ő
ü
a
k a k é t t r a n s ,
Kál an ! aa [úd a ő ] á t u ,
n k kÍag y
l k o n k a t e n á l j
az irányb sú a z z a l n e m k e l l
e t e z é s s o r a n n e m m ó d; o s u l , ú

v i a Íe l t o l á s i v e k t o r A Z áee t EmL I é r a 3

kező
í t r i o t m e ;

ormác i ó t . X ,
[ d A
a r a
h
n
d
y :
.
v a l ó
A
s s z á m )
gl a l k o z n i
,
(
e
i r a n y : e g é s z s z á m ,
s e E T á t m é r e t e z é s é n t . I
5) g m e d a r r m a c I i I o z e n é k
i d e i g l e n e s : t r a n s z f o I r a n y ; a r á n y ) j
mu v á l t o z ó l e m b e á l l í t á s. e (
b i r a n y ,
o n t t a r t
K Eó MpE S S e
S E
i d e i g l e n e s p k ö z é p p n t t a r t ó B s z o r z a s
u (id e i g l e n e s p k ö z é p p o
é p p o n t t a r t ó b é r t é k a d á s
u k ö z
( k ö z é p p o n t t a r t ó ) ) r a z a r r a a t e n g e l y r e m e r ő -
k á l á z ó f a k t o r - 1 , a k k o
y i k t e n g e l y h e z t a r t o z ó s tüktő-
Ha a v a l a m e l m e g . ( A z x - y s í k r a t ö r t é n ő
t ü k r ö z é s t v a l ó s í t j u k
r d i n á t a s í k r a t ö r t é n ő
lege s k o o
g y e l s k á l á z n i . )
p é l d á u l a i r á n y b a n k e I I — 7 -
zés h e z

2 . 3 . 5 . F o r g a t á s , r o t á c i ó
l l t u d n i e l f o r g a t n i , m e r t e t r a n s z f o r -
h á r o m k o o r d i n á t a t e n g e l y k ö r ü l k e
A tere t c s a k a p a r a m é t e r -
á s á v a l (kon k a t me
e n ágcfieóljeálvőa l ) ,
má c i ó k e g y m á s u t á n i a l k a l m a z
n ő — t e n g e l y k ö r ü l i f o r g a t á s e l ő á l l í t h a t ó .
l í t á s o k e s e t é n , b á r m e l y — a z o r i g ó n á t m e
beál
f o r g a t á s p a r a m é t e r e t e h á t a n n a k s z ö g e t " ( 0 0 ) é s a t e n g e l y s 0 £ -
(9. ábra. . . 1 1 . á b r a . ) A
szám a v a g y j e l e .

l 0 0

Ó, cos sind
0 - s i n g Cosa
BEL
án A
ábra Az
ú x 3 ké
r g a t á s t r a n s z f o r m á c i ó s m a t r i x 4
9
tengely k ö r ü l i f o

"(A forgatás szzöOge


radi1 ánban értendő
a tesi .§ e
b 8 . est Tr 4-
Ze géz
VT SRA PAZ EN ÉT
c i J s nat a
t r a n s z i o k k t [/
r ü l i fo r g a t á s
x t e n g e l y k ö N a
11. á b r a . A tr
3

á s a u t á n a f ü g g v é n y r ö g t ö n e g y .
a n s z f o r m á c i ó s o b j e k t u m l é t r e h o z
Az i d e i g l e n e s t r y é b e n f u tt o n á b J i
y - p a r a mte
é r f ü x O T é n
tengel
hármas elág a z á s h o z ér, é s a b e m e n e t i
d ó é r t é k e t , m a j d szorzás
j u k a n é g y b e á l l í t a n
It t m e g v á l t o z t a t
k a t e n á c i ó t . é t b r
kon
e g é s z s z á m , S Z Ö g : v a l ó s u s s z á m j v ó e r d e
u transz f o r m á c i ó f o r g a t á s ( t e n g e l y :
( s z o v e g e n e d t r e t l k
mu m v á l t o z ó i d e i g l e n e s : t r a n s z f o r m á c i ó
re na a r á a t a t
um ha te n g e l y - x " , a k k o r
r t ó p e l e m b e á l l í t á s ( y , y , c o s ( s z ö g )
u idei g l e n e s b k ö z é p p o n t t a
a r t ó p e l e m b e á l l í t á s ( y , z , s i n ( s z ö g )
W i d e i g l e n e s p k ö z pontt
é p
e m b e á l l í t á s ( z , y , - s i n ( s z ö g ) 0 6 a k !
u idei g l e n e s p k ö z é p p o n t t a r t ó p e l
é p p o n t t a r t ó b e l e m b e á l l í t á s ( z , z , c o s ( s z ö g ) )
u i d e i g l e n e s p k ö z
W ha tenge l y - y , a k k o r
n t t a r t ó b elemb e á l l í t á s (x, x, co s ( s z ö g ) )
u ide i g l e n e s p - középpo
o n t t a r t ó b elemb e á l l í t á s (z, x, s i n ( s z ö g ) )
W idei g l e n e s p k ö z é p p
- ö z é p p o n t t a r t ó p elemb e á l l í t á s (x, z, - s i n ( s z ö g ) ) 4
u idei g l e n e s p b k
id e i g l e n e s p középpo n t t a r t ó b elemb e á l l í t á s (z, z, c o s ( s z ö g ) )
44
u ha t e n g e l y - z , a k k o r
é p p o n t t a r t ó b e l e m b e á l l í t á s ( x , x , c o s ( s z ö g )
HM i d e i g l e n e s p - k ö z
ö z é p p o n t t a r t ó b e l e m b e á l l í t á s ( x , y , s i n ( s z ö g )
u id e i g l e n e s p k
é p p o n t t a r t ó b e l e m b e á l l í t á s ( y , x , - s i n ( s z ö g )
u i d e i g l e n e s b - k ö z
ö z é p p o n t t a r t ó p e l e m b e á l l í t á s ( y , y , c o s ( s z ö g ) )
u i d e i g l e n e s p - k
u középpo n t t a r t ó k é r t é k a d á s ( i d e i g l e n e s p k ö z é p p o n t t a r t ó b s z o r z á s
(középpo n t t a r t ó ) )

g s z á l l s z S A N
zzz kalzá á

ö l n e k , é r t é k ü k a p r o g i
2
z b e t ű k s z á m o k a t j e l
) é s
tirsn;x,yezetben például x—-0,y7-1,27 2.
O
a m o z t a t á s t 3 vi
ú p b i e ; ató. ) E z t
d) az. g y t j
HROZBTE A m ű v e l e t s o r á n C s e ő s z tV e s í t j u k , e z é r t
18 r o l t e l t o l á s i v e k t o r á h o z h o z z á k e j
rral ír j u k l e . £ i g t á

v e k t o r ) í c i ó ) )
ig :
ó p - ö s s z e a d á s ( ú j .p o z
p p o n t e l t o l
i a j a t . B
ő á ss a( s z é
da r s z á
e j a d á
s z f o romnátceilót o l ó p
;m kt r a nö z é p p

ko n k a t e n á c i ó
z e k a p c s o l á s ;
p . a é ge ö ss j e z h e t ő n őE h h e za m á t r i x o k a t S i
m á c i ó v a l S ikf e z e l t o l á -
ó t e g y r r a n s z f o r a z o r i g ó t a r t ó é s a
t r a n s z f o r m á c i ö s s z e z d n s h a
á r m i .
Két i v e k t o r o k a t p e d i g
k é z e l é g l e s z , d e b
z o r o z n i , a z e l t o l á s
e l ő . ( K e z d e t n e
s z e k e l l s
n n e m f o r d u l n a k n i t u d j a )
f o r m á c i ó k v e g y e s e r m á c i ó k a t 1 5 k e z e l
si t r a n s z e l ő f o r d u l ó t r a n s z f o
á -
o g y a V e g y e s e n
p c s o l t a t e g y l é p é s b e n . R
k o r k i b ő v í t h e t j ü k , h
í t j a a k é t ö s s z e k a
f o r m á c i ó m e g v a l ó s é s é h e z a m ű v e l e t e t
k e l e t k e z ő t r a n s z f o r m a c i o ö s s z e f ű z
A t ő n é l t ö b b t r a n s z
y g y o r s a b b l e s z . K e t á r o l á s á r a e g y i d e i g l e n e s
ad á s u l í g k ö z t e s e r e d m é n y t
á s u t á n a l k a l m a z n i . A
töb b s z ö r k e l l e g y m
t o z ó t h o z u n k l é t r e .
d ó : t r a n s z f o r m a c i o ) :
v á l
l á s ( h o z z á k a p c s o l a n
o r m á c i ó p ö s s z e k a p c s o
u t r a n s z f
tra n s z f o r m á c i ó
e i g l e n e s : t r a n s z f o r m á c i ó
u v á l t o z ó i d o l a n d ó p
t a r t ó p é r t é k a d á s ( ho z z á k a p c s
u id e i g l e n e s p k ö z é p p o n t
r t ó p s z o r z á s ( k ö z é p p o n t t a r t ó ) )
k ö z é p p o n t t a

o l ó b é r t é k a d á s ( h o z z á k a p c s o l a n d ó p
m ideig l e n e s p b k ö z é p p o n t e l t
o n t e l t o l ó p ö s s z e a d á s ( k ö z é p p o n t e l t o l ó ) )
kö z é p p
u viss z a i d e i g l e n e s f o r g a t ó t k a p -
é r e t e z ő t r a n s z f o r m á c i ó h o z e g y
é n a m e g o l d á s s a l p é l d á u l e g y á t m
óts
e n a b b a n "
,

l ő s z ö r á t m é r e t e z i , m,
a j d e
A
l f o r g a t j a
R.
a b e m e n ő v e k t o r t , é p p
r e d ő e
s
v a a e
,
so l
.. eggs B. ..
c 7

; t o r d í t v a h a jítt i j u k v é:g r e , "


s8orren40 en, ahogy megadt u k . V i js z o n t h a a m á t r i x s z o r z á s f
űve l e t e k vé g r e h a j t á s a is fordított lesz.
é p é s e G é ü s t d e t é r f ;é s e
l e z é s e l s ő l
R
l
N
e
K
A mo d
r e p a s S z t a l t , m ii s m e g a l k o t j u kam a g y g a k k i s 7 S 8 S R S B Á L F E E S E N S Z K E n e :
H i k é k" a n y a g i . e
a t s s s k e z á j á a s 1 4j9 a:j
a l ó s V A R R N R B g é t ó s á g o k o l d a l á r ó l köz e l í t s ú i
k a v
bböözziőségek felől, hanem a has o n l
Ért
va l ó s á g o s v i l á g b ó l !
d n i . . csa k ! V a n n a k ber
d e n s é g ü n k ? N e h é z ö s s z e s z e á l t
Miből i s á l l a m i n
ú d o l g o k , g o n d o l a t o k , i
é s c s e p p f o l y ó s h a l m a z á l l a p o t
teste k , l é g n e m ű , s z i l á r d e k t r o " m áTgE S
n e seen es e t s .
e e l e k t r o m á g n e s e s: s u g a r a
a k , k , eell n
j ö V Ő . V a n n a k b e n n l t á g , v a l a h o t
j e l e n é s . E z í g y t ú l s o k é s t ú
á k , h a l a k é s n e u t t í n ó k
zők, va l a m i n t d o b ó k o c k
l m a z t . m t : z s é E S
kellene szűkíten i a h a , h o g y e g y k é p e t , a 1 -
a k : A m i m o d e l l e z é s ü n k c é l j a u g y a n i s
Le g y ü n k g y a k o r l a t i a s
g a — á l l í t s u n k e l ő . V a g y i s a m e g j e l e n í t é s .
t - a m i n e m m á s , m i n t k é p e k s o k a s á
máció a s z e m ü n k b e n .
á t a z a f o n t o s , a m i l á t h a t ó . A z a k é p , a m i
Ebből a s z e m p o n t b ó l t e h
e g y f i l m k o c k á n . E g y i l y e n k é p e l ő á l l í t á s á h o z
retinán kel e t k e z i k , i l l e t v e e g y k a m e r á b a n
g k ö z e l í t é s m á r a d j a a t ö b b i e l e m e t
y s u g a r a k a t k e l l m o d e l l e z n i . E z a m e
pedig a f é n l c c e
i i n d u l n a k , v a l a atok, a
m i f é l e amlea k z
kel l f é n y f o r r á s , a h o n n a n a s u g a r a k k
s z e r k e z e t , a h o l é r z é k e l ő d n e k E
i s s z a v e t ő d n e k , é s e g y b e f o g a d ó
megtör n e k é s v á
k e t t ő u g y a n a z o n a z e l v e n m ű k ö d i k . V
l e h e t s z e m v a g y e g y k a m e r a i s , m i n d "!

utóbbi t nyilvá kön


.

o k b ó l á l l , a m i
.-

k a m e r a e l n e v e z é s t , m e r t a z s z ö g l e t e s é s s í k l a p . K O N

lasszuk a
ny e b b m o d e l l e z n i . ( 1 2 . á b r a . )

alakzat

fényforrás
niektu
/ d é
F. K
és d él 4 "
] MC P R G S N S E g figyCe T r bveg a ő .

/ "e má. 14 - Alt e A
6 g 14 RV, . i
Fe a4n i ú ni kaa ePdA
d
é s z t és 1

(
tet "as 4 9 A eg8 , !§ 91 dá
t.álüiSk
k ő tl "8 a -
7 eg öz
4 0 . l
§ vi k
5!€
/ gs: d ya att ő
á ia avi z 1a
"
mm
zzü.
e
A
Ai la a
j te fa .
.
y!
G
was
a
sz : §8
f g t h he
dd
ú J
ee d. d b az a , V
"e
pe 77
A 44 ké va
e
tt p
A a .éz a. jeg :.- ( záde i end
g 2 Ja : ún
A"
úŰ ő
hi v
a
d () 4
§ k0 4" Ph 4
Cn.
Ce va t a
- d. 8 b f
f
) ig nal diarfké
m ha
ez
1 re,
he
náme ? Ő é
FE]
4 S... hb
h TVöL P. a c s
ÉT a zal é 78 " " tajt ak .
? 9 a
, N7 A 981] ő 16
44
cf
; KS a d - r KC. :
cg vág 44 az
€ői p P a 6mi r4 , /.
z é? AAA s. T A
Ta A1394 ha9 núc al ? vit 1
a
4
7. ve
1 0
ka 9 ds 16 "00 4p. á
d . dő c - 07 . . " W . a 9
K m- úg
fi 4 a k " ka .
j j ki á
É "e 446 v e.á a. A ét dlvasi A j ú . sad
ké í j . € e"
4
4 a viz e d
A.
a
A
új at. Á jak az
he tl
.te)éti A)
€ p j
11 , e L b és mud
va 6 e Ze
úw
: Fe y/ ; .n4eGR 2v a! 1. p 1
-(] gú
a a 4 1 ú md

"3 si
28 ű Td
22zf ce. Í ü A -
et
d
:
v 4 8
4. é

a d
v
z i
"a
a
Pv " 4. .

" 4. P T ,a
A ete
ne . r

v i l á g )
afit

a
4,

b i z t o s í t j a
ka a

t
,

e n : ( E Z " a k a p c s o l a t o
.

jeis, a m i A z EB e t s a l e g y l y e
oszt á l y t ö t t € s s z s j á g é z á g t t t t l o t t a " ba kel l ő k e t f o g l a l n i . M e r t v a l a m i
OSZ n e k k ö z n n e k
világ
I n d u l j u n k k i a v i l á g b ó l ! E
kzt e g y r e n d s z e t t - 4 k a m e r a
n n e v a n n a k . Ú g y a n
l a k z a t o k , h i s z e n b e
. a e -
n ü n k , h o g y e z 1 2 1 k a r m
a nem s z a b a d e l f e l e j t e k a p c s o l :
k tenni, h o z z a k e l l
a t ó - H a a z z á a k a r j u k a -
. .A b r á z o l h g l a t e s t h e z . ) A v i r t u á l i s
t ő ( P é l d á u l e g y t é
zzz e t e n í t h e
i g f i g y e l i a z t . ( 1 5 . á b r a . )
o z , Agi 9 á g ő
i i c s á k m e
ni eg y a l a k z a t h

e !
t i a és
ke t t

s ő m e g k ö z e l í t é s b e n
o s z t á l y d i a g r a m j a e l
á b r a . A v i t t u á l i s v i l á g
13.
t , v i r t u á l i s f é n y k é p e
k á c i ó t , a m e g f i g y e l é s
r t u á l i s v i l á g k ö z t i k o m m u n i ) M o s t
A kame r a é s a v i t á r g y a l j u k . ( 4 . 2 . 1 .
s , m e g j e l e n í t é s s o r á n
k é p a l k o t á s m i k é n t j é t a m ű k ö d é
, e z é r t a z 0 5 4 7
zést, a
f e l é p í t é s t v i z s g á l j u k
n y u g v ó , n e m m ű k ö d é s k ö z b e n i )
csa k a s t a t i k u s ( r á n k e r ü l e l ő .
i s z e n a z m a j d a m ű k ö d é s s o
tály d i a g r a m b ó l k i i s m a r a d t a s u g á r , h z e l í t é s b e t
E b b e n a m e g k ö
k o v á b b i r é s z a l a k z a t o k r a b o n t h a t ó k . ( 3 . 2 . )
A z a l a k z a t o t
ö n b s é g c s a k a n g y
a g y a l a k z a t , a r n i s o k r é s z b ő l á l l . A k ü l
av i l á g s e m m á s , m i n t e g y n i l á g ő s é n e k
l a k z a t o t t e k i n t h e t j ü k a v
é n y f o r r á s o k i s t a r t o z n a k h o z z á . T e h á t a z a t
h o g y f s a z ő s k ö z ö t
d i g a f é n y f o r r á s o k m e g l é t e . ( A z utód é
a h o z z á v e t t ú j t u l a j d o n s á g p e
s á g g a l , v a g y i s m ű v e l e t t e l , a d a t t a g ó
b s é g , h o g y a z u t ó d t ö b b t u l a j d o n
j e l l e g z e t e s k ü l ö n
á b b r a i s a v i l á g o t f i g y e l i , ( 1 4 . á b r a . ) V á l a s s z u k e z t
re n d e l k e z i k . ) A k a m e r a t o v
tést, mert töb t b u l a j d o n s á g á t m o d e l l e z i a m i n d e n s é g n e k . [ 4 ]
3.1. F é n y f o r r á s
A fényfor r á s o k m o d e l l e z é s é n é l i n d u l j u n k k i a v a l ó s á g o s f é n y f o r r á s b ó l . ( M i n d i e
g z a
modellezés első lé p é s e . ) M i a k ö z ö s e g y l á m p á b a n , e g y s z e n t j á n o s b o g á t b a n é s a
Napban? Mindegyi k n e k v a n h e l y z e t e , é s k i b o c s á t a n a k v a l a m i l y e n s z í n ű m g
A kiterjedés tula j d o n s á g t ó l m o s t t e k i n t s ü n k e l . L e g y e n e k t é n y t o r r á s a i n k p
rűek, és mind e n i r á n y b a n s u g á r z ó a k , m i n t a g y e r t y a . ( B á r a z t i g e r i c s a k g e s
sel lehet ponts z e r ű n e k n e v e z n i . ) E z e k a f é n y f o r r á s o k k e z d e t b e n i r s z d k a i v é t alreas z n e k
nekünk, és bár nehé z k e s e n , d e m e g v a l ó s í t h a t ó v e l ü k p é l d á u l e g y a s z t a l i l á m p a i s .
(Ennek van egy irányítottság jellemzője "a OGY alakzatot kell mögé szerkeszteni, ami
a
felfogj a hátraf e l é ó
indul fény n y a l á b o k a t . Ké s ő b b bá r m i k o r t o v á b b f e j l e s z t h e t j ü k az
osztályunkat, ésfelturbózhatjuk ilyen extrákkal is.)
A fényforrásokat dinamikus tömbbe szervezzük, hiszen több ís lehet belőlük.
Tetszőleges be-kikapcsolásuk így a láncolt tömbhöz való hozzáadással-eltávolítással
valósítható meg. (Mindez kívülről történik.) A helyzet egy vektor, a fényforrás, mint
térbeli pont helyvektora. A színt objektumként tároljuk. (4.1.2.)
A tény forrásnak még fontos tulajdonsága a fényerő. Ez azt határozza fvzkne
. ,
a távolság függvényében hogyan változik a megvilágítás erőssége. A való igbar
látszólagos fényerő a távolság négyzetével fordítottan arányos. A gi
nél magasabb, annál jobban kifejti a hatását a távolban. Ü5. ábra.) ad
E r ő s e b b f é n y f o r t á s o k t á v o l a b b j o b b a n v i l á g í t a n a k
15. ábra.

s e n t a r t o z n a k a z ő k e t e l é r ő ( l e k é r d e z ő , b e á l l í t ó ) f u n k .
Az adatt a g o k h o z t e r m é s z e t e
b n y i r e s z i m p l á n k ö z v e t í t e n e k a z a d a t t a g o k é s a k ü l v i l á g
ók. (8. t á b l á z a t . ) E z e k t ö b
kö z ö t t , c s u p á n a z é r t v a n r á j u k s z ü k s é g , m e r t a k ő k e m é n y e l v e z t m e g k í v á n j a . ( A n ő .
gyógyász s e m v i z s g á l h a t g u m i k e s z t y ű n é l k ü l , p e d i g ú g y i s u g y a n a z t t e n n é . ) [ 6 ] [ 4 5 ]

8. tá bl áz at . A fé ny fo rr ás o s z t á l y

helyzet: vektor
szinkép: szin
fényerő: valós szám
helyzet beállítása (új helyzet: vektor)
helyzet lekérdezése(): vektor
színkép. beállítása (új színkép: szín)
szinkép. lekérdezése(): szín
fényerő. beállítása (új fényerő: valós sza
m)
fényerő lekérdezése(): valós szám
konstruktor

fényforrásp helyzet beállítása (új. helyzet: vekt


Or)
u helyzetk értékadás (új helyzet)
fényforrásp helyzet lekérdezése(): vektor
u vissza helyzet
fényforrásp színkép. beállítása (új színkép: szín)
mu színképp értékadás (új színkép)
fényforrásp színkép lekérdezése(): szín
u vissza színkép
A fényerő beállításánál már érdemes korlátozással élni, Az erő
i oO
tünk a végtelenségig, de negatív intenzításnak nem sok érte l m e h e -
lm a Veaené.BeHla] ugykaanrjuk,
e
a elte-

dl
nrtu mm KÉT Errvu s

szételvonjt: De ekkor etsére e eNt dó

e. nyforr"jásp: fé ny er ő. be ál lí tá sa (ú j.fé ny er ő: val ós sz ám ) a

u ha új. fé ny er ő- 0, ak ko r fé ny er Áő:
E 0,
- iz ga t: egyéb ként fén yer i
4 ényforrásp fényer őlekérdezése(): val s

a vénza TÉRJRRŐ s ea g !
ER
A fényfortás eg y eg ys ze rü ad at tá ró ló ob je kt um . El vi le €-ák
(s

funkciókat, mi nt pé ld áu l sz ín ké p me gh at ár oz ás a eg y ad
a

Ke a
; a
h.§ killed
a éle d d élve
d 4 u.
ki 44l 9 ha

po nt bó l me gh at ár oz ni , me rt el őf or du lh at ho gy árnyékban van
k . u.

érdemesebb az adott
A konst r u k t o r s z e r e p e , h o g y a l a p é r t é k e k e t a d j o n m e g , h a a f e l h a s z n á l ó k ö r n y e z .
v a l a m e l y i k é r t é k e t e l f e l e j t e n é i n i c i a l i z á l n i . A z ö s s z e t e v ő k e t a tén ektorc ;
komponensű s z í n e k te re s z e r i n t á l l í t j u k b e . ( 4 . 1 . 2 . ) A z a l a p f é n y f e h é r
u fényforrásp k o n s t r u k t o r
u helyzete dime n z i ó b e á l l í t á s ( 3 )
u fé n y e r ő b e á l l í t á s a ( 1 )
u színképp dimenzióbeállítás (3)
u ciklus index: minden szinösszetevőre:
u szinképk koordinátabeállítás (index, 1)

3.2. Alakzat
Az alakzat a világban található dolgok — például testek, síkidomok — g
yűjtőneve, így
önmagában megfoghatatlan és megjeleníthetetlen.
Vagyis egy virtuális objektum,
melyből a valódi objektumokat származtatjuk. Azért van rá szükség, mert kiválóan
összefoglalja az egyes dolgok, valódi alakzatok tulajdonságatt.
Egy alakzat részei további alakzatok lehetnek, éppen úgy, mint például egy háznak
" tető, az ablakok, a falak. [gy egy hierarchikus struktúra építhető fel, ami igen hasz-
ósdi ha a tárgyainkat rendszerezni akarjuk. (16. ábra.) Az alakzatnak tehát biztosan
Tartja további alakzatok. Ezek aztán a legvégén megjeleníthető dolgokká
a gy vágazonban mát új objektumok, az alakzat utódjai. éke
Így veka éj megjeleníthetetlen, őse a megjeleníthető objektumoknak ( hez EYYTESK
e ág mamilyog helyzete, pozíciója. Helyesebben fogalmazva sajá 3
amelyhez é zA l s z el té r a fe le tt e le vő al ak za t v a g y vi lá g k o o r d i n á t a - r e n d s z epe
r ré
é ttő
ő l,,
da géz megadjuk az alátartozó részalakzatok Vt MRA keversz ő
Ha el KGEGEBT a g ; k ö n n y en be lá th at ju k. L e g y e n az j o g a r f p s ; de ja , A T
ért; s ké ús ösi a Nincsen 932 oázishoz, azt mondjuk ts feje; "úh : Fa

tötzge és , és jen a Nincsen z oá zi sh oz. N e m pe di g az t, h o g y k a v e t ZEN
"Tka menjen a célállomásra. Mert egyrészt ekkor otmi 49 t
hóember nyomtató

16. ábra. Az alakza t os zt ál y fe lh as zn ál ás áv al ké sz ül t ob je kt um di ag ra m

Tehát egy alakzat helyzetét összefoglalóan határozzuk meg, és ehhez viszonyítjuk


annak részeit. Ez a valóság ésszerű modellezése. A viszonyítás kezelésére pedig a
transzformációs osztályt használjuk. (2.3.) Minden alakzathoz tartozik egy transz-
formáció, amely megadja a koordináta-rendszerének az őséhez viszonyított helyzetét.
Ez tehát az alakzat következő adattagja.
A részalakzatok kezelésére egy dinamikus tömböt alkalmazunk. Itt ugyan igen kö-
rülményes a sorrenden módosítani, új elemet beszúrni, létezőt törölni, viszont az
elérése (az olvasása, az elemek lekérdezése) egyszerű. A tömbhöz tartozik egy di-
menzió érték is. A tömbkezelő funkciók közül a hozzáadást és az elvételt minden:
képp meg kell valósítanunk, és persze a keresést.
Az alakzatspecifikus funkciók elég szűk körűek: transzformáció-elérés, részalak-
zat-lekérdezés és valamilyen képalkotás. Ez utóbbi elkerülhetetlen, hiszen az alakzat
szerves része a megjelenítési műveletnek, őket tesszük ugyanis láthatóvá. Ezétt
semmiképpen sem maradhatnak ki az eljárásból. A részalakzat tömböt csak lekér-
dezni ke ll (a ut om at ik us an ré sz e az os zt ál yn ak ), e z é r t h i á n y zik az ezt beállító függ-
vény. (9. táblázat.)
Minden alakzatnak vannak a képalkotásra jellemző tulajdonságai, például színe
mintázata. Ez a megjelenítéshez kapcsolódik, hiszen nagyban függ annak módjától.
(4.2.3.)
r a n s z f o r m á c i ó . KGEE K Z B
izet: t vi fi2
a l a k z a t c í m d i n a m i k u s t ö m b
ászat a l t á s t b t
s z á m l k e é g e á i
részek s z á m : egész
a
képal k o t á s i t u l a j d o n s á g o k ( 4 . 2 . 2 . , 4 . 2 . 3 . , 4 . 3 . )
z e t . b e á l l í t á s a ( ú j . helyzet : t r a n s z f o r m á c i ó ) —
hely rez
helyze t l e k é r d e z é s e ( ) : transz f o r m á c i ó
ré s z a l a k z a t o k s z á m a ( ) : e g é s z s z á m
rés z a l a k z a t h o z z á a d á s ( ú j a l a k z a t : a l a k z a t c í m e ) : e g é s z s z á m
ré s z a l a k z a t . e l t á v o l í t á s ( k i d o b a n d ó : a l a k z a t c í m e ) : e g é s z s z á m
résza l a k z a t lek é r d e z é s ( s o r s z á m : e g é s z s z á m ) : a l a k z a t h i v a t k o z á s
konst r u k t o r ( )
des t r u k t o r ( )
ké p a l k o t á s ( 4 . 2 . 2 . , 4 . 2 . 3 . , 4 . 3 . )

A helyzetet beállí tó és le ké rd ez ő mű ve le te k me gv al ós ít ás a ig en eg ys ze rű . Rá ju k tu -
la jd on ké pp en cs ak az ér t va n sz ük sé g, me rt az ad at ta gh oz ti lo s kö zv et le nü l ho zz á-
nyúlni. (Olyan ez, mint a gumi óvszer használata. A lényeg ugyanaz, csak a megvaló-
sítás sokkal biztonságosabb.) A tészalakzatok számának lekérdezése sem túl bonyo-
lult. (Ennyi összetevőből áll az alakzat.)
u alakzatb helyzet beállítása (új helyzet: transzformáció)
u helyzet:- újhelyzet
u alakzatb helyzet lekérdezése(): transzformáció
u vissza helyzet
u alakzatk részalakzatok száma(): egész szám
H vissza részek száma
A részalakzatot hozzáadó és eltávolító funkciókat kicsit nehezebb megvalósítani.
Hozzáadásnál mindig a lista végére, vagyis a tömb utolsó eleme után írunk. Ehhez
k
égy Ideiglenes tömböt hozun lé tr e, am el yb e át má so lj uk a ré gi ad at ok at . Fe ls za ba dí t-
juk a régi tömb által lefoglalt memóriát, majd új tárfoglalás után visszamásoljuk a
istát, Az új tömb mérete eggyel megnőtt, ide berakjuk az új tagot. Amennyiben az
érelemről van szó, csak a második részt hajtjuk végre, hiszen még nincs mit má-
SOIN1.

§ alakzatb részalakzat hozzáadás (új alakzat: alakzat címe): egész szám


u ha részalakzatok száma() : 0, akkor
a változó ideiglenes: alakzat cím dinamikus tömb
u ideiglenes:- új tömb (részalakzatok száma()]
nm nyet index: minden részalakzatra: ideiglenes [index]:- rész
index]
e l s z a b a d í t á s a 5: á
: t l
rész a l a k z a t o k t ö m b f
]
A

ú j t ö m b ( r é s z a l a k z a t o k s z á m a ( ) r t
m r
ai
é s z a l a k z a t o k : - - i d e i .
n r é s z a l a k z a t r a : r é s z a l a k z a t o k ( i n d e x ] :
um ciklu s i n d e x : z m i n d e
[index]
w id e i g l e n e s t ö m b f e l s z a b a d í t á s
t r é s z a l a k z a t o k : - ú j t ö m b [ 1 ]
egyébkén
rés z e k s z á m a : s r é s z e k s z á m a t 1
a l a k z a t o k [ u t o l s ó e l e m ) ] : - ú ja. l a k z a t
rész
vis s z a r é s z a l a k z a t o k s z á m a ( )
t e v ő e l t á v o l í t á s a e n n é l c s a k k i c s i t n e h e z e b b . A z i d e i g l e n e s t ö m b b e
t
Egy alakza ö s s z e
, s z e n e g y e l e m e t k i k e l l h a g y n u n k . H a a z e l e m n e m t a l á l .
két rész l e t b e n m á s o l u n k h i
s i t é k n u l l a , s i k e r e s t ö r l é s e s e t é n e g y . ( S i k e r t e l e n s é g e s e t é n n e m
ható, a v i s s z a t é r é é r
e n ü n k , h o g y a l e f o g l a l t i d e i g l e n e s t ö m b ö t f e l s z a b a d í t s u k ! ) A z u t o l s ó
szabad elf e l e j t
elem törlé s é n é l m á s h o g y j á t u n k e l .
b s z a l a k z a t e l t á v o l í t á s ( k i d o b a n d ó : a l a k z a t c í m e ) : e g é s z s z á m
u alakzat ré
um har résza l a k z a t o k s z á m a ( ) : 1 , a k k o r
w v á l t o z ó i d e i g l e n e s : a l a k z a t c í m d i n a m i k u s t ö m b
um ideiglene s : 5 - ú j t ö m b [ r é s z a l a k z a t o k s z á m a t ( ) ]
u ciklus inde x : m i n d e n r é s z a l a k z a t r a , i l l e t v e a m i g r é s z a l a k z a t o k
findex] - kid o b a n d ó c i m e : i d e i g l e n e s l i n d e x ] : - r é s z a l a k z a t o k [ i n d e x ]
u h a i n d e x u t o l s ó r é s z a l a k z a t , a k k o r
w i d e i g l e n e s t ö m b f e l s z a b a d í t á s a
W vissza 0
W index : 5 - i n d e x 1 1
W ciklus index:s minden további részal ak za tr a: id ei gl en es [i nd ex -1 ]: -
részalakzatok [i nd ex ]
w részalakzatok t ö m b f e l s z a b a d í t á s a
m részalakzat o k : s új t ö m b [ r é s z a l a k z a t o k s z á m a ( ) - 1 ]
n
m ciklus index: minde ré s z a l a k z a t r a : r é s z a l a k z a t o k [ i n d e x ] : - i d e i g l e n e s
[index]
m ideiglenes t ö m b f e l s z a b a d í t á s
um egyébként ha rész a l a k z a t o k [ 1 . ] 7 k i d o b a n d ó c í m e , a k k o r v i s s z a 0
egyébként I
w részala k z a t o k t ö m b f e l s z a b a d í t á s a
m részalakzatok:- ü r e s

s z á m a : ré s z e k s z á m a - 1
w részek
m vissza! t ú l
h a t á r - e l l e n ő r z é s s e l i n d u l , n e h o g y a l u l - v a e v
A r é s z a l a k z a t l e k é r d e z é s e e g y é r t é k e g j ő k é n y i
a d a t k ö z v e t í t é s . ( H i b a e s e t é n
E z t l e s z á m í t v a e g y s z e r ű
indexelj é k a t ö m b ö t . )
cím é v e l t é r v i s s z a . )
kelAk

ki eszalakzatók - üres
mu részek száma - 0
u alakzatp destruktor()

3.2.1 . V i l á g
t h e t ő a l a k z a t n a k , h i s z ehna b e l e g n d o n k 4
, : Z
k i e a y
A világ i s t e k i n
t á r g y , o b j e k t u m , d o l o g g y ű j t ő f o g a l m a . E g y 8 ) )
m e g a n n y i
gokra bontha t ó . V a g y i s e g y d o l o g , a m i s z a
világnak f é n y f o r r á s a i i s l e h e t n e k . ( 3 . ! e j

10. táblázat. A világ osztály, az aalszatutódja

világ: alakzat
fényforrások: fényforrás cím dinamikus tömb
források száma: egész szám
képalkotási tulajdonságok (4.2.2.)
fényforrások száma(): egész szám
fényforrás hozzáadás (új fényforrás: ténytorráscímeja
t
fényforrás eltávolítás (kidobandó: lkjözterészé?
fényforrás lekérdezés (sorszám: egész szám):
konstruktor()
destruktor()
képalkotás (4.2.2.)
A vi.lá"
B Osztály sajátossága tehát egy fényforrás tömb ésae
vadg?
eg ; lekérdező függvények. A képalkotásról se teledk
o s
in ztályrészt v á l l a l. Ez m á s , m i n t a z a l a k z a t t ó l Ö j
t
ben.j(la.yitulajdonság, a fényforrások pazérégt er
(10, V
téet
2.)kifényforrások dinamikus e 1
f é n y f o r r á s o k szá m á t l e k é r d e z ő f a n k c i
A
külvét

"
a
me

kció e r v s z e r ű e n közvetít

, a m i i t t f o n t o s , h i s z e n h a a k ö r n y e z e t h o z z a
adatelétés . szüks é g
t o z h a t n a . E z t p e d i g s z i g o rK E E Z Á L
n e , a f o r r á s o k s z á m a e s e t l e g m e g v á l
ju k f é r h e t
év I
világ k e z e l h e t i .
á g p - f é n y f o r r á s o k . s z á m a ( ) : e g é s z s z á m
m vil
m v i s s z a f o r r á s o k s z á m a
k i b ő v í t j ü k . A m á s o l á s h o z e g y i d e i g l e n e s
f o r r á s h o z z á a d á s á n á l ? a t ö m b ö t
Fény f e l s z a b a d í t u n k é s Ú j r a
i á t m e n e t i l e g t á r o l j a a z a d a t o k a t , a m í g
törnböt ho z u n k l é t r e , a m
l s ő e l e m n é l m á s h o g y j á r u n k e l .
he l y e t f o g l a l u n k . A z e
ú j . f é n y f o r r á s : f é n y f o r r á s címe): e g é s z s z á m
m v i l á g p f é n y f o r r á s h o z z á a d á s (
fé n y f o r r á s o k s z á m a ( ) ? 0 , a k k o r
u ha ö m b
e i g l e n e s : f é n y f o r r á s c í m d i n a m i k u s t
u v á l t o z ó i d
g l e n e s : - ú j t ö m b [ f é n y f o r r á s o k s z á m a ( ) ]
mu idei
e n f é n y f o r r á s r a : i d e i g l e n e s f i n d e x ] : - f é n y f o r r á s o k
u cikl u s i n d e x : - m i n d
[index]
u fé n y f o r r á s o k t ö m b f e l s z a b a d í t á s a
f o r r á s o k : - ú j t ö m b ( f é n y f o r r á s o k s z á m a ( ) r 1 ]
um fény
e x : m i n d e n f é n y f o r r á s r a : f é n y f o r r á s o k l i n d e x ] : - i d e i g l e n e s
mi ciklus ind
findex]
Wu ideigl e n e s t ö m b f e l s z a b a d í t á s a
u egy é b k é n t f é n y f o r r á s o k : - ú j t ö m b [ 1 ]
m for r á s o k s z á m a : - f o r r á s o k s z á m a t 1
um fényfo r r á s o k [ u t o l s ó e l e m ] : — ú j f é n y f o r r á s
w vi s s z a f é n y f o r r á s o k s z a m a ( )
r á s á v o l í t á s á n á l a t ö m b m á s o l á s á t k é t r é s z l e t r e s z e d j ü k : e l ő s z ö r m á s o l j u k
Fényt f o r e l t
o l í t a a n d ó t m e g e l ő z ő k e t , m a j d a k ö v e t ő k e t . H a n e m t a l á l j u k a z e l t á v o l í t a n d ó
az eltáv
s i é k b e n h i b á t j e l z ü n k . A z u t o l s ó e l e m e s e t é b e n e g y s z e -
fényf o r r á s t , a v i s s z a t é r é é r t
r ű b b e n j á r u n k e l .
u világ fé p - n y f o r r á s . e l t á v o l í t á s ( k i d o b a n d ó : f é n y f o r r á s c í m e ) : e g é s z s z á m
á s o k s z á m a ( ) ? 1 , a k k o r i t
mu h a f é n y f o r r
mu vált o z ó i d e i g l e n e s : f é n y f o r r á s c í m d i n a m i k u s t ö m b
u m i d e i g l e n e s : ú j t ö m b [ f é n y f o r r á s o k s z á m a ( ) ]
l u s i n d e x : s m i n d e n f é n y f o r r á s r a , i l l e t v e a m í g f é ; ;
u ci k e l K ö g [ i n d e x ] 7
e i g l e n e s ( i n d e x ] : - v ö k d r ésetjésá t b a d
kido b a n d ó c í m e : i d
w ha i n d e x - u t o l s ó f é n y f o r r á s , a k k o r
um ide i g l e n e s t ö m b f e l s z a b a d í t á s
m u v i s s z a 0

a k z a t - h o z z á a d ó m ű v e l e t é v e l . ( 3 . 2
ö s s z e v e t n i a z a l a k z a t r é s z a l
9 Érdemes s a b l o n ( f e m p l a t e ) a l k a l
k m á s o k . I l y e n k o r c é l s z e r ű a Z A S A í e: g
csak a z e l n e v e z é s e n y e z e t t á m o
: gAaMtIi e g y ö n t ő -
o r o k a t . S a jnos n e m m i n d e n k ö r
forma s z e r i n t l e g y á r t j a a p r o g r a m s Ja, ezéért mi i

sem a l k a l m a z z u k :
á s a j l l l ö b s z á n
ö m b f e l s z a b a d í t
i l f é n y f o r r á s o k t f o r á s o k s z á m i
v s o k : ú j t ö m b [ f é n y
wi f é n y f o r r á
d e n f é n y f o r r á s
k l u s i n d e x : m i n
u c i
A ni 1
ú 4 pr an
4 1 0 gi

i n d e x ) ús. C a g z y ó b i
( a d í t á s a
ö m b f e l s z a b v i s s z a 0 ,
u i d e i g le n e s t
k i d o b a n d ó c í m e , a k k o r
h a f é n y f o r r á s o k [ 1 . ] /
a e g y é b k é n t §)
egy é b k é n t á s a
k m b f e l s z a b a d í t
u f é n y f o r r á s o t ö
é n y f o r r á s o k : - ü r e s
um f
a : - f o r r á s o k , s z á m a - 1
mM for r á s o k s z á m :
u vi s s z a ! ő r z é s t . H a a s o r s z a m n e m
é g z ü n k e g y é r t é k h a t á r - e l l e n
r r á s l e k é r d e z é s é n é l e l v
Fényfo r ü n k v i s s z a . "
p é l d á u l n e g a t í v ) , n u l l á v a l t é
me g e n g e d e t t ( m ) : f é n y f o r r a s c i m e
r d e z é s e ( s o r s z á m : e g é s z s z a
u v i l á g p f é n y f o r r á s . l e k é s s z a
á m a v a g y s o r s z á m c 0 , a k k o r v i
s z á m ? u t o l s ó f é n y f o r r á s s o r s z
u h a s o r
nulla
u v i s s z a f é n y f o r r á s o k [ s o r s z á m ] c í m e
a d a t k e z e l é s n é l n e m s z a b a d m e g f e l e d -
t r u k t o r - d e s t r u k t o r p á r o s r ó l d i n a m i k u s
A ko n s
k é r t é k e i t , a d e s t r u k t o r p e d i g f e l s z a -
kezni. A ko n s t r u k t o r n u l l á r a á l l í t j a a adattago
z
badítja a f u t á s i d ő b e n f o g l a l t m e m ó r i á t .
u világp ko n s t r u k t o r ( )
u fényforr á s o k - ü r e s
u forráso k s z á m a - 0
u világ p d e s t r u k t o r ( )
NM f é n y f o r r á s o k t ö m b f e l s z a b a d í t á s a
, h i s z e n e z e k 1 5 c s a k a l a k z a t o k . Í g y
Elvileg a v i l á g o k a t i s r é s z v i l á g o k b a s z e r v e z h e t n é n k
k l é t r e , s a j á t f é n y f o r r á sk csak
o k k a l , a m e l y e
mindenségün k a l á a l v i l á g o k a t h o z h a t n á n
t ó s z e r - k e r e s k e d ő k e t ) v i l á g í t -
e l e m e i t ( m a f f i ó z ó k a t , é j s z a k a i m u l a t ó k a t , k á b í
az alvilág lről nem v ü
G o n d o l j u n k e g y l e r e d ő n y ö z ö t t h á z r a . K í
ják meg, k i f e l é n e m j ö n f é n y . a z
e d i g n e m l á t s z ó d i k a k ü l v i l á g . A g o n d c s u p á n
látszódnak a b e l s ő f é n y e k , b e l ü l r ő l p
o l ó d i k a v i l á g é s a n n a k a z a l v i l á g a ( h e -
l v a n , h i s z e n i l y e n k o r ö s s z e k a p c s
ajtónyitásná e z i s e g y s t r u k t u r á l á -
v a g y r é s z v i l á g a ) . B á r n e m f o g l a l k o z u n k v e l e ,
lye s e b b e n a l - v i l á g a
si l e h e t ő s é g .

t a r
d á k a
t 1
.
z
z t
i
á s d pire máas zát k
A .
n
e t
l
l
á
k á
l
l
a
z ű
t
d z
l
á á
l
á
e
sszzorz
K E R E S E
e n g e d i k , e z é r t o t t m á s m e g o l d á s t k
r e s c í m m e l . E g y e s f o r d í t ó k e z t n e m
9 V a g y i s e g y ü l a C t t A b r o w P K , T E S Z T ?
o k s z o r l e h e t h i b á t g e n e r á l n i , p é l d á u
a hiba j e l z é s é r e . ( S z e r e n c s é r e s
ge
val.
c s a k a f e l ü l e t ü k k e l , h i s z c
a k z a t o k a t m o d e l l e z h e t j ü k e n é ,
A t á r g y a k a t , a l
k b e n v a l a m i . A f Vé l v
e n m i n d e g y , a vbae l
n s-eej ü e n —
s z e m p o n t j á b ó l t e l j e s k ( p é l d á u l a g ö m b e s e t é b
c k a — 3 . 2 . 3 . ) ) é s g ö r b ü l e t e
szögl e t e s e k ( p é l d á u l a k o , b á r a
k i s h á r o m s z ö g e k t ö m k e l e g é v e l . Í g y
i n d k e t t ő t j ó l l e h e t k ö z e l í t e n i a p r ó r o l á s , m e g j e l e n í t é s ) z k t
3 . 2 . 4 . ) . M l a k í t j u k , a f e l d o l g o z á s ( t á
f e l ü l e t e k e t s z ö g l e t e s s é a
gö r b ü l ő
e g y s z e r ű b b l e s z . ( 1 7 . á b r a . )

ö r b e f e l ü l e t k ö z e l í t é s e h á r o m s z ö g e k k e l
17. ábra. G

a s z k o d u n k , m e r t a v a l ó s á g b a n a s í k f e l ü l e t e k í s
A v a l ó s á g t ó l p e r s z e j ó c s k á n e l r u g
t e t l e n s é g é s é s s z e r ű t l e n m o d e l l e z n i , v á l a s s z u k i n k á b b
egyenetl e n e k . E z t a z o n b a n l e h e
a s z t a l l a p o t n y u g o d t a n t e k i n t h e t ü n k s i r n á n a k , n e m
a sík i d o m o k k a l k ö z e l í t é s t . E g y
l a l k o z n i . Kivéve persze, ha az a b s z t r a k c i ó
érdemes a mik r o m é t e r n y i redőkkel f o g
szintje ez t k í v á n j a .
í t h e t ő , l á t h a t ó a l a k z a t ( 1 6 . á b r a ) , a m e l y t a l á n a l e g e g y s z e -
A háro m s z ö g m e g j e l e n
d o l o g k ö z ü l . M e g f e l e l ő m é r e t ű h á r o m s z ö g e k h a s z n á l a t a
rű b b m i n d e n á b r á z o l h a t ó
t á r g y f e l é p í t h e t ő , e z é r t m i n d e n k é p p e n f o n t o s , h o g y r e n d s z e -
esetén b e l ő l ü k m i n d e n
rünk t a r t a l m a z z a e z t a s í k i d o m o t .
d o n s á g a a h á r o m c s ú c s a , i l l e t v e a z e z e k h e z t a r t o z ó h e l y v e k t o -
Legfontosabb t u l a j
v e k t o r o k a t a l o k á l i s , a l a k z a t h i e r a t c h i á b a n ö r ö k ö l t k o o r d i n á -
rok. (18. ábra.) E z e k e t a
í r j u k l e . Í g y m e g v a l ó s í t h a t ó , h o g y ö s s z e f ü g g ő f e l ü l e t e k e t a l k o s s u n k —
ta-rendszerben
á l l í t j u k b e a s z o m s z é d o s h á r o m s z ö g e k i l l e s z k e d ő c s ú c s a i t .
eg y s z e r ü e n c s a k a z o n o s r a

t t h e l y v e k t o r o k k a l j e l l e m e z z ü k
r o m s z ö g e t a c s ú c s o k h o z h ú z o
18 . á b r a . A há
: 7 Vre ve : .

gyeetztsmd
ha
ls

csúcsok: mátrix

csúcsbeállítás (sorszám: egész. számi ú.


csúcslekérdezés (sorszám: egész szám):
képalkotás (4.2.4., 4.2.5.)

A konsttuktor beállítja a mátrixot 3X3-asra. EYÉ


NENEegyikhá
mát, a másik pedig a dimenziót jelöli.
kéddtláéásE
8 háromszögb konstruktor()
u csúcsokp méretbeállítás (3, 3)
7csúcsbeállító és -lekérdező f
üggvény csak közvetít aa mátit
SzÖtt, Az egész mátrixot nem ax
célszerű kívülről 1s dérhetővé
ever hanem vektorok tömbje. t e n n ih, i
A csúcsok kocsdinátlt A á
kerepodként; egyértelműen lénye t a t j
ges az, hogy a ekéerdez n
h-átgyy hasz náljuk. Mi tudjuk, hogy a mátrix é k a r é j
zer, il fel, e
észt választjuk, (2.2)
cANt éz 8
b karvi csúcsbeáltítás (sorszám:
És ) sorvektör beállítás (sorszám, ú
"öfrsine " csúcslekérdezés (sorszám: 7
m r
egész. szá
Csúcsokp sorvektor lekérdezése
(:
j 42.)
od száll ".

1 98 seft e
ői W 0 ? piri

romszogel 919
DOL !
nm §
Cső
teh

té-? A. MöBkéi a)új A.


[d .
d
nnk al e drez

kr ENE —
ked
915

. BNÉY
szdkei

ke ÉNE
t54estkéntM
1; vi ( A a k e - s s 9:
A tb z

a
Ma r o r n o e s í t s z á s Sés A
ú Esz) ALLLÁASZ()
b hid

je - p A LA c Y ÉS, e mé

z Tre É.. je)


(4 y

t ö m b b e n t á r o l j u k .
m.t
( a t n é g y z e t , e g y e n k é n t k é r
hatunk.
Az o l d a l a k a t e g y t i z e n k é t e l e m ű . A f ő á t l ó a ( - ;
n s t r u k t o r a i n i c i a l i z á l j a ő k e t
a l k o t v a . ) A k o c k a k o
hár o m s z ö g b ő l m e g
é l e k p á r h u z a m o s a k a k o o r d i n á t a t e n g e
1 ; 1 ; 1 ) p o n t i g h ú z ó d i k , a z
—1; - 1 ) p o n t b ó l a z ( a r r a , h o g y k í v ü l r ő l n é z v e
m e g a d á s á n á l ü g y e l ü n k
9 . á b r a . ) A h á r o m s z ö g e k n t o s l e s z a m e g j e l e n í t é s
v
Iy e k k e l . 4 ( 1 e l l e n t é t e s i t á n y b a j á r j u k b e ő k e t , e z f o
t ó j á r á s á v a l 3 1 a k ü l s e -
az ór a m u t a
o g y a t e s t n e k m e l y i k a b e l s e j e é s
z a l a p j á n á l l a p í t j u k m e g , h
szem p o n t j á b ó l . ( E
4 . 3 . 3 . , 1 2 . t á b l á z a t . ) [ 3 6 ]
je—

80944 Bos6

( — 1 ; — 1 ; — 1 ) j

19. ábra. A kocka old a l l a p j a i h á r o m s z ö g e k b ő l á l l n a k

12. táblázat. A k o c k a is e g y a l a k z a t

kocka: alakzat
oldalak: valós sza m töm b [6-2 ]
kon s t r u k t o r
ké p a l k o t á s i m ű v e l e t e k

A kocka csúcsainak in ic ia li zá lá sá ho z (k ez de ti ér té k be ál lí tá sá ho z) eg y id ei gl en es
vektort használunk. A koor di ná ta ér té ke ke t eg y t ö m b tá ro lj a, i n n e n ol va su nk , és
a h á r o m s z ö g e k e t . ( A t ö m b di me nz ió ja : 6 ol da l - DA ár is át jé n ö g " 3
ezzel tö lt jü k fe l

" 3 ko or di ná ta .) H a ké sz , h o z z á a d j u k a ré sz al ak za to k li st áj áh oz . M i n d e z t a
cs úc s
k á t n e m bo n t á n á n k ol
a z l e n n e , h a a k o c
orsabb

;
2: j! o k h a l m a z á r a , ít t

a
31 l u l t a l a s ó
á r o m s z ö g e k b ő l é p í t h e t ő b o n y o
t ő tk . ö g g z é é t e g y p é l d a a h a t r a .
szetáé
kr e Ó T É S 1
: , - 1 - 1 , - t , 1 V A A
1 1 7 t t ; 1 ej (
. 4 ) 4 . 4
a 9 1e t a
T Ba
1 , 1 ,
) 0 h
8 ő : 1 , - t , 3 1?1 7 4 ;ú j
AA; - 1 , " 1 , " t 1 , - t ,
4-1 , 4 1 - 4 4 1 1 1 B i ö t é s éB a 1,
A tá s t 4 t e t e t t e t e t őÉ S Z A T A
u AA T A T BÉB
t b e - s z á m l á l ó : e g é s z s z á m - 0
a . n e t é
n d e x : m i n d a 1 2 h á r o m s z ö g r e :
u c i k l u s i
u c i k l u s b e l s ő . i n d e x : s m i n d a 3 c s ú c s r a :
mu ideiglen e s p k o o r d i n á t a b e á l l í t á s ( 1 . ? , a d a t o k (számláló
z á m l á ltó 1 s S Söáá
ü szám l á l ó : 5 s
u ideiglenesp koordinátabe ál lí tá s (2 ., ad at ok e s z e s és e 2 .g ő
u számláló:s számláló : 1 ; tet ax8
u ideiglenesm koordinátabeállítás (3., adatok (számlálób)
u" számláló:s számláló tr 1 . szét
u oldalak (i nd ex ]p cs úc sb eá ll ít ás (b el ső in de x, ideiglenes) mahé ő
u részalakzat hozzáadás (oldalak [index]) té
Ha más méretű kockára van szükség, az átméretezés műveletet teedbsdíatsáttáőláts
"a transzformációs mátrixán. (A téglatestet is így állítjuk elő.) Nyilván hasonló a teendő,
. ha nem az origóba szeretnénk helyezni a középpontját, illetve nem a.
IB párhuzamos éleket szeretnénk: ilyenkor eltolni, illetve forgatni kell.

3.2.4. Gömb, ellipszoid


vagyis pontjai leírhatók egy ré 1. ] 4 ek
Tegyen kvadratikus felület,

ha me t t e l , ( K v a d r a t i k u s f e l ü l e t e k m é g a z e l l i p s z o i d , a p a r a b o l o i d é s a h i p e r b o l
Z azért előnyös, mert egy másodfokú egyenletet aránylag egyszerű megoldani
álta
Is h A
za httó szereplő egy ütthatók vektorok.
tál ünk egységgömb (egységnyi sugarú gömb) lesz, melynek kü ka mesz
k- tai
ő gömb y

jukát. (2.3 igeEzt transzformáció kk al te ts ző le ge s h e l y z e t e


ű meret 1 j

; iA staukus világ szem po nt já bó l az ál ta lá no s al ak za th oz k é p e sst e Ci


va! KW

egyéb tulah .
e.
mak )
[/

"onsággal nem rendelkezik, csak a képalkotásnál káredlé


v:n
Törszár j
ZÍRÓ
rtéke " aa ttöömmbbi; ndexeléstől
éz 4 0

függ. C-t-t környezeetZzbnnúelnlás 0


nag
:.
o n t j á b a n . [ 1 7 ]
b a n é s a k ö z é p p " 9 t e g y i b
rá a l a k z a t
a l e g e g y s z e r ű b b
t . A g ö m b t a l á n
1 3 . t á b l á z a

gö m b : a l a k z a t

t e k ( 4 . 2 . 7 . , 4 . 2 . 8 . )
kép a l k o t á s i m ű v e l e

3 . 3 . K a m e r a
o d e l l e z n i , a c a m e r a o b s e n r á t ,
z e r ű b b k a m e r á t f o g j u k m
A vilá g o n t a l á l h a t ó l e g e g y s e i g e n e g y s z e r ű , a z
s z k ö z n e k a z ő s e . F e l é p í t é s
a z Ö S S Z E S k é p f e l v e v ő e -
am e l y e g y é b k é n t
z e p é n e g y l y u k k a l . E z z e l s z e m
b o z 3 3 , a z e g y i k o l d a l á n a k k ö
egész e g y b e l ü l s ö t é t d o é n y é r z é k e n y p a p í r .
t a l á l h a t ó , p é l d á u l e g y f
l a m i l y e n k é p f e l f o g ó f e l ü l e t t
kö z t v a o g ó f e l ü l e t e n e g y f o r d í t o t t k é p e
é r k e z ő f é n y s u g a r a k a k é p f e l f
A lyuk o n k e r e s z t ü l b e
al k o t n a k . ( 2 0 . á b r a . ) [ 5 2 ] 1 5 , a l a p f e l -
g y e g y m o d e r n f é n y k é p e z ő g é p e t
é n k a z e r n b e r i s zemet v a
Modelle z h e t n f é n y e g y s ö t é t
r ó l y u k o n k e r e s z t ü l b e j ö n a
i n d e g y i k n e k h a s o n l ó . E g y a p
ép í t é s e m e l f o g j a v a l a m i .
d a l á n k é p k e lpet
e t kfe z i k . E z t a k é
üregbe, a m e l y n e k a s z e m k ö z t i o l s -
v e z é s t i s , d e a k a m e r a a m a g a s z ö g l e t e
e t t h a s z n á I h a t n á n k a s z e m e l n e
Kamera h e l y s á r Ú - a
l s z l t 3 z é g é v e l b b a n i l l i k a m o d e l l t e r ü n k b e . [ 7 4 ]
ségév ée l s m e r ő l e g e s s j o

s c u r a . A k e l e t k e z ő k é p f o r d í t
20. á b r a . C a m e r a o b o t t

e f ó k u s z p o n t . I t t evő
p i c i l y u k v a g y n y í l á s n e v ö s s z e a
A t ö b b s z ö r 1 5 e m l í t e t t b b k é p r ö g z í t ő k s d j t j k a
á s t . A b o n y o l u l t a
k , i t t k e r e s z t e z i k e g y m — a m e l y e k k e l
f é n y n y a l á b o
ET E T
a k a m e r a e l n e v e z é s .
k a m r a . I n n e n e r e d
33 Más s z ó v a l

Ole
z
hús7 v l á s t á j t s
s Tác h
zün ?
lezü 43 a Cr. b
Eg Fa

kt
( ;

gizizsal
as egyzl
gy TT it
ő

j t e t"v
u
1c
j A - 7. ; ; "

"o előt 2 b. " § e 6 j 4 - Pi

mere
s 2.
KERGAKGKKÉ 1 (hészéna 4 záksé aaz j
14
LA ui a g. 4 A dnjés .! e ) (eaz
.
/Ű. A
EG f7- 2 6. 4 NM és
úsz §. g . u b új
fa gt p ". i mM o.) e
, í.
abA . Pa b adi Stm
adaVAR AM;
8 v Kz ő b ü te § ki."§
a. A 1 É sa véd ; 4
aú Ag . 3 a mel HA nen her
e ah eh o
4
a S, v .
"j ks éa.
OI a p" e. vi Még ;
bel8 ú j my a ll 4 ne. gaz 732 5 éz ?
yt gy ! edu - p É - ri . nd ködnp s,
s gú pe J fi
vé. a ő b
Ap 4 f. ,
. a a.42
4 57 al ni tt
"e ő ú
? "e 1! ú by 7 /§ l sú a
te AKAD AK a ene fe A ZA
. tag 3 [j

i KLDÚ jar
ki
látr .

ellezzük
ll w c ,

és 1 .E z e k e t m i s£ n e m é t éz ő k 8 r e8 5
e k t o r t í p u s ú o b j e k t u m a l j a s A
ey E Z E R E e g y v a z
. A v e k t o r k o o r d i r á t ó l
a f ó k u s z p o n t p o z í c i ó j a
zetea t u l a j d o n k é p p e n t á
d i n á t a - r e n a d s z e r b e n é r t e n d ő k .
gyelt v i l á g k o o r e r t é b e i r e z a á z é t e
r t e l m ű , e r r e f e l é f i g y e l j ü k a t e r e t . ( E m b
A n é z e t i i r á n y e g y é j e l ö l i k iá r d a l hó at t á n r a
e r j
a f e l f e l é m u t a t ó i r á n y , ( s s
l y i r á n y a . ) A k a m e r a á l l á s a i r á n y r a ,
ten g e
m e g , a m e l y m e r ő l e g e s a n é z e t i
A k é p e g y f i l m k o c k á n j e l e n i k
ori e n t á c i ó j á t .
e k t o r a , a n é z e t i i t á n y é s a f e l f e l é m u t a t ó i r á n y e g y s í k b a n v a n . d f e l f e l .
egyik oldalv y i k ö l e d a t á s á k ( E z t d ö j á s
e á l i s e s e t b e n p á r h u z a m o s a f i l m e g
mutat ó i r á n y i d g ő l
v á r h a t j u k e l , e z é r t a v a l ó d i f ü g
azo n b a n e g y f e l h a s z n á l ó t ó l s e m
o z á s á n á l k ö r ü l t e k i n t ő e n j á r u n k e l — 4 . 2 . 1 . )
rár
k ö z ö t t i j e l l e g z e t e s távolság a kép t á v o l s á g " . B s z z e ll e h e t
A f i l m é s a f ó k u s z p o n t
közelíten i - t á v o l í t a n i ( z o o m o l n i ) : é r t é k e m i n é l na g y o b b , a k a m e r a a n n á l k i s e b b t é r
a r é s z l e t e k a n n á l inkább megje l e n n e k , v a g y i s a n n á l n a -
szögben f i g y e l i a v i l á g o t , í g y
gyobbnak látsz i k a z e g é s z . ( 2 1 . á b r a . )

21. ábra. A képtávolság állításával nagyíthatunk, kicsinyíthetünk

Aéefji séts a nézeti irányra, és ebben az irányban a fókuszpont a közepére ve-


s. ebéz ábr a . ) E z u g y a n m e g s z o r í t á s , d e n e f e l e d j ü k , h o g y a v a l ó s á g o s E Z T
PP működnek. Ugyan mi szükség lenne egy ferdén felvett képre? Ha n
kell
l e g
pete ehetőség, yszerűen t o v ábbfejlesztjük a k a meránkat.

a És nem fók

Pontja és a SAlgÁsas A fókusztávolság a — modellünkből kimaradt — lencse op


Szpont közötti távolság. Lencse hiányában ez itt nulla.
m i k a m e r á n k
22. á b r a . A

z p e r s z e n e m j e l e n t i
l v o n a t k o z t a t t u n k . É
l , a s ö t é t k a m t á t ó l e f i l m r e . K a -
m e r a l é n y e g i r é s z é t ő e l f o g ó f e l ü l e t r e , a
A k a s u g a t a k e s n e k a k é p f
n d e n f é l e Z fé
A V nAyL Ó m m i k ö z e , ottani
í g y a z
azt, h o g y m i é g h e z j ó f o r m á n s e
v i l á g m i n d e n s e k a n y í l á -
k u g y a n i s v i r t u á l i s , a
d e m e s n e k t a l á l , a m e l y
me r á n
a z o k , a m i k e t a r r a é r
e m b e f o l y á s o l j á k . C s a k , h o g y a f i l m r e e g y é b
f é n y e k s t k a m r á t ú g y m o d e l l e z z ü k
a d n a k : ( V a g y i s a s ö t é
son k e r e s z t ü l h a l f i g y e l e m b e . )
g a r a k a t ne m v e s s z ü k
y b ó l e s ő k á r o s f é n y s u l y v e k t o r á v a l h a t á r ó z u n k
i r á n l á s b ó l á l l — m e l y e t a h e
t e h á t e g y p o n t s z e r ű a y í e t i i r á n y b ó l ,
Ka m e r á n k e l f e l é m u t a t ó é s e g y n é z
í v u n k — , v a l a m i n t e g y f
e g , É S f ó k u s z p o n t n a k h u m o s z t á l y k é n t m o d e l l e z -
m z u t ó b b i t k ü l ö n o b j e k t
l s á g b ó l é s e g y E l m b ő l . E t ó . ( A
egy k é p t á v o ból k á i v e h e t ő é s f e l d o l g o z h a
, h o g y a ü l m a t a m e r
k ö v e t v é n a z t a z e l v e t í t j u k t ú l k é p f e l y v e -
zük ,
e g . ) É s í g y n e m b o n y o l
ó v a l n e h e z e b b e n t e h e t ő m
ret i n á v a l e z m á r j
v ő e s z k ö z ü n k e t . , n o é s t e r m é s z e t e s e n 4
é r é s t b i z t o s í t ó m ű v e l e t e k
n k c i ó k t ö b b n y i r e a h o z z á f -
A fu i v a t k o z á s s a l k a p c s o l j u k a k a
é s z n e k a l é n y e g e . A t i l m e t h
k é p a l k o t á s , h i s z e n e z a z e g b á r a k a m e r a t a r t á l -
l ö n k e z e l h e t ő . ( V a g y i s ,
n n y e n c s e r é l h e t ő é s k ü
merá h o z , í g y k ö v i l á g r a 1 5 h i v a t k o z n i k e l l ,
s á a c í m é t . ) A m e g f i g y e l t
a f i l m e t , m é g s e m t á r o l j a , c ( 6 6 ) [ 6 7 1
mazz a a t . ) ( 2 8 ] [ 4 0 ] 1 6 4 1
1 5 l e h e t . ( 1 4 . t á b l á z
hiszen e b b ő l t ö b b

14. táblázat. A ka m e r a o s z t á l y

fóku s z p o n t : v e k t o r
függ ő l e g e s : v e k t o r
n é z e t : v e k t o r
á v o l s á g : v a l ó s s z a m
ké p t z á s
y e l e n d ő : v i l á g h i v a t k o
megfi g
o g ó : f i l m h i v a t k o z á s
k é p f e l f 2 . 1 . )
t u l a j d o n s á g o k ( 4 .
ké p a l k o t á s i
k Kerde: Le VESNMERS MBE ottell

megfigyelendő. beállítás03. VESE VRÁSK SABB sztati ső


megfigyelendő. lekérdezés(): GB cím árálotasi ag
képfelfogó. be ál lí tá s (ú j. ké pf el fo gó : fi lm cí m)
képfelfogó. lekérdezés(): fi lm cí m G ad
konstruktor() pédllib -
képalkotás (4.2.1.)

g v é n y e k e g y s z e r ű k a p c s o l a t o t b i z t o s í t a n a k a k a m e r a é s a k ü l v i l á g k ö z ö t t ,
Af ü g
a d a t t a g o k a t , m e g v é d v é n e z á l t a l ő k e t a z ó v a t l a n i b e a v a t k o z á s t ó
elrejtik a bel s ő
f o r m á l i s s z e r e p ü k v a n , h i s z e n p é l d á u l é r t é k h a t á r - e l l e n ő r z é s r e
lényegéb e n c s a k
sin c s s z ü k s é g .
u kamerap f ó k u s z p o n t . b e á l l í t á s a ( ú j .p o n t : v e k t o r )
u fókuszpontb ér t é k a d á s ( ú j p o n t )
kamerap f ó k u s z p o n t . l e k é r d e z é s e ( ) : v e k t o r
u vissza főkuszpont
kamerap függőleg e s beá l l í t á s a ( ú j i r á n y : v e k t o r )
B függőlegesp értékadás (új irány)
k a m e r a p f ü g g ő l e g e s l e k é r d e z é s e ( ) : vektor
u Vissza függőleges
kamerap nézet beállítása (új irány: vektor)
4 nézetb értékadás (új irány)
kamerap nézet lekérdezése(): vektor
§ vissza nézet
agyátab képtávolság beállítása (új távolság: valós szám)
K képtávolság:- új távolság
ezójsádéted képtávolság lekérdezés(): valós szám
, "ssza képtávolság
a m é ús zá s á s a t t
. "Tab megfigyelendő beállítása (új. világ: világ cím)
ame, gyelendő: újvilág címe
bind megfigyelendő lekérdezés(): világ cím
e . , "7 ő ő

vat ta megfigyelendő címe


E jlábűslése; 0gó. beállítása (új. képfelfogó: film cím)
erab képfelfo Óó b télés é és É 8

m bet témád új. képfelfogó címe


épfelfogó lekérdezés): film cím
80
mm vissza ké p f e l f o g ó c í m e RÉT Nezj e.
Dinamiku s a d a t t a g o k k a l u g y a n n i n c s d o l g u n k , m é g i s h a s N O S e g y k o n
b e á l l í t h a t j u k a z a l a p v e t ő i r á n y o k a t é s t á v o l s á g o k a t , g r á t i s z e tr i s
nálata. Ezzel
Í e l e t k e z ő k a m e r a , h a v a l a m e l y i k a d a t t a g o t g o e l f e l e i t
j itü k
j ü k in is , u .á,l n i5l e s é
z m
lamilyen a k
u" kamera p k o n s t r u k t o r ( ) j
képt á v o l s á g b e á l l í t á s a ( 1 )
fókusz p o n t b : d i m e n z i ó b e á l l í t á s ( 3 )
függőlegesp- dim e n z i ó b e á l l í t á s ( 3 )
nézetb di m e n z i ó b e á l l í t á s ( 3 )
fókuszp koord i n á t a b e á l l í t á s ( 1 . , 0 )
fókus z p k o o r d i n á t a b e á l l í t á s ( 2 . , 0 )
fókusz koop r d i n á t a b e á l l í t á s (3., 0)
füg g ő l e g e s p - k o o r d i n á t a b e á l l í t á s (1., 0)
függőlegesp koordinátabeállítás (2., 0)
függőlegesp koordinátabeállítás (3., 1)
n é z e t b koor d i n á t a b e á l l í t á s (1.,1)
nézetb koordinátabeállítás (2.,0)
nézetb koordinátabeállítás (3.,0)

3.3... Füm
A valóságban a kamerában elhelyezett filmre vetül a kép.
Szemcsés, fényérzéke
anyaggal van bevonva, melynek tulajdonságai megváltoznak, ha fotonok ét
A filmet aztán előhívjuk, kinagyítjuk é
s nézegetjük.
TAin mi lágunk1b02an aí film tööllttii be vai csiÍ llagkapu szere
VI a
péta. Ez létesít kapcsolató
7 égessék És a virtuális mindenség között.
y ő a "ég r ely j

Más szavakkal: a filmen keletkező kér


. mk s a

jeellenítjjüükk 1 meg, ny !omtatjjukukkí


kiv vagy mentjüTók el, vagyisI ezt az i
vább a valóság n f o r m á c i ó t a d j u k !
os világnak, j
Vannak méretei, ez egyértelmű,
hiszen minden fílti C : l e s s é g é n e k
gasságának növveellééssével kiccssiinvníytíétsétst éé rhetüizé nk el, mert e.
ekkor l a l
k D Z Í R H lEá R
t óÉs S E N É
vekszik. (23. ábra.) Van felbontása, ez a valóságos fil amera látószög z ö g e n a
Ahogyan az szemcsékből épül fel (nem lehe
J - A v § a A a ér ;
s z e m;
c s éz
s s é g ére jellem2
ni

alkotóeleme a képpont (pixel) lesz. Eze g t e l e n s é g i g nagyítani), a mi filmúi


ket eg egvé ű
pixeleivé vagy egy fájl adatelemeivé. yértelműen konv ertálhatjuk a képern])
e a j
ki

; ! figy gat a §
á d j i
í P

E P aa j "

yet, N
ho tetéj a.

ng zet
8,

, s
v
ee

9 28
zz ke [3 je .]

néelke t a l ó ( 2 . ú
á t j
l s á g c s ö k k e n t é s é
m n a g y í t á s a a k é p t á v o
23. áb r a . A f i l

i g a z i f i l m e n r e n g e t e g i n f o r m á c i ó g y ű l i k ö s s z e , a m i é n k e n i s alában
Mint ahogy egy
rengete g k é p p o n t l e s z . E z e k m i n é l s ű r ű b b e n h e l y e z k e d n e k e l , m i n é l t ö b b v a n b e l ő -
r é s z l e t e s e b b k é p e t k a p u n k . ( D e e h h e z a n n á l t ö b b h e l y r evan szük-
lük, annál s z e b b ,
n a g y o b b l e s z a t á r i g é n y e . ) vi
ség v a l a m i l y e n t á r o l ó n , a n n á l
s a b b f e l a d a t a : a k é p p o n t o k t á r o l á s a . R e n g e t e g a d a t r ó l v a n
Ez l e s z a f i l m l e g f o n t o
é r d e m e s - e ő k e t e g y e t l e n ó r i á s i t ö m b b e n , e g y ö s s z e -
szó, ez é r t f e l m e r ü l h e t a k é r d é s :
v á n g y o r s a b b k e z e l é s t é r n é n k e l , d e e g y b e k e l l e n e o l -
függő t á r h e l y k é n t k e z e l n i ? N y i l
n e m k ü l ö n ü l n é n e k e l t ö b b é . V a g y i s m á r a f i l m n é l m e g k e l -
vasztani a p i x e l e k e t , a z o k
a n é p ü l f e l e g y k é p p o n t . E h e l y e t t i n k á b b v á l a s s z u k a z t a m e g o l -
lene határo z n i , h o g y
i l m m i l l i ó n y i k é p p o n t o b j e k t u m k é t d i m e n z i ó s t ö m b j é t t a r t a l m a z z a ,
dást, ami k o r a f
t e t s z ő l e g e s e n m ó d o s í t h a t j u k , t o v á b b f e j l e s z t h e t j ü k , e g y s z e r ű s í t h e t j ü k ,
így a p i x e l e k e t
l f i l m t ő l . ( 3 . 3 . 2 . ) H a e g y s z e r m é g i s a s e b e s s é g r e s z e r e t n é n k o p t i m a l i z á l n i
függetlenü a
a rends z e r ü n k e t , a k é p p o n t o k a t b á r m i k o r ö s s z e v o n h a t j u k a f i l m m e l .
Szedjük ö s s z e , m i b ő l is ál l a f i l m ü n k ! V a n s z é l e s s é g e , m a g a s s á g a , v í z s z i n t e s é s
függőle g e s f e l b o n t á s a . N a m e g a k é p p o n t o k i s z o n y a t o s m é r e t e k e t ö l t ő d i n a m i k u s
.
tömbje E z e k h e z e g y s z e r ű b e á l l í t ó - l e k é r d e z ő f u n k c i ó k t a r t o z n a k , d i n a m i k u s t á r k e z e -
léssel kiegészítve. A képalk o t á s n a k a f i l m ís r é s z e , h i s z e n e r r e v e t ü l a m e g f i g y e l t v i l á g .
Es a film feladata a külvilággal való kapc s o l a t t a r t á s ( m e g j e l e n í t é s , e l m e n t é s ) , e n é l k ü l
az egész rendsz e r ü n k é r t e l m e t l e n l e n n e . ( E z a k ü l v i l á g g a l v a l ó k a p c s o l a t t a r t á s h a s o n -
lít arra, amikor az igazi iilmet kivesszük a fényképezőgépből, előhívjuk, lemásoljuk,
cs megmutatjuk az ismerőseinknek.)

15. t á b l á z a t . A f i l m o s z t á l y

film
szélesség: valós szám
magasság: valós szám
oszlopok száma: egész sz
ám
sorok száma: egész szám
képpontok: képpont dinamikus tömb
sz Úgy ! w
ME 88 .ű A CG 4. ES sül. EP :

e e tálátséta
at éa
áll dán Sal ELÉ ke
jj

. Imagasságlekérdezés(): valós szám


konstruktor()
méretbeállítás (oszlopok új sz ám a, s o r o kújsz ám a: e g é s z szá m
oszlopszám. lekérdezés(): egész szám
sorok számának lekérdezése(): egész szám
képpont. beállítása (oszlop, sor: egész szám, új szín: szín)
kép. mentése (fájlnév: karakterlánc): egész szám

A szélesség- és magasságbeállítással, valamint a lekérdezésükkel nincs sök ten-


nivaló — értéket adunk a megfelelő adatoknak, illetve kiszolgáltatjuk őket
. Korlátozás
nincsen, bárhogyan beállíthatjuk e változókat, vagyis ezek a függvények szin
te mint.
ha közvetlenül férnének hozzájuk.
Mm filmb szélességbeállítás (új szélesség: valós szám)
u szélesség:- újszélesség
M filme szélességlekérdezés(): valós szám
MH vissza szélesség
HM filmp magasságbeállítás (új. magasság: valós
szám)
N magasság:- újmagasság
u filmp magasságlekérdezés(): valós szám
NM Vissza magasság
A konstruktott ne felejtsük el, ugyanis osztál
yunk dinamikus adattagot tartalmaz.
Ezt célszerű nullával inicializálni. És ha már
va n konstruktorunk. beállíthatjuk a szé-
lességet és a magasságot is egy jellegzetes arányra,
például 1:3-ra, arni a képernyők
általános szélesség-magasság hányadosa.
B filmp konstruktor()
szélességbeállítás (4)
magasságbeállítás (3)
oszlopok száma:z 0
sorok száma:5 0
u képpontok:- üres
A film objektum használata során futás közben foglalu
nk tárhelyet a képpont vált
zóknak. Ezért az objektum meg szűnésével ezeket fel kell s zabadí
o -
tani. A destruktor
éppen ezt teszi.
u filmp destruktor()
u képpontok tömb felszabadítása
A sorok és az oszlopok számát nem állíthatjuk be külön. ban
ek oka az, hogy a
képpontoknak helyet kell foglalni a memóriában, mégpedig annyi
t, amennyi a sorok
és oszlopok számának szorzata. Ezen adatok kinyerése viszont kül On t
örténik.
o r o k ú j s z á m a í
vi m n g e r v e t ő s
ö m b ( o s z l o p o k . s z á m a , s o r
a k é p p o n t o k : ú j t
o p s z á m . l e k é r d e z é s ( ) : e g é s z s z á m
a fil m p o s z l j í
i s s z a o s z l o p o k szama
u v ) : e g é s z s z á m
s z á m á n a k , l e k é r d e z é s e (
nm f i l m e s o r o k
u v i s s z a s o r o k s z á m a d j u k
e s s ü k a m e g f e l e l ő k é p pp o n t o t á t a
l í t á s a s o r á n e g y s z e r ű e n ki k é r
A k é p p o n t b e á l z d j e n v e l e , a m i t ü l l s á s ÍgyB
t , é s r á b í z z u k , h o g y k e
r a m é t e r b e n k a p o t t s z í n
ne k i a p a
á s á n a k m ót d j á t — m é g k ö n n y e b b c s e -
l a s z t j u k a k é p p o n t o k m e g v a l ó s í
Almt ő l k ü l ö n v á
l l z i s m e g v a l ó s í t h a t ó , h a a k e l e t k e z ő k é p e t c s a k e g y
rél n i , f e j l e s z t e n i . R á a d á s u e z z e a
e m v e s z é s z r e , ő c s a k k é p p o n t o k a t á l -
nátt é r t á r o l ó r a m e n t j ü k , a k ü l v i l á g e b b ő l m i t s
ítoat be.
p p o n t . b e á l l í t á s a ( o s z l o p , S o r : e g é s z s z á m , ú js z í n : s z í n )
§ filmp ké
u k é p p o n t o k [ o s z l o p , s o r ] p b e á l l í t á s ( ú j . s z í n )
l e t k e z ő kép e t f a r g a f o r m á t u m b a n mentj ü k el. Ez s z a b v á -
ő e p
A ke m e n t é s e során a ke
ny o s t á r o l á s i m ó d s z e r , a l e g t ö b b k é p n é z ő é s - f e l d o l g o z ó p r o g r a m i s m e r i , í g y b á r m i -
iven más fo r m á t u m b a k o n v e r t á l h a t ó . A t a r g a k é p e l ő n y e a z e g y s z e r ű t á r o l á s i f o r m a
s
minden egye ké p p o n t o t kü l ö n a z o n o s í t u n k , t ö m ö r í t é s n é l k ü l ) , h á t r á n y a e b b ő l f a -
kadóan az óriási méret. A művelet 7 értékkel tér vi ss za si ke re s vé gr eh aj tá s es et én , Ú-
ral, ha valami hiba csúszott közbe.
u filme mentés (fájlnév: karakterlánc): egész szám
B változó fájl
megnyitás (fájl, fájlnév)
ha nem sikerült megnyitni, vissza 0
bájt írás (fájl, 0, 0, 2, 9 darab 0, oszlopszám, lekérdezés()
maradékos osztás 256, oszlopszám lekérdezés() / 256,
SOrOK szamának lekérdezése() maradékos osztás 256,
SOrOK szamának lekérdezése() / 256, 24, 32)
Ciklus index:- minden képpontra sorfolytonosan
s vájt irás (fájl, képpontok [index]e lekérdezés8 (3.)
u" bájt írás (fájl, képpontok [index] lekérdezés8 (2.)
a Dajt írás (fajl, képpontok (index]p lekérdezés8 (1.)
bezárás (fájl)
ú vissza1
e,

670; KÁN
P és
Cat [4 őn

7916
. a

3.3.2. Képpont irt ár ését


A 4

A képpont (pixel) modellezésénéla szín es vé pe ry ek ép ít ő -le mét v ss zü zá r é § 0 4

három, eg y vö rö s, eg y zö ld és eg y ké k ré sz bő l ál l.(24 . áb ra ) Sz em ü: ge iz is
d
A

"Vid .

használjuk ki ez által, amely erre a három színösszetevőre érzékenyős, 5


spektrumú fé ny ek ug ya na zt a sz ín ér ze te t er ed mé ny ez he ti k. Sz ám un kr a ja üg 3070

utóbbi a fontos: a színérzet. Ha egyszer bő ví te ni sz er et né nk a re nd sz er ün k tu dá sá t


és ennél több ös sz et ev őr e les z sz ük sé gü nk , eg ys ze rű en mó do sí tj uk a ké pp on t fi
tályt. Nem há ro m, ha ne m sz áz va gy eze r sz ín ös sz et ev őt ha sz ná lu nk ak ko r - egy elő re
maradjunk a legegyszerűbbnél. (Ami mégsem az, mert a legegyszerűbb a tekete-fehe,
kép lenne, de ezt azért ne m en ge dh et jü k me g ma gu nk na k. ) [72 ] [76 ]

KIZÍVIXIZÍVI
ZIMIKIZVIKI
24. ábra. Egy képpont vötös, zöld és kék összetevőkből áll

Jó, ha szemünk egyidejűleg kétszáz intenzitásszintet meg tud különböztetni. Ezért


elegendő egy színkomponenst egy bájton tárolni. (Ez 256 különböző árnyalat táro-
lására alkalmas.) Ha ennél mélyebb felbontást szeretnénk megvalósítani, egyszerűen
lecseréljük a képpont osztályt, kidobjuk az elavultat, és helyettesítjük az
újjal. De
most maradjunk még a bájt alapú szervezésnél.
Így tehát képpontunk három bájtból áll, egy vörösbő
l, egy zöldből és egy kékból,
az egyszerű kezelés és továbbfejlesztés érdeké ben
tömbbe szervezve. Ezeket illik
tudni valahogyan beállítani és lekérdezni, mel y művele
tek nem is maradnak ki a
funkciók sorából. (16. táblázat.)

16. táblázat. A képpont osztály


a színösszetevők tömbje

képpont
színösszetevő: tömb [3] bájt
beállítás (új szín: szín)
lekérdezés8 (sorszám: egész szám): bájt

GET

35 Retinán k c s a p a l a k ú i d e g s e j t j e i é r z é k e n y e k a s z í n e k r e .
A
s. ks Ű

, ;3 kő TS he ÓóJ y .

zet04
jarsz w

jedőin
pest Ezt kell kiterjeszteni a bájtta
salv a l ó s í t u n k m e g . ( 2 5 5 t ebrá m
j a z i m á l óékme
s é g é b e n , e g y etji
a d á s
tl
4[/

f e l d ü l g e e l á s eal őlt t . Í g y a h i b a n e m s z t á rgoev á ) . R á


ök h i b á t je e
e
l z h e t j ü k i
e z t a
A4.

v é n y h e z v i s s z a t é r é s i é r t é k i s t a r t o z i k ,
t ó f ü g g [/
a4 (v
V

fo g l a l k o z u n k v e l e . )
u k é p p o n t p b e á l l í t á s ( ú j s z í n : s z í n ) "8AV
-( : é LA"e
ket
0.
[/
.?
Al
NAN
3

2
ha
bÉs!
" daÉa.ak

u c i k l u s i n d e x : s 1 . , 2 . , 3 . : 2mx
fá)

e z é s e ( i n d e x ) 2 1 , a k k o r s

?2.
bj:
ul
ejKe"
a..9

u ha újszín e m r g b l e k é r d
hi6.d[e
Énav4
- tpi )4 b
.éaPsla
.
14e4"
í; 4i



9 LA
ÉS
p
ESSE
8.
feceal
ü?4

d
fi
0dH,-..a4

(index]:s 255
"?va
Ty
. §.vene 44

a h a ú j e t r g b l e k é r d e z é s e ( i n d e s
x 0
) , a k k o r . 4:
ű
(index]j:5
u haúj színe rgb lekérdezése (index): 0 és új.színbe I . E tegés
rgb. lekérdezése (index) c 1, akkor színösszetevő (indexj:- új szíen
r
rgb lekérdezése (index) - 255 Ír:ző
A lekérdezés műveletben a nyolcas szám a bájtot jelölt. (1 bájt z8 kij
Ún fog
tos, ha át kívánunk térni egy másik, például 76 bites színmélységre.
Ekkor létreho-
zunk egy lekérdezés 16 műveletet, és vagy bővítjük a színösszetevők pezagzsz
őb
vagy módosítjuk az alábbi eljárást egy os
ztással, (Így ugyan több információt n
m g
nyerünk, viszont e őrizzük a k o m patibilitást a r é g i m e g o l d ással.) A l e e
kérdezm
művelet egy egyszerű értékhatár-elle
nőrzéssel is kiegészítendő, m
vők szá1ma meglehe i v e l a z összet 4
t ősen korlátozott.
az kép
pont lekérdezés 8 (sorszám: eg
§ é s z s z á m ) : b á j t
ha sorszám c első színösszetevő? vagy sorszám :
utolsósz
akkor vissza 0
1 Vissza színös
p
szetevő [sorszám]
Í A ké Ppont Osztályt
mi nem szeretjük, mert előkerült az. 11 Jet
! valámevé,döntöttünk. Ezt va
4 lahol mindenképpen me§ gk
elet
te
8827 Így tartjuk a kapcsolatot, (A vi
1

óriába és a.
a
é.
p
é

ambi ÉS
y e n e g y s z e r ű é s k ö n n y e n m óigel sl
ki J ó l t e t t ü k , hoo g
g y y e g yi l
e g e te e r g ó á a t á n á i a
a J a k t e ga gyy e r a g r
sige t a c t n
á s a i e n n é l n t e r j e d n e k t o v á b b .
mód o s í t á s h a t
e s s z ü k a l a p u l . H g a s ér si Me.

é p é s k é n t a v a l ó s á g o t v
e z ü n k , t e h á t k i i n d u l ó l §
Mo d e l l s e m m i k é p p e n s e m a f e
z i g a z i v i l á g b a n ? M o s t dalla áz)?

igazi k é p a l é t r e . M o d e l l e z é s ü k h ö z
e z e k t ö b b n y i r e a s í k b a n j ö n n e k
go n d o l j u n k , m e r t r a f i k u s r e n d s z e r t !
n k , n e m p e d i g h á r o m d á r á e z z t ó s g
raj z o l ó p r o g t a m o t h a s z n á l n á
p a s z e m ü n k b e n , e g y f é n y k é p e z ő g é p
a n J o n l é t r e a k é
16

pontosíts u k a k é r d é s t : h o g y -

e n y
t o t t p a p í r l apon r V a l a m i l y e n f é n y é r z é k
a g y a k á r e g y n a g y í t ó l e n c s e m ö g é t a r
ben v d i g v a l a m i l y e n
á l l ö s s z e a l á t v á n y . A f o t o n o k p e
e t e t f o t o n o k b o m b á z n a k , e b b ő l
felül e g t ö r v e v a g y V Í S S Z A V E -
k ö z v e t l e n ü l v a g y k ö z v e t v e — m
fényfor r á s b ó l : n d u l n a k k i , é s
e t r e . P e r s z e á l t a l á b a n reé s z e c s k é k t ú l n y o -
n e k e r r e a f é n y é r z é k e n y f e l ü l
SANMÁB
FS rődve — k e r ü l
t t a k j u t n a k e l o d á i g , h o g y á t h a -
4,
ap
.ké
e e l k e r ü lti a e f
z e l ü l e t e t . C s a k a k i v á l a s z t o
mó t ö b b s é g y s ö t é t k a m -
a f é n y é r z é k e n y f e l ü l e t ( r e t i n a , f i l m ) e g
ladjan a k e g y a p r ó n y í l á s o n . M e r t
a t ó e g y a p r ó c s k a l y u k k a l s z e m b e n . ( 3 . 3 . ) Í g y c s a k
rában (s z e m ü r e g , k a m e r a ) t a l á l h
k é n y s u g a r a k — h a m i n d e n i r á n y b ó l j ö n n é n e k , a n n a k n e m
adot t i r á n y b ó l é r k e z n e f
a . o l j u n k a r r a , a m i k o r k i n y i t u n k e g y f é n y k é p e z ő g é p e t .
lenne info r m á c i ó t a r t a l m ( G o n d
ú s a r c u n k , a f i l m t ö n k r e m e g y : f é n y é r i m i n d e n f e l ő l ,
Ahe l y e t t , h o g y r ö g z ü l n e b o s s z
mé g s e m l e s z r a j t a s e m m t . )

ténvtorrás

tolta sert haszn o s f é n y s u g á r

;Öér.l fén y é r z é k e n y
felület
képalkotást nem befo-
lyásoló fénysugár

25. ábra. Ké ú n y s u g á r v e s z r é s z t b e n n e
abra, Képalko t á s a v a l ó s á g b a n . C s a k k e v é s f é

A valé s
h á t a k é p
s
a l k o t á
§
s e l s ő l é p é s e a f é n y f o r r á s . I n n e n i n d u l n a k k i a f é n y -
tétet: hgy te
a z t á n k ö z v e t l e n ü l v a g y t ö b b s z ö r m e g t ö r v e , v i s s z a v e r ő d v e e g y e l e -
nyésaz á, GY
közöt ezt t e n z t ü l k a l á d í t á e g y e l m é l e t i l e g k i t e r j e d é s n é l k ü l i n y í l á s o n . E z e k
, ame l y e k e g y b i z o n y o s n é z e t i i r á n y h o z k é p e s t k e d v e z ő s z ö g b e n é r k e z n e k ,
filmszemcsé1). (25. ábra) [/] kn 5 5 58a átása
Kezdiük el leképezni a va ló sá go t a mi új vi lá gu nk ba ! V a n n a ka fé ny fo rr ág gk
lyekből elméletileg végtelen fénysugár indul ki. Ezeket könnyen mode leztéúkk16
gyon so k fé le gy en es se l, hi sz en a fo to no k eg ye ne s vo na lo n te rj ed ne k. 37 B fé le gy e.
sekkel aztán né gy do lo g tö rt én he t: lö;
1. Eltűnnek a se m m i b e . A v é g t e l e n s é g i g h a l a d n a k , a z u n a l o m t ó l m a j d n e m m e g .
őrülve.
2. Eltalálnak egy minde n t e l n y e l ő f e k e t e a l a k z a t o t , m a j d e l h a l á l o z n a k . ( A va ló .
ságban az energiamegmat a d á s el ve m i a t t p é l d á u l h ő e n e r g i á v á al ak ul na k. M i
ettől nyugodtan e l v o n a t k o z t a t h a t u n k . )
3. Elérnek egy általános ala k z a t h o z . It t e g y r é s z ü k m e g t ö r i k , e g y v i s s z a v e r ő d i k , a
m a r a d é k p e d i g e l n y e l ő d i k . M i n d e n k é p p e n szétszóródnak, és meggyengülve
bár, de megú j u l t i r á n y b a n f o l y t a t j á k ú t j u k a t — m i n t h a ú j a b b f é n y s u g a r a k , fé l.
egyenesek lennének. Va g y i s az e g é s z e t k e z d h e t j ü k el öl rő l.
4. Elétik a fényérzékeny fel üle tet . A fé ny fo rt ás ok bó l ku nd ul ó fé ny su ga ra k ele -
nyésző töredéke részesülhet ebben az örömben. Azok is a harc (ütközések,
törések) folyamán jelentősen meggyengülhetnek. Persze előfordulhat, hogy
közvetlenül, teljes energiával jutnak célba. (A nap és a szem esetében ez jelen-
tős látáskárosulással járhat.)
Említettük, hogy a végtelen számú félegyenest nagyon sokkal közelítjük. Legyen ez a
nagyon sok mondjuk száz, és kezdjünk el számolgatni. Legyen a terünk zárt, benne
egy fényforrás. A valóságban így elméletileg végtelen visszaverődéssel kellene szá-
molnunk, tökéletes tükör azonban nincs, mindig elnyelődik a sugarak egy tésze.
A visszaverődések, törések során újabb télegyeneseket húzunk, amelyek a VÍSSZEVEEE
illetve megtört fénysugár útját jelképezik. Ennek darabszáma ütközésenként megint
legyen száz. Összesen öt ütközést vizsgáljunk, hiszen addigra általában már teljesen

Ez rengeteg. Ha ennyire pontosan akarnánk utánozni a val óságot, egyszerű


en
nem lenne időnk kivárni, amíg egy kép elkészül. És egy ilyen ké
is alig állna néhány
kép p tból — azokból, , amelye
képpon kne k sike rült átju tni
amelyeknek sikerült átjutni Bt
az apertúrán. a képfe
lfogó kamrá-
ján lévő nyíláson. Persze lehet egy kicsit csalni, Járást például úgy, módosítani ús el
hogy minden egyes visszaverődésnél-törésnél ellenőrizzük; : lesz-e
ennek valamilyen
hatása a fényérzékelőre. Van 1s ilyen algoritmus, a neve: fénykövetés,
[42]
Bár a valóságh oz ez ál l le gk öz el eb b, mi mé gi s má s módszert válasz
tunk a képal-
kotáshoz. Egyszerűbbet és gy or sa bb at , ha bá r el vi le g mindig az Ésszerű
ségre kellene

57 Bz c s a k h o m o g é n k ö z e g r e i g a z , é s o t t i s c s á k k ö z e l í t é s s e l , m e r t n a g y t ö m e g ű
Nap) mellett je l e n t ő s e n m e g g ő r b ü l n e k . B á r a z á l t a l á n o s r e l a t í v í t á s e l m i é l e s " 8 9 t e s t e k ( p é l d á u l a
a d n a k e g y e n e s e k . t s z e r i n t i t t a t é r g ö r -
bül, a fén y s u g a r a k p e d i g m a r
n d t e h á t , h a a v a l ó s á g t ó l k i s s é e i r u g a s
fény j e l e n s é g e k t ö k é l e t e s u t á n z ö z e l í t s ü k m e
szítés e , n e m p e d i g j ;
l ! V i z s g á l j u k m e g a z a d o t t k é p e l e m e i t ( k é p p o n t , s z e m c s e ,
az elkész í t e n d ő k é p f e l ő
p o n t j á n ) k e r e s z t ü lk i a v i l g -
a k a m e r á n k n y í l á s á n ( t ó k u s z
mi n d e n e g y e s k é p p o n t b ó l
g e g y e t e m e t , h o g y ez av i z s g á l ó s u g á r m i -
n s é g b e , É s k é r d e z z ü k m e g a n a g y v i l á
minde e t é s . [ 3 9 ] [ 4 6 ]
mó d
. s
A z e r n e v e : s u g á r k ö v
l y e n f é n y s u g á r r a l h a l a d s z e m b e
z i m p l a p á r b e s z é d a k a m e r a é s a v i l á g k ö z ö t t .
A k é p a l k o t á s e l s ő m e g k ö z e l í t é s b e n s
l á g k ö z ö t t , h i s z e n m i n d k e t t ő b ő l t ö b b i s l e h e t . ) A z
(Helye s e b b e n : e g y k a m e r a é s e g y v i
y s z í n k é p p e l v á l a s z o l . M egad j a a n n a k
s u g a r a t k é r d e z , m í g a z u t ó b b i e r t e e g
előbbi eg y a d . ( 2 6 . á b r a . )
m e l y e z z e l a v izsg á l ó s u g á t r a l s z e m b e h a l
a fénysug á r n a k a s z í n é t ,

kamera

26. ábra. A kép a l k o t á s al ap ja : k o m m u n i k á c i ó a k a m e r a és a vi lá g k ö z ö t t

A világ alakzatokat és fényforrásokat tartal ma z. (8 .2 4 Ön ma gá ba n ne m tu d mi t


mágrútÉve vizs gá ló su gá rr al , íg y el ke zd to vá bb vi zs gá ló dn i. Po nt sz er ű fé ny -
vsak gi zb aá k a sz ó 6. 1. at tó l az es et tő l el te ki nt he tü nk , ho gy a vi zs gá ló su gá r eg y
9 NYOS ágs em ég sz e sz em be n ma gá t. Te rm és ze te se n ez sz ig or ú me gk öt és ,
dödkázssi Derg za 1S tű nh et , hi sz en pé ld áu l eg y er ős fé ny ű lá mp át is le le he t
Cr zééne sé sd eg e ő és sz et ű, me rt fé ny es sé ge el ay on áj a a kö rn ye ze té t, de le le le t. H a
é e s ő a :f ég yt ős es kö ré ma jd eg y er ős vi ss za ve rő tu la j-
donságokkal b r ieg éz ém
sa s é el ke ző al ak za to t (l ám pa bu rá t) ke ll sz er ke sz te nü nk .
si e Reál egye s a l a k z a t n a k el kü ld i u g y a n a z t a vi zs gá ló su ga ra t, a m i ta
ak ar . M i v e l a vi lá g, a f é n y f o r r á s o k és az al ak za -
tok nk vetejk ; f i 59 8 ve le , am it
Bát, így-a fényfo e t e s s e . r e n d s z e r t al ko tn ak , a v i z s g á l ó s u g á r h o z me ll ék el i sa já t m a -
ezt a ke vessl g e e l a t 7 n á t h a az a l a k z a t o k n a k s z ü k s é g ü k le sz rá ju k. A z al ak za to k

"89 való s s z á m o t is e r e t e t 1 K á r o s t é s i s n k é g e Ú j ;v á l a s z a d á s h a n e m 3 9 8 8
v é n e k . E z m é g á d j a a su gá r k i i n d u l ó p o n t j á n a k és az a d o t t
alakzattal va ló me ts zé
spontjának a táv o l s á g á t . ( 2 7 . á b r a . ) A v i l á g e z t a r r a h a s z n a a j a
pb1145szi z t b ó e
t y
ő e t t t s á s :m i H a i

vekbidás"gt te vs e rá kte zé pá ge z má sa éE KE EN vé gi
ő
a p- —me— Esz et a b a Si
(BŐL T 6.

HET úg.

27. ábra. Tov á b b i v i z s g á l ó d á s : p á r b e s z é d a v i l á g o n b e l ü l

A kommunikác ió t fü gg vé ny hí vá so kk al és vi ss za té ré se kk el va ló sí tj uk me g. Sa jn os a
többértékű függvény ek et a pr og ra mo zá si ny el ve k ál ta lá ba n n e m tá mo ga tj ák , ho lo tt
itt rö gt ön eg y ké tv ál to zó s (v iz gg ál ós ug ár , vi lá g) és ké té rt ék ű (z áv ol rá g, sz ín ) ke ll en e.
A sugár eljutott az alakzatokhoz, ahon na n vé gi gs za la d a ré sz al ak za to k hi er ar ch iá -
ján egészen addig, amíg egy megjeleníthető al ak za th oz ne m ér. Ítt az tá n me gt ör th et ,
visszaverődhet, szétszóródhat éppen úg y, mi nt eg y fé ny ny al áb . Íg y — a mo de ll ez és
mélységétől függően — újabb vizsgálósugarak indulhatnak ki a döféspontból, számuk
elméletileg végtelen. (Gyakorlatilag kotlátozásokkal élünk. A legegyszerűbb esetben
például nem lesz egy sem.) Ez a tekurzív sugárkövetés. [24] [62]
Az alakzat tehát valahogy meghatározza azt a színt, amely a vizsgálósugár döfés-
pontjában rajta látható, és visszajuttatja oda, ahonnan a kérés érkezett. (A kametá-
hoz, a világhoz vagy a hierarchiában felette elhelyezkedő alakzathoz. ) A sugárköveté-
ses képalkotásnak röviden ez a lényege. [3] [26] [29] [35] [47]

4.1. Kommunikációs osztályok


A képalkotás kommunikációjában sugarakkal kérdezünk és színeket kapunk rá vála-
szul. (26. ábra) Mindkét dolgot egy-egy objektumosztályként valósítjuk meg. Ezek az
objektumok nem kézzelfoghatóakúgy, mint a kamera, az alakzatok Vagy a fényforrások.
Csupán a párbeszédben segédkeznek, egységbe zárnak bizonyos adatokat. (Ezeket akár
ke
külön is zelhetnénk, íg y az on ba n jo bb an il le sz ke dn ek a re nd szerünkbe,)

3 S e m a P a s c a l , s e m a C t t .
u g a t a t k é t v e k t o t h a t á r o z z a m e g
28. á b r a . A s

é n y e k p e d i a
g z e l é r é s ü k . F e l é p í t é s e
h á t e z a k é t v e k t o r l e s z , a t a g f ü g g v
Az ad a t t a g t e
e.
éRVL
temet!
bt
er
-

i l á g k ö z t i k o m m u n i k á c i ó r a t ö k é l e t e s e n a l -
n e m t ú l b o n y o l u l t , a k a m e r a é s a v
tényleg g k ö z ö t t — 1 7 . t á b l á z a t . )
s s z a v e t é s n é l , r ö r é s n é l a z a l a k z a t é s a v i l á
k a l m a s . ( I l l e t v e f é n y v i e t l e n
u t i n f e l a d a t , t u l a j d o n k é p p e n c s a k 2 k ö z v
A ta g f ü g g v é n y e k d e k l a r á c i ó j a r
t s z ő l e g e s e n m ó d o s í thatja az a d a t t a :
s t i l a l m a m i a t t s z ü k s é g e s . A k ü l v i l á g t e
adate l é r é
go k a t , é r t é k h a t á r - e l l e n ő r z é s t n e m v é g z ü n k .

17. táb l á z a t . A s u g á r o s z t á l y e g y s z e r ű f e l é p í t é s e

sugár
kiin d u l ó p o n t : v e k t o r he
irany: vektor ERESY
kiindulópont. b e á l l í t á s a ( ú j .p o n t : v e k t o r ) A
kiin d u l ó p o n t , l e k é r d e z é s e ( ) : v e k t o r 3
i r á n y b e á l l í t á s a ( ú j , i r á n y : v e k t o r )
irány lek é r d e z é s e ( ) : v e k t o r
egyenlő (más i k : s u g á r ) : l o g i k a i

" sugárp. kiindulópont, beállítása (új. pont: vektor)


, " Kindulópontb értékadás (új.pont) 67.
sugárb kiindulópont lekérdezéseí): vektor
B vissza kiindulópont
s ; az Es 2 TEN egi
788 MEGSE ú .

at

a a et

Me a Aa
az

r d e z é s e ( ) : v e k t o r - sz ar t v á g á s t
W sugárp i r á n y . l e k é
a i r á n y úz E. K él
Wii v i s s z
m ű v e l e t t o v á b b b o n t j a a k é r d é s t a z a d a t t a g o k , t
a sa §
e g
Az yenlőség e l d ö n t ése
szintjére. (Ez a műve l e t p é l d á u l az o p t i m a l i z á l á s n á l sz ük sé ge s, h o g y ne sz ám ol ju nk
kétszer ugyan a z z a l a vi zs gá ló su gá rt al , h a n e m h a s z n á l j u k a k o r á b b i er ed mé ny ek et
cgi ZA
it3 e e g y e n l ő (m ás ik : su gá r) : lo gi ka i
u viss za k i i n d u l ó p o n t l e k é r d e z é s e ( ) p : e g y e n l ő ( m á s i k p
kiindulópont. lekérdezése() és ) i r á n y . l e k é r d e z é s e ( ) e e g y e n l ő (m ás ik b
irány lekérdezése())

18. táblázat. Tran sz fo rm ác ió ki eg és zí té se a su gá rr al

transzformáció

sugár átalakítása (átalakítandó: sugár): sugár


sugár inverz átalakítása (átalakítandó: sugár): sugár

A sugarat állandóan transzformálni fogjuk (4.2.4., 4.2.7., 4.3.), ezért célszerű a transz-
formációs osztályt (2.5.) az oda-vissza átalakítással kiegészíteni. (18. táblázat.) Az
inverz átalakítást használjuk majd a belépéskor, az alakzathierarchián történő lefelé
vándorláskor, a rendes átalakítást pedig az új vizsgálósugár indításakor. (Ezt csak
visszaverődésnél, törésnél. 4.3.4.)
A sugár átalakítása a kiinduló- és végpontjának tranaszformációja. Mivel nem
rendelkezik végponttal, hanem iránnyal, ezért azt is ki kell számolni.
m transzformációs sugár. átalakítása (átalakítandó: sugár): Sugár
mM változó ideiglenes: sugár
vektor kezdőpont
vektor végpont
kezdőpontb beállítás (átalakítandóp kezdőpont. lekérdezése())
végpontb beállítás (kezdőpontb összeadás (átalakítandóp
irány lekérdezése()))
kezdőpontp beállítás (vektor. átalakítás (kezdőpont))
végpontp beállítás (vektor átalakítás (végpont))
ideiglenesp irány. beállítása (végpontb- kivonás (kezdőpont))
ideiglenesm kezdőpont. beállítása (kezdőpont)
vissza ideiglenes
Ét dsáég i

KAL Ő sw ete
köss ab?"a azrt
e. úgyiIZEi L ÉZEE .

jatssza vér udék VERERET TÉS : S AGY


sugár ;
j: é t é , A k d o ő Dpa iAsh a a
s kadá aj J A J A E s edi
ette er al
de kádi 4 6 ag é c." an

i jatad s a t á s t s á s P . s

J A r é s :

e
get s

mb e t
n
o n t m ö s s z e n d á A
s t
beá l l í t á5 s e z d ő p

új k

irány!

g p o n t p
p
b e á
b
l
e
l
á
í
l
t
l
á
í
s
t á
(
;
s
v
(
e
v
k t
e k
o r
t o
t
r
a
i
n
n
a
v e r
A
á
z t
T g e v e n
e
e
z d
e
ő p
s
o n
a
z ő ve §
ua "§e

k.
N

pe
as

-
i
di 1

dák
j

/A
aj

n á s ( k
"

p - i v o
kJ

o n t k
hi

á l l í t á s a ( v é g p
"aj

y e
4

b
ép

n
d

s p i r á
1

e
[a ki
Mia

sp deigilen
"A

ESZA
sv. Fotár ) pa
és
del: a

k e z d ő p o n t . b e á l l í t á s a ( k e z d ő p o n t )
7 áry e s é z z t b k é r ő Éj
i g l e n e s VER
u vissza i d e

4 . 1 . 2 . S z í n
A szín a képalkotás folyamatában annak az elejétől a v é g é i g r é s z t V e s z .
A fényforrásoknak jell e g z e t e s s z í n k é p ü k v a n , a z a l a k z a t o k n a k v a l a m i l y e n s z í n ü k , v é -
xü1laaképpon t o k a t i s v a l a h o g y a n b e k e l l f e s t e n i . N i n c s e z e n m i t c s o d á l k o z n i , j r t s ű
Kazépek képal k o t á s a s z í n e k r ő l s z ó l . S z e m ü n k i s s z í n e k e t l á t , s z í n e s ké pp o
amelyeket a z a g y u n k r a k ö s s z e f o r m á k k á , ö s s z e f ü g g ő v o n a l a k k á . ( E r r e a h:
nyos számítógé p e k c s a k k o r l á t o z o t t a n k é p e s e k . )
A szín meghatáro zás a érd eke s fiz iol ógi ai pro blé ma. Val ójá ban a fén yrő l, az ele kt-
romágneses sugarak látható tartományáról beszélünk. Tetszőleges fény közelíthető a
szivárvány néhány színének súlyozott összegével. Minél több szivárványszínt ve-
szünk, annál jobban közelíthető, végtelen esetén pontosan előállítható. (A prizma
ennek fordítottját hajtja v égre. Bármilyen fényt szivárványszín-összetevőire bont.)
A színek összeadása tulajdonképpen hullámok összeadása. Gondoljunk arra, ami-
kor köveket dobálunk e:gy tócsába. Egy kő esetében szép szabályos hullámok kelet-
keznek, feltéve, hogy sima volt a víz. De ha belezúdítunk tíz-húsz kavicsot, lehetőleg
egyenletesen elszórva, akkor az elég zavaros felszínt eredményez. Meglepő talán, de
1 igyanilyen szép szabályos hullámok összegzéseként jön létre. (Hol erősítik, hol
oltják egymást, teljesen véletlenszerűnek tűnő hatással.)
yis.vávk
Is érkeztünk a célunkhoz, most már látjuk, a szín fogalmát miért a fizi-

tók eténől közelítettük m e g , A s z a b á l y o s h u l l á m o k u g y a n i s k ö n n y e n j e l l e m e z h e -


s z
bességet sg két ámmal l e í r h a t ó k : a m p l i t ú d ó v a l é s h u l l á m h o s s z a l . ( A t e r j e d é s i s e .
ait kes, andónak vesszük. 39) Számok, és nekünk most ezek kellenek. Mert ugyan 3
:zdenénk egy ilyenfajta leírással: olyan szép, telt kék, világos, kellazazazátját
elképzel Ni
ugyan könnyebb, de egy számítógépnek elmagyaráznir)
mal
j e
1 és Te: v

pé 98 w8 ?
e ENNE BŐ
MEZ etsezee

d
Pélidául azt üvegben
ő
eltérő a szivárványszínek sebessége
— ez az ÖSSZEtEVI
a n n á l p o n t o s a b b a n k ö z e l í t h e n i
td

minél több e t v e s z ü n k ,
"szi " "A a.
A 8. fe . 7? ks

. a ő d 98 Aa §., v
a ő t y ! h.. S v
j tg A hadi
d an V §
As 5 fenn, aTz ei .

ná" d - . j

4
e A k €

j a
a a H iz s u n k b o n y o l u l t f i z i k a i f e l h a s z n á l á s , és muszáj, hógy a színek a a
Mát az.
Ó

m e g , a k k o r i t t m e g i s á l l u n k . Ak é s ő b b i m e g v a l ó s í ,
valósághűbben j e l e n j e n e k
u d j u k , h o g y a k é p e m b e r e k n e zül
k k ,
é t
s e : v é g i
bízzuk az ö s s z e t e v ő k s z á m á t . D e h a t
s e k k e l é l h e t ü n k . erat özéjéeg vé FŐ ;
eg y s z e r ű s í t é
Az ember s z e m e i g e n p r i m i t í v : O s s z e s e n h á t o m Ö S S Z E H G V E E E é r z é k e n y , a v ö r ö s , a
a k é k s z i v á r v á n y s z í n r e . Á l t a l á b a n a z e g é s z s z í n t e c h n i k a e r r e a g y e n g e s é g ü n k .
zöld é s
re é p ü l . E z é r t h á r o m a z a d d i t í v a l a p s z í n e k s z á r n a ( a k é p c s ö v e k b e n a v ö r ö s , z ö l d é s
c h n i k á b a n i s e z é r t h a s z n á l n a k c s a k n é g y a l a p s z í n t . ( A s z u b t r a k t í v
k é k ) , é s a n y o m d a t e
s z í n e i n e k s z á m a v a l ó j á b a n h á r o m — c i á n k é k , s á r g a , b í b o r ; a n e g y e d i k
színkeverés alap
— feke t e — c s a k t e c h n i k a i o k o k b ó l s z e r e p e l , h i s z e n a c i á n k é k , a s á r g a é s a b í b o r ö s z -
szekev e r é s é v e l e l v i l e g é p p e n a f e k e t é t k a p j u k . )
e g f o n t o l á s o k b ó l m i i s a z a d d i t í v a l a p s z í n e k e t h a s z n á l j u k , d e m e g -
Gyakorlati m
ha g y j u k a l e h e t ő s é g e t a z e s e t l e g e s t o v á b b t e j l e s z t é s r e . A s z í n o s z t á l y t a v e k t o r b ó l
szá r m a z t a t j u k , í g y l e h e t p é l d á u l s k a l á r r a l s z o r o z n i , a m i i g e n h a s z n o s a z á r n y a l á s n á l .
(4.3.2.)) A színöss z e t e v ő k i n t e n z i t á s á t e g y [ 0 ; 1 ] v a l ó s s z á m i n t e r v a l l u m m a l j e l l e m e z -
zük, nulla a l e g s ö t é t e b b , e g y a l e g v i l á g o s a b b . E l m é l e t i l e g u g y a n a s z í n i n t e n z t t á s a k á r
végtelen is lehet, azonban a különböző eszközök vagy k o r l á t o z o t t a k ( k é p e r n y ő ,
nyomtató ) , y
vag t ö n k r e r n e n n e k ( f i l m , r e t i n a ) . E z e n k o r l á t o z á s m i a t t f e l ü l d e f i n i á l j u k a
vek t o r t ó l ö r ö k ö l t k o o r d i n á t a l e k é r d e z ő f ü g g v é n y t . M e g v a l ó s í t u n k e g y R G B " l e k é r d e -
ző és egy maszkoló funkciót is. (19. táblázat.) [12] [50] [78]

19. táblázat. A szín osztály

szín: vektor

konstruktor( )
koordinátalekérdezés (sorszám: egész szám): valós szám
rgb. lekérdezés (összetevő: egész szám): valós szám
maszkolás (másik: szín): szín d

A konstruktor inicializálja az összetevők dimenzióját, Megállapodásunk szerint ez


három. (Ettől a szín még nem lesz térvektor, habár értelmezhető rá az összeadás
művelet.) Később ezt a dimenzióértéket módosíthatjuk, ha finornabb felbontású szí-

setME OTET TETETŰ

A
tatar E ( a ,

elvé g e z é g y S E T E R T E R E T B Á S É R S Z M B A nt e n n y i k
- o
Az új e t r e gvény kc
á Ö v . n e m e s i k b e l e a [ 0 5 1 ]i
ben a kér d e z e t t n tmé n v
a d j u k v i s s z a . ( P é l d á u l — 5 c s e t é n 6 ;3 e s e
legközel e b b e s ő s z é l s ő é r t é k e t
ó l ö r ö k ö l t l e k é r d e z ő f u n k c i ó t h a :
vé n y b e l s e j é b e n a v e k t o r t
r s z á m : e g é s z , s z á m ) : v a l ó s S d É t A
mu s z í n p k o o r d i n á t a l e k é r d e z é s ( s o
d i n á t a l e k é r d e z é s ( s o r s z á m ) c 0 , a k k o r v i s s z a 0
u ha v e k t o r p k o o r
l e k é r d e z é s ( s o r s z á m ) ? 1 , a k k o r v i s s z a 1
u ha v e k t o r p k o o r d i n á t a
p k o o r d i n á t a l e k é r d e z é s ( s o r s z á m )
u viss z a v e k t o r
e k é r d e z é s e e g y s z e r ű , h a h á r o m k o m p o n e n -
Az R G B ( s ö r ö s , z ö l d , k é k ) ö s s z e t e v ő l
ő l e g e s e n b ő v í t h e t ,
k f
j ü i n o m í t h a t j u k a s p e k t r u -
sünk van. (A l a p e s e t . ) A z o n b a n t e t s z
P é l d á u l a s z i v á r v á n y h a t f ő s z í n é t : v ö r ö s , n a -
mot. több a l a p s z í n t 1 5 h a s z n á l h a t u n k . (
z á m a k e v e s e b b i s l e h e t , p é l d á u l e g y , f e -
r g a , z ö l d , k é k , i b o l y a . ) É s a s z í n e k s
rancs, sá
á l k e v e s e b b ö s s z e t e v ő e s e t é n a z e l s ő s z á m í t . )
kete-fe h é r m ó d b a n . ( H á r o m n
ö z ö t t v a l a h o g y k o n v e r t á l n i k e l l . F e l t é t e l e z h e t j ü k , h o g y
A kül ö n b ö z ő f e l b o n t á s o k k
d i k l e a s z i v á r v á n y s z í n e k e t , a v ö r ö s , n a r a n c s , s á r g a ,
a k
komponense e g y e n l e t e s e n f e
n d b e n . E k k o r a k o n v e r t á l á s h o z f e l o s z t j u k a z ö s s z e t e v ő k e t h á -
zöld, kék, ib o l y a s o r r e
a g o l j u k ő k e t . ( B o n y o l u l t a b b é s v a l ó s z e r ű b b e s e t b e n e z e n á t l a g o -
rom rés z r e , m a j d á t l
y e e m f e l t é t l e n ü l k o n s t a n s . ) A Z R G B k o m p o n e n s e k s o r r e n d j e i s k ö -
lás súly f ü g g v é n n
l s ó , s z á m u k t e r m é s z e t e s e n k o r l á t o z o t t , m e l y e t e l l e n ő r -
tött: v ö r ö s a z e l s ő . k é k a z u t o
zunk 18 a run e le je (1.

4) zí
71 n p r g b l e k é r d e z é s e ( ö s s z e t e v ő : e g é s z s z a m ) : v a l ó s s z á m
"u ha összet e v ő c 1 . v a g y ö s s z e t e v ő : 3 . , a k k o r v i s s z a 0
a valtozo átlag: valós szám- 0
u ha dimenziól e k é r d e z é s ( ) z s 3 , a k k o r v i s s z a k o o r d i n á t a l e k é r d e z é s
(összetevő)
ha dimenziólekérdez é s ( ) a
c 3, akkor vissz ko o r d i n á t a l e k é r d e z é s
telső összetevő")
ciklus index: : a vektor összetevő sorszámú harmadának dimenzióira:
a t l a g : : a t l a g : k o o r d i n á t a l e k é r d e z é s ( i n d e x )
gi. atlag: átlag / (dim e n z i ó l e k é r d e z é s ( ) / 3)
-
színösszetevő
a
előtt még ellenőrizzük, korlátos-e. Ha
d.
hogy a kiszámolt
,
vi
a
Szat c gs m : 64

ú. a a m CSI
e g e n g e d e t t ( 0 kösél
; 1 ] t a r t o m á n y o n , b e l e k é n y s z e r í t j ü k a b b a .
a atlagc 0, akkor vissza 0
NE
m
etees iz
éje ászt
tstlságű

i
tt i
" egy szám. rcttéékke Ctt környezetben nulla, Pascalban a törmbindexeléstől függ
48

É
[a e é a ő

aA

"lt
Vt ur ú

. :§ 5

ad at t mudj
RA ! Te ?t úri
(s a v rdl 4 AZ
Í
á z
14 md
s é k
él
sss
, hb f

n é s n e m a ve
i

z í
7

a s
§

m á r
8

saérték l e k é r d e z é s é n é l
mok a
I üzkáatzláatgloalgáos t , st, azaz értéknek
CILCAUE n u l l a é s
nullae g y k ö k
z
es egy eél l e s n i e
OZE., í g y u
a i . . . §
omEkeg)
. CrS : f e
24
ks)
m y A
AV
Hl
a
ún
s
d
t a
A
O R E
vi át
pi 1 9-0 8

. g i
rést n e m k e l l e l l e n ő r i z n i
k é t s z í n k o m p o n e n s e i t . E z t a k k o r h a s z n á l i u k ,. .:
§ A m a s z k o l á s ö s s z e s z o r o z z a
kor egy a d o t t s z í n ű ( p é l d á u l s á r g a ) l á m p a e g y a d o t t s z í n ű ( p é l d á u l k é k ) f e l ü l e t e t a .
a
z n i a k e l e t k e z ő s z í n t . ( E s e t ü n k b e n f e k e t e , f ü g e
AR gít meg, é s s z e r e t n é n k m e g h a t á r o
e k e t . ) ő k r e
f e l ü l e t e l n y e l i a v ö r ö s é s z ö l d k o m p o n e n s
ú kék ma) nem e g y e z i k ,
, h a a s z í n e k d i m e n z i ó j a (kompo n e n s s z á
Ig e n ö s s z e t e t t a f e l a d a t
a l e h e t a z R G B összetevők r e á t a l a k í t ó f ü g g v é n y .
Ekkor kon v e r t á l n i k e l l , a m i n e k a l a p j
k m e g , a m i k o r a bemenő p a r a m é t e r e k d i m e n z i ó j a
Mi a fe l a d a t o t a r r a a z e s e t r e o l d j u
m i n d e n k é p p e n három szí n ö s s z e t e v ő t t a r t a l m a z ,
lényegte l e n , d e a v i s s z a t é r é s i é r t é k
(Vöröset , z ö l d e t é s k é k e t . )
um sz í n p m a s z k o l á s ( m á s i k : s z í n ) : s z í n
w v á l t o z ó i d e i g l e n e s : s z í n
um ideiglen e s p d i m e n z i ó b e á l l í t á s ( 3 )
s p k o o r d i n á t a b e á l l í t á s ( 1 2 r g b l e k é r d e z é s e ( 1 . ) : m á s i k p
u i d e i g l e n e
rab lekér d e z é s e ( 1 . ) )
u ideiglene s b - k o o r d i n á t a b e á l l í t á s ( 2 . , r g b . l e k é r d e z é s e ( 2 . ) - m á s i k p
rgb lekér d e z é s e ( 2 . ) )
d e i g l e n e s p k o o r d i n á t a b e á l l í t á s ( 3 . , r g b . l e k é r d e z é s e ( 3 . ) : m á s i k p
NM i
rgb l e k é r d e z é s e ( 3 . ) )
W vissza ideiglenes

4.2. A z o b j e k t u m o s z t á l y o k s z e r e p e a
kép a l k o t á s b a n
A v i l á g m i n d e n s é g el em ei t m o s t a k é p a l k o t á s b a n be tö lt öt t s z e r e p ü k a l a p j á n vi zs gá lj uk
s z e m p o n t o k sz er in t) . T u d j u k , h o g y a m o d e l l t e r ü n k ép ít ő-
(a működési, din a m i k u s
elemei a fényforrások (3.1 .) , az a l a k z a t o k (3 .2 .) és a k a m e r á k (3 .3 .) , m e l y e k kö zü l
b o n t h a t ó . E z e k v a l a m i l y e n — p é l d á u l ta a k e 2
több is t o v á b b i a l k o t ó r é s z e k r e
a m i k o r nem c s i n á l n a k s e m m i t , és m e g i n t m á s re lá a j ó
kapcsolatban ál ln ak e g y m á s s a l ,
rá ju k, a m i k o r k é p e t al ko tn ak . új
jellemző

e m e z t
ó s í t á s b a n e g é s z s z á m o k . A z e l s ő s o r s z á m é r t é k tat
4 A sor s z á m o k a m e g v a l n m i n d i g Ű ,
é k e C t t - b a
Pasc a l b a n b e á l l í t h a t ó .
AL BAg 9289 "7 VAA
d) a, gat AZ tg sk al v2 28gi sas ő [4 0. : j ú
ni

LAN ak A ő "4 ? hane :


JÓLÉT Sá a ALA
44 44" a 8. k ! e I

pal ÁK VÁRÁagT
y tZeayaböse der 41988
ed ? MM 4 ks ú) ml td lala a matt ide 1
4
e ői . 2 PA
ta 2 a sszásd ad: he metdlái a

xv máz ágő
a A . 9] . ;
3 4

. Fa A d § .
. a fi .
a rt c bh I 04, i Í
1 a vi w s €6 A ly : kJ ta kj

1) , e dl ul
a

— ien fe E
"4 "J

29. ábra. A képalkotás folyamata, Kommunikáció az osztályok között —


A kamera aztán egy világot fényképez, egy világtól kérdezi az adott irányból érkező
tény színét. A világ ezt a kérdést — kicsit kiegészítve — az általa tartalmazott alakza-
toknak adja tovább. Itt több út kínálkozik, egyszerűbb esetben az alakzatok rögtön
válaszolnak, általánosan pedig még eljátszadoznak a kérdéssel egy ideig (elvileg ez
végtelen), majd a fényforrásokat ís bevonva megalkotják a választ. (29. ábra.)
-
Minden osztálynak tehát megvan a saját szerepe, a saját feladata a képalkotásban.
Bt tüggvényhívásokkal valósítjuk meg. Az ilyen függvény a kommunikációban a.
kérdezett szerepkört betöltőhöz tartozik. Így a kommunikációt éppen úgy bonthat
luk részeire, mint a mindenséget alkotóelemeire. EN E ag vé
- a / ii.
tg

eg
"
.
"A
a.
1
§
1 a AGSZ SENATTVAa ;
t. a aő
- . T"t

§ ze A s 2 ez . é : e
, AA B
1 ee 5? És d
TA
" 4
De
p rá
majd. 4 S. s Ji X i j
ze i2
LA

n t a l;á,l h a t ó m iAn d e n t
e b
g e
y ;
e )
sk2 4
é 8
p . és
Ez a lefé n y k é p e z é s m ű v e l e t t ö b b l é p c s ő s . A f i l m e fd

ente .
anm

s u g a r a t i n d í t u n k a k a m e r a e l e j é n t a l á l h a t ó n y í l á s o n á t , a m e l y
pontbó l v i z s g á l ó
wT we

t . B z e .
Mé",

f ó k u s z p o n t n a k i s , h i s z e n a f é n y s u g a r a k i t t k e r e s z t e z i k e g y m á s
vezhetünk akár gnak,
l á
e g y e n k é n t á t a d j u k a k a m e r a á l t a l m e g f i g y e l t v i
ket a v í z s g á l ó s u g a r a k a t a z t á n
n t v á r v a . e r ő t
TTEFODS
SG
v á l a s z u l e g y s z í d j u k , h o g y
"hé
r

n k , v a g y i s k é t e g y m á s b a á g y a z o t t a t , h i s z e n t u
Ehhe z e g y c i k l u s t g e n e r á l u /Es
ész
eto,
p s z e r i n t i v é g i g p á s z t á z á s á t í g y
al

z l o
.s

—-—
0
——

a f i l m ü n k t é g l a l a p a l a k ú . ( A k é p p o n t o k s o r é s o s (a é

) z i n d e x v á l t o z ó k v e k t o r o k l e s z n e k . N ö v e k m é n y e b e l s ő c i k l u s -
célsz e r ű m e g o l d a n i . A
e l i s z o m s z é d o s p o n t h e l y v e k t o r á n a k k ü l ö n b s é g e , a k ü l s ő b e n
ba n k é t a z o n o s s o r b
é s v e k t o r a , v a g y i s e g y k é p p o n t n y i u g r á s o s z l o p í r á n y b a n é s V i s s z a a z
pedig a so r e m e l
m e l y s o r u t o l s ó k é p p o n t j á b ó l a k ö v e t k e z ő e l s ő k é p p o n t j á b a m u -
oszlop elejé r e . ( V a l a
. ) P e t s z e n e m m u s z á j s o r f o l y t o n o s a n e l ő á l l í t a n i a k é p e t , a l a p u l
ta t ó v e k t o r . ) ( 3 0 . á b r a
o p o k a t i s , m é g i s v á l a s s z u k i n k á b b a z e l ő b b i t . E g y r é s z t a z é r t , p e t
vehetné n k a z o s z l
z t g o n d o l h a t u n k a r r a , h o g y a f á j l o k i s á l t a l á b a n í g y t á r o l j á k a
í g y o l v a s u n k , m á s r é s em.
Kév

ké p a d a t o k a t .
a l e l ő á l l í t j u k a z a d o t t k é p p o n t h o z t a r t o z ó v i z s g á l ó s u g á r f é l e g y e n e s
Ezzel a cikluss
j á t , i r á n y á t p e d i g a f ó k u s z p o n t é s e k u n d u l ó p o n t k ü l ö n b s é g e k é n t a d j u k m e g
egy pont
s z p o n t l e s z . ) A m ű v e l e t h e z e l e n g e d h e t e t l e n a k i i n d u l á s i a d a -
(A k i i n d u l ó p o n t a f ó k u
r o z á s a , v a g y i s a f i l m e n k e l e t k e z ő k é p e g y i k s a r k á b a m u t a t ó h e l y v e k t o t ,
tok meg h a t á
valam i n t a s o r - é s o s z l o p n ö v e k m é n y i v e k t o r k i s z á m í t á s a . M i v e l a k é p f o r d í t o t t , e z e n
adatok ügyes előá l l í t á s á v a l e g y b e n v i s s z a i s f o r d í t h a t j u k . ( A b a l f e l s ő s a r o k h e l y e t t 2
jobb als ó b ó l i n d u l u n k . )

30. ábra. A ké p le ta po ga tá sa so ro nk én t és os zl op on ké nt . A z in de xv ál to zó k
vektorok

A film merő l e g e s a n é z e t i i r á n y r a , a m e l y i r á n y é p p e n a k ö z e p é b e b ö k . E n n e k u g y a n
nem kellene kötelező e n í g y l e n n i e , d e a z e g y s z e r ű s é g é s a g y a k o r l a t i s z e m p o n t o k e z t
in d o k o l j á k . ( A f é n y k é p e z ő g é p n é l p o n t o s a n e z a h e l y z e t , s z e m ü n k e s e t é b e n i s c s a k a
43
t i
T-T
g as

B g.sag
ző szag
é z " " 8
;

d ö l á ö n Ül
a. a s á l

e d z k s A K A R O K
d e s geág á á s á s
o
j r v e n t á o e t S Z H Á R R Ó B
§I

A
ét

f .
c

ko
de :f a f PV: z é n ? d e r . tok; a a z 2 2 .

6 9
e
kls t
z a

9 /
l lz e

j 1 h é t b e
a 5

j err
kép t á v o l s á g

fókuszpont

A f i l m k ö z é p p o n t j á n a k m e g h a t á r o z á s a
31. ábra.

d e m é g a z e g y i k s a r k á b a k e l l e n e u g r a n i . A z o l d a -
Mo s t m á r a f i l m s í k j á b a n v a g y u n k ,
n n y e d é n m esmerni
g t e h e t jk e
ü lkl.a z Eohlh- e z i
lakkal párhu z a m o s a n h a l a d v a e z t k ö
e r á n a k v a n e g y f e l f e l é m u t a t ó i r á n y a . I g e n á m , d e
dalv e k t o r o k a t . S z e r e n c s é r e a k a m
z t o s , h o g y m e r ő l e g e s a n é z e t i i r á n y r a . ( N e m 1 5 v á r -
ez ál t a l á b a n n e m p o n t o s , n e m b i
n b e á l l í t s a . ) C s a k a z b i z t o s , h o g y a n é z e t i i r á n y é s a
ha t j u k e l s e n k i t ő l , h o g y p o n t o s a
á l t a l k i f e s z í t e t t s í k p á r h u z a m o s a f i l m e g y i k o l d a l á -
k ö r ü l b e l ü l f e l f e l é m u t a t ó v e k t o r
b a , v e k t o r i á l i s a n ö s s z e s z o r o z z u k ő k e t , é s m á r i s
val, a magas s á g á v a l . N e m e s ü n k p á n i k
F e l t é t e l e z t ü k , h o g y v í z s z i n t e s e n a z O S Z -
k e g y a s o r o k k a l p á r h u z a m o s v e k t o r t . (
kapun
n a k , m i n t a h o g y e z t a z é r t e l e m m e g k í v á n j a . )
lo p o k , t ü g g ő l e g e s e n p e d i g a s o r o k v a n
l i s a n Ö S S Z E S Z O T O Z V a A n é z e t i i r á n n y a l p e d i g m e g k a p j u k a v a l ó -
Ezt u g y a n c s a k v e k t o r i á
di f ü g g ő l e g e s i r á n y t . ( 3 2 . á b r a . )

32. ábra. A f i l m o l d a l v e k t o r a i v a l p á r h u z a m o s i r á n y o k e l ő á l l í t á s a . Né: ?


körülbelül felfelé mutató: £, vízszintes: y — 41X.4 és függőleges irány: /—
OTT 2 TE y sz út ke P sa "i "fe as vk Mi Ax
Út: A s
LLa(
5
T . ia a a p

v OZET )JI] JOJ


"9 A n kh! a hd sti w §

4 (2. 44194 j 4 ág
agy
AV
99 a.
VULTAK . án.
[4 ,
a , €

. 1 ,

9 úg 48 a.a á tsa 4 v4,


, vs ÜRe— e a
vs gy a
sz . mi
a ( 9
ré 0. ,
3 rás ran
véle s4g § Vida ..
ms v9 (a ;
Cimé 5. PA z tDal 6 :malzalmak mait 1 éYnZ
a
j s
. r "e ,
rag ga a aAú - i 1 ag a 1 üZ A dudsekesi az gy ;
a ere. s ve vele 1 Tr 7 ty. j 7 a hane val r 9. mása 4 AZ ba , OSS , sé T
? ) . ki at 9 bet MNSZ z A; 1-4 A vál z ji - "a el f ő -g err út já 09; m-a "szk elt
4: ő ; , 0 a Z/449 "B 1! c h A a sé ,. 4 A 4160 ( adtz de 3 e 68"
1] 9 Í i j 7 : sa. bd ] ead e 1 . c hel Os
- í Aa - — all 4 44

a
. sa 8 a ,

u k a f i l m k ö z é p p o n t - h e l y v e k t o r á h o z ( k p ) a z í g y
alsó. 2. á b r a ) V é g ü l h o z z á a d j " G Y k a .
rtpo
t . A n
s t
t a h e l y v e k t o t a ( 9 ) í g y
i po t t f é l o l d a l v e k t o r o k a

d k g e t a e s d
§ jee etc
1) Az első képpontb a n v a g y u n k . L a s s a n e l i s i n d í t h a t n á n k a c i k l u s t , e l ő t t e a z o n b a n a §
o k a t k e l l m e g h a t á r o z n u n k . A b e l s ő c i k l u s n ö v e k m é n y e ( 4 2 ) e g y - v
növekményi v e k t o r
n t e s o l d a l e g y s é g v e k t o r á t ( 4 ) a f i l m s z é l e s s é g é n e k é s k é p p o n t b a n m é r t
szerű: a v í z s z i
os z l o p a i s z á m á n a k ( 0 ) h á n y a d o s á v a l s z o r o z z u k , m a j d a z e g é s z n e k a z e l l e n t e t t j é t v e s z - é
szük. (Hisze n — h á t u l r ó l n é z v e — j o b b r ó l b a l r a h a l a d u n k — 3 2 . á b r a . ) E
I;
SZ
be--Ef-e) v.
z a f u t á s t , a k ü l s ő c i k l u s n ö v e k m é n y é t ( £ 2 ) e g y k i s s é ö s s z e t e t t e b b
A s o r o k u t á n i v i s s
vektor ha t á r o z z a m e g . A s o r e m e l é s k i s z á m í t á s a h a s o n l ó : a f ü g g ő l e g e s o l d a l e g y s é g ;
á t ( ? ) a f i l m m a g a s s á g á n a k é s k é p p o n t b a n m é r t s o r a i s z á m á n a k ( ) h á n y a d o s á -
vektor
o r o z z u k . E h h e z h o z z á v e s s z ü k a v í z s z i n t e s v i s s z a f u t á s t , a m i e n n e k a z o l d a l n a k
v a l s z
a vektora (egységvekt o r á n a k a sz é l e s s é g s z e r e s e ) .

kü. f es
S kaszál

A ciklusoknak van még egy-egy indexváltozó ju k, me ly ek a so ro ka t és os zl op ok at


azon os ít já k a ké pp on tb an . Ez ek et ha sz ná lj uk ma jd va ló di in de xe lé sr e, me rt eg ys z€ -
rűbb , mi nt a ve kt or ok at . A ci kl us be ls ej éb en el őá ll ít ju k az ak tu ál is su ga ra t, me ly et
kilövünk a világ fel é, ma jd a ka po tt sz ín t át ad ju k a fi lm ne k — az im én t em lí te tt in de x-
változókkal együtt.
A megvalósítás az ada tel éré s til alm a mia tt itt- ott kör ülm ény esn ek tűn ik, és kis sé
áttekinthetetlen. Azonban nincs másról szó, mint az eddig megbeszélt összefüggé-
tör tén ő bea dag olá sár ól — ami ált alá ban ne m érti a műv ele tek et
sek számítógépnek
szép (példá ul tör tvo nal as) for máb an.

ea —T TT j b. öt ;
43 Ráadás ul minde n művele tet függvé nyhívá ssal jelölü nk, nem haszná ljuk a C4--4 körny ezetb en
alkalmazható operá rátor-felüldefiniálást. GSOY
a a
6

7ea) c
Í a: w jo szaszzzzztiiIl 7 g
w

1 d : 5. 9 :
ne szztált NÉ 7 szg dát, SEMEÉ
ZSzZIntes, ges, DEO,
ez s z tn Lá MAT ( ik.
bj
4 rátg
egém ké
I SAL ast úr B
kív ! 5 5 5. §€ d
orr § ; finA szén ú 6 K 4
k sal VA

Kol sát
va

E a ay
(s
(sa
§

"4
oz Mataxő : ja csat
3 Sí) 3
£ 3 d

é r d e z é s e ( ) p vektori esgzítalk
v í z s z i n t e s p é r t é k a d á s ( n é z e t l e k
u
(függőleges le k é r d e z é s e ( ) p n o r m a l i z á l á s ( ) ) )
u f ü g g ő l e g e s p é r t é k a d á s ( v í z s z i n t e s m v e k t o r l a
(nézet. lek é r d e z é s e ( ) ) p - n o r m a l i z á l á s ( ) )
r t é k a d á s ( k ö z é p p o n t p - ö s s z e a d á s ( v í z s z i n t e s m s k a l á r r a l s z o r z á s
u startp é kivonás
(képfelf o g ó . l e k é r d e z é s ( ) b s z é l e s s é g l e k é r d e z é s ( ) / 2 ) ) b
(függőle g e s p : s k a l á r r a l . s z o r z á s ( k é p f e l f o g ó , l e k é r d e z é s ( ) p
magass á g l e k é r d e z é s ( ) / 2 ) ) )
u b e l s ő p é r t é k a d á s ( v í z s z i n t e s p s k a l á r r a l s z o r z á s
(-képfelfogó, l e k é r d e z é s ( ) e s z é l e s s é g l e k é r d e z é s ( ) /
képfelfogó. l e k é r d e z é s ( ) o s z l o p s z á m l e k é r d e z é s ( ) ) )
u külsőp é r t é k a d á s ( f ü g g ő l e g e s p s k a l á r r a l s z o r z á s
(képfelf o g ó . l e k é r d e z é s ( ) p m a g a s s á g l e k é r d e z é s ( ) /
képfel f o g ó l e k é r d e z é s ( ) p s o r o k . s z á m á n a k l e k é r d e z é s e ( ) ) e ö s s z e a d á s
(vízszintes p s k a l á r r a l s z o r z á s ( k é p f e l f o g ó l e k é r d e z é s ( ) p
szélesség l e k é r d e z é s ( ) ) ) )
u vizsgálóp kiin d u l ó bpe áol lní ttá s a ( f ó k u s z p o n t . l e k é r d e z é s ( ) )
u ciklus aktuá l i s s o r : 5 e l s ő k é p a l k o t ó s o r t ó l a z u t o l s ó i g
mu ciklus aktuális osz l o p : e l s ő k é p a l k o t ó o s z l o p t ó l a z u t o l s ó i g
A vizsgálósugár kiindu l ó p o n t j a g y a k o r l a t i o k o k b ó l a f ó k u s z p o n t . E z e l ő t t t e r ü l e l
s
ugyani a vi z s g á l t v i l á g . H a a s u g á r o n v i s s z a f e l é , a k é p i r á n y á b a , a s u g á r i r á n y á v a l e l -
t
lentétesen haladunk, a kamera mögöt lévő ré s z e k h e z é r ü n k , a m i k k e l n e m k e l l f o g -
lalkoznunk.
m vizsgálóp iránybeállí t á s (fókus z p o n t . t e k é r d e z é s ( ) p k i v o n á s ( s t a r t ) )
mu k é p f e l f o g ó l e k é r d e z é s ( ) b k é p p o n t b e á l l í t á s ( a k t u á l i s o s z l o p ,
s
aktuáli sor, megf i g y e l e n d ő l e k é r d e z é s ( ) p k é p a l k o t á s ( v i z s g á l ó ) )
HM startp értékadás (startp összeadás (belső))
Bs vet tp ér t é k a d á s ( s t a r t p ö s s z e a d á s ( k ü l s ő ) )
ee fsÉG öSÚ művele ezér cé t , t l s z e r ű a z á l l a p o t o t n y o m o n k ö v e t h e t ő v é t e n n i ,
tells á gilt; az akt u á l i s p o z í c i ó ( s o r é s o s z l o p ) - l e k é r d e z ő m ű v e l e t e k . M i n d e z t
kél lsktégi csak többsz á l ú pro g r a m f u t t a t á s e s e t é n h a s z n á l h a t j u k k i . ( A z e g y i k s z á !
jú Je s ea p e d i g j e l z i a f e l h a s z n á l ó n a k a z a k t u á l i s á l l a p o t o t . 6 . 3 . 4 . )
eaj j á á s d tu a l i s . o s z l o p . l e k é r d e z é s e ( ) : egész szám
aktuális oszlop
u kamerap aktuális sor lekérdezés
e(): egész szám
aj w j
kn § ís hi gy

d" , a.
64 gp.
s d . ke 1 4
ús.Bé . A te "? e;
; ad Í- v 2 3588 Í fér
d
—za kkel íj SS
e c
ma sea E tf? aaa e ! (ada 97t A: rt
re
.k mt
p Hi sg 9
tih K
; ;
] 6 i ,?
ev el! V/ te AL
.

j
5. júl s.
ked ée

ka
6 s 4
: I 61
í €
Way
1 ui
"d 1? jú y íj]1
VÉ. ; f
za . ii
"a he gizi ET "ön Tkl— hé "Fú d a És

bi
f3 ; " 4;

tulajdonságokkal
.. .
2 ak f, TIT 98 ka ee a 1 a
1. fa deze ; 182 ; gs 5. VEZE

r d e z ő
E

k e
VA

t l e
Ce

a p o
B

d nák che 9 sal és az á l l sa 24 . seg ű dust b se v.2

azég
A k( :

7 vá
.

JE
sé gy j gy
hd É :
es " Vu e s. p2 ad fe f91 ts
b a A a! EIT
e. A gye d nl "rt fed

t )va
seaA és
$ 6.
Pé: 4 al h ;
Pgi z E tf ő.
ép 4 a j

és a kép SASSÉ ÁÁ E
l al me ei 1
fa "ti Og hd s
j E nez A

4 ú

1 ű

k a m e r a
statik u s a d a t t a g o k ( 3 . 3 . )
i s . o s z l o p , a k t u á l i s . s o r : e g é s z s z á m
aktuál
a d a t t a g o k o n v é g e z h e t ő m ű v e l e t e k ( 3 . 3 . )
statikus
dts

képa l k o t á s ( )
t u á l i s . o s z l o p . l e k é r d e z é s e t ( ) : e g é s z s z a m
a k
aktuál i s s o r . l e k é r d e z é s e t ( ) : e g é s z s z á m

é s a z á l t a l á n o s a l a k z a t o k u
4. 2 . 2 . A v i l á g
r d e z i , m i l y e n s z í n l á t s z i k e g y a d o t t irányba né z v e . A v i l á g
A kamera egy világtól k é
e n n e l ( f e k e t é v e l ) i s v á l a s z o l h a t n a , és a képal k o t á s t e z z e l
erre akár v i c c e s e n s e m m i l y
i g e n c s a k p r i m i t í v é s h a s z n á l h a t a t l a n m e g o l d á s l e n n e , d e a
m e g i s o l d a n á n k . E z u g y a n
n y e g t e l e n . Ő e l h i s z i , h o g y m i n d e n c s u p a f e k e t e . É s i t t
kamera s z e m p o n t j á b ó l e z l é
ü s z k é k l e h e t ü n k m a g u n k r a , m i l y e n j ó l s z é t v á l a s z t o t t u k a f e l a d a t o t .
most b
n a m i v i l á g u n k m é g a l e g e g y s z e r ű b b e s e t b e n s e m v á l a s z o l í g y .
Természet e s e
d i k , a z á l t a l a t a r t a l m a z o t t a l a k z a t o k h o z f o r d u l , t o v á b b k é t -
Ehelyett t o v á b b v i z s g á l ó
d e z ő s k ö d i k . M i n d e n e g y e s a l a k z a t n a k e l k ü l d i a z t a v i z s g á l ó s u g a r a t , a m i t a k a m e r á t ó l
b a n k i k e l l e g é s z í t e n i , h i s z e n t ö b b k é r d e z e t t r ő l v a n s z ó , a v á l a s z o k a t
kap o t t . E z t a z o n
pedig rangso r o l n i k e l l .
á v o l s á g u k a l a p j á n d ö n t j ü k e l . H a e g y a d o t t v i z s g á l ó -
A rang s o r t a k a m e r á t ó l v a l ó t
á r t ö b b o b j e k t u m o t i s é r i n t , n y i l v á n c s a k a l e g k ö z e l e b b i s z á m í t , a t ö b b i t a k a r á s -
sug
b a n v a n . ( 3 3 . á b r a . ) F é n y t ö r é s , i l l e t v e á t t e t s z ő s é g e s e t é n m á s a h e l y z e t , d e e k k o r m á r
egy új v i z s g á l ó s u g á r r ó l b e s z é l ü n k . ( 4 . 3 . 4 . )
e
tá aa rd i M t d u n e " jur? É zfagzúg
d e s z g y á n a j t e
"ag s er

Z E T9 új red
i a
Negközel
ei 379él á
Fv gzegdle € etes eg at z - e o r z a t a
t ( af r e s g á r s á g z a k é R. K ő
É edggfe p t e
(gyökér 4 4 a ,
Ad
ue
v :
44
,
7és ez sm
den

: jó éz pa " "a Bé ís é 3
p
d
Fe .
-
.. 0
suk " kell ftVSE
A g ko va . . e
9 ú 4 4 " Pr hia
. . 1

a
LA a

A
a f A. j 6-4

e tápegység GÁL
ői ú § § pa 8 ó 4 A ,
j Bú nsé vege fú A jr ta hi :
A § . a / fi

1ér r
di" d 4 P ia

zp e
ej a

za
pi me an a

sebb, akk or az ala kza ta kam era ki et őn y Hi

a fókuszpont mögött van . Elő for dul hat , ho mé


gy ga Hi d
m ő

lis kameránál ez nem ok oz rob lém át, epi rág jás sez se
ar d

nem látható alakzatok

k
34. ábra. Csa a k a m e r a e l ő t t l é v ő a l a k z a t o k l á t h a t ó k tk 44

A kommunikáció az alakzat és részei között igen nehézkes. A pocigatáááótó teklládbs


ugyanis általában nem támogatják a többértékű függvényeket—pedig mi a válaszban.
három dolgot is várunk: a legközelebbi alakzat címét, az oda vezető
és a távolságot. Ezt úgy oldjuk meg, hogy mindig a változók címét adjuk tovább,
nem pedig paraméterértékeket (cím szerinti paraméterezési),
A hierarchiában keérésést egy funkció valósítja meg, mely sorra 2 hív a
részalakzatok ugy anilyen függvényeit. Ez egyben virtuális függvény ss mert az
alakzatfa leveleiben található megjeleníthető dolgok már másképp reagálnak. (Ok
továbbítás helyett valóban válaszolnak.) at
" virtuális függvény alakzatp legközelebbi keresés (eddigi: atákzat cím
hivatkozás, helyzete: transzformáció cím, távolsága: valós egzgtlját Moss
vizsgáló: sugár) ji kbszté5fi.
a változó ideiglenes alakzat hívatkozás: alakzat kereté AAS bat
" változó ideiglenes transzformáció: transzformáció enek
" változó ideiglenes távolság: valós szám db gége zetakéa 4 K2E ns
a ciklus index:s minden részalakzatra: vádóetáset Méú
" Ilyenkor vigyázni kell. h
o g y a f ü g g v é n y t örzsben óvatosan
szen nem készül r óluk másolat. Erról szükség e
setéa
n nekünk ke
.
34 2 tása meS "a
§ ta

:
a.
ASE
d id ad ll ot ő

ISBN
a
.B

3
4 y Ű
:
szep
p

t r a n
j

s
j

e n e
é

— mo i d e i g l
( h e l y z e t . l e k é r d e z é s e
g l e n e s t á v o l s á g : - t á v o l s á g a
art idei
l a k z a t . l e k é r d e z é s ( i n d e x ) p - l e g k ö z e l e b b i k e r e s é s
4 r é s z a
, d e i g l e n e s t r a n s z f o r m á c i ó , i d e i g l e n e s t á v o l s á 4
(id e i g l e n e s . a l a k z a t i
r m á c i ó p i n v e r z . á t a l a k í t á s ( v i z s g á l ó ) ) ks a
i d e i g l e n e s t r a n s z f o
s . á v o l s á g c t á v o l s á g a é s i d e i g l e n e s t á v o l s á g : 0 , a k k o r
um ha idei g l e n e t
u távo l s á g a : - id e i g l e n e s . t á v o l s á g
u hely z e t e : - ide i g l e n e s t r a n s z f o r m á c i ó
u e d d i g i : - i d e i g l e n e s a l a k z a t
o t t s u g a r a t m e t s z ő e l s ő m e g j e l e n í t h e -
s z e r ű k e r e s ő a l g o r í t m u s m e g a d j a a z a d
Ez a z e g y
s t m á r h o z z á k e l l f o r d u l n u n k . A z á l t a l á -
o b j e k t u m o t . A k o n k r é t s z í n i g é n y é v e l m o
tő i a k e l l , m i v e l
e l e n n i , d e a m e g j e l e n í t ő f u n k c i ó k a t t á m o g a t n
n o s a l a k z a t n e m t u d m e g j
á r m a z t a t j u k a l á t h a t ó d o l g o k a t . ( 3 . 2 . )
belőle sz m u n k a l e g n a -
a m e g j e l e n í t h e t ő a l a k z a t o k b a n v a n . E z v é g z i a
A ké p a l k o t á s l e l k e
a z a l a k z a t h i e r a r c h i á b a n f e l k e l l k é s z ü l n ü n k a l e g -
gyobb r é s z é t . N e k ü n k m á r m o s t ,
k o t ó f ü g g v é n y s u g á r p a r a m é t e r é h e z h o z z á j ö n m é g
összet e t t e b b e s e t r e . E z é r t a k é p a l
h e l y z e t e é s e g y r e k u r z i ó s s z i n t e t j e l z ő e g é s z s z á m .
a vilá g c í m e , a z a l a k z a t v i l á g b e l i
m i t s e m s e j t ü n k , d e m o s t c s a k a d e f i n í c i ó a f o n t o s . ( 4 . 3 . )
A t ö r z s é r ő l e g y e l ő r e
g v é n y a l a k z a t p : k é p a l k o t á s ( m i n d e n s é g : v i l á g c í m e , h e l y z e t :
u virtu á l i s f ü g
i ó , v i z s g á l ó : s u g á r , r e k u r z i ó s s z i n t : e g é s z s z á m ) : s z í n 4
1
AKS
sz
tet

transzformác
a n n y i , h o g y b e i n d í t s a a k e r e s é s t , é s a k a p o t t e r e d -
A vi l á g d o l g a e z e k u t á n m á r c s a k
ő t k é r d e z ő k a m e r á n a k . A z e l s ő l é p é s e g y s z e r ű e n a b e l s ő
mény t v é g ü l v i s s z a a d j a a z
y m e g h í v á s a . E z t a z é r t n e m t e h e t i r ö g t ö n a k a m e r a , m e r t
rekurzív képal k o t ó f ü g g v é n
c s , m i z a j l i k a v i l á g o n b e l ü l . Ő c s a k e g y a d o t t s u g á r i r á n y á b ó l é r k e z ő f é n y
fo g a l m a s i n
színére k í v á n c s 1 .
Wu világp képalkotás ( v i z s g á l ó : s u g á r ) : s z í n
w vissza rekurz ív k é p a l k o t á s (v iz sg ál ó, 0 )
k o t á s f ü g g v é n y t a z é r t k e l l e t t k ü l ö n v á l a s z t a n i , m e r t e z t m á r b e l ü l r ő l
A rek u r z í v k é p a l
a t j a b á r m e l y i k a l a k z a t f é n y v i s s z a v e r ő d é s , - t ö r é s e s e t é n . ( 4 . 3 . 4 . ) A r e k u r z t -
is meghívh
m i n d e n e g y e s h í v á s a l k a l m á v a l n ö v e k s z i k , é s h a e l é r e g y m a x i m á l i s é r t é k e t ,
ós szint
v á l t o z ó n ö v e l é s e é s v i z s g á l a t a a z ú j s u g a r a t i n d í t ó a l a k z a t f e l a d a t a . H a e l -
m e g á l l . ( A
ért e a s z i n t e t , n e m i n d í t ú j s u g a r a k a t . )
i a s u g á r i r á n y b a n t a l á l h a t ó l e g k ö z e l e b b i a l a k z a t o t ,
E z a b e l s ő k é p a l k o t ó m e g k e r e s
d ö f é s p o n t b e l i s z í n é t . E z t a k é t m ű v e l e t e t e l v i l e g ö s s z e i s v o n -
m a j d l e k é r d e z i a n n a k
o r l a t i l a g n e m é r d e m e s , m e r t a z e l e v e n e m l á t h a t ó p o n t o k s z í n é t f ö l ö s -
hatnánk, gyak
l k o t á s ( v i z s g á l ó : : s u g á r , , r e r
k e
u kru r
z z
i ió s s z i n t : e g é t r a á l
aször i amg j á z o a
ur t
z o
í vE. r
k É T
v a t k o z á s - C a s e s á g F g e á s é s e s é s z t l É L
r s 1 Á l Á O e
B g í á s á t ö b t a l a k z a t h i
k t sa ast 6 4 hal v
; é 4 4 s tg v.
94 y T8-zyergrt . -e - p 4 A FF, ) 9 E ső , éva . . sé J a 9 2 MV
é.€ B z
si a
97 , AR . vJT je Fr ; Er"h14 A . ., ( . j 4 j ja § , i . ., [j
ha s e. e a a p sase
j ? jú ői ő a a a ped j .-. . 9 s§ .
a a. 8,§ j pa a j ú n s, . "A b 7] e , f ő jé . e

; a É "A 88-E 8. a P $PE. év vő ; §.


K-u, ) Ar F és tő
ői i
j
.

; f él f. I ez
.

A
p- ká ..,
,
Ke
a
.
a :
é
s a
,
d a

hee L.L a ú "


y
1 f c a a z séma an . 4 - d
" §
kv

például n a p p a l k é k , é j s z a k a f e k e t e . A r e n d s z e r i t t t o v á b b f e j l e s z t h e t ő :
lagos eget szeret n é n k h á t t é r n e k , v a l a m i l y e n k é p r ő l k e l l v a l a h o g ;
színt leolvasni. : le ké rd ez ő f ü g g -
Az alap s z í n h e z p e d i g t e r m é s z e t e s e n t a r t o z i k e g y b e á l l í t ó é s e g y
(2 1. tá bl áz at .) E z e k v i r t u á l i s a k , m e r t e l ő f o r d u l h a t , h o g y n e m e l é g e g y e t l e n é r t é -
vény.
ket átírni, p é l d á u l a h i e r a r c h i k u s a l a k z a t o k n á l . (4 .2 .6 .)

21. táblázat. Az al ak za t ké pa lk ot ás i je ll em ző i

alakzat ]
álta l á n o s a d a t t a g o k ( 3 . 2 . )

általános funkciók (3.2.)


virtuális függvény alapszín beállítás (új szín: szín)
virtuális függvény alapszín lekérdezés(): szín
virtualis függvény legközelebbi keresés (eddigi: alakzat cím hivatkozás,
cv ség transzformáció cím, távolsága: valós szám cím, vizsgáló:
virtualis függvény képalkotás (mindenség: világ cím, helyzet:
transzformáció, vizsgáló: sugár, rekurziós szint: egész szám): szín

Az alapszínt beállító-lekérdező függvények egyszerű adatközvetítést


valósítanak
társátÉrtetató és a környezete között. Később ezeket a funkciókat cser
élhetjük,
Heár sar ád eger szeretnénk. (A csere következtében fellépő változ
tatáso
nekm
a vs itatsezü,le 9á1tágOSZtályo) 52s d r e z a I R A N Á N N N R É B Ó
alapszín beállítása (új s zín: szín)
nb értékadás (új szín )
Vir t u á l i s E s e n e z
kellésség függvény alakzat alapszín lekérdezés(): szín
"assza alapszín
e
geeáesgztágezá, tKtŐ
CH
fd
- kö vezetben ítt a szok
fnyezet í
ásos pont operátor helyett a nyilat (kötőjel, relációs jel) tasznál-
Ld , ; e. , li 17 § B. 2
4§41 M

FGSSS
, Vad BB
ke Le ui —

2. £ .áp d
2)
ea , a a . A
3
ia a A lroza ív Penz íl í [/ 3. ) d ZE B OG. ge "ZA . 4 ha az1 Mi i at És9 e
? HV a § a 7 a h ved ga g vgy ho a E A az száY pé . 4 1 LL Via B ási s VA 1 ay , Y) y ,
ő v 2: v sé 4, . aa ey vé b, - aA sutba - , - el
, d 4 § j we,
€ d s A (me ői Le 8 j
des Ép a 4 . (A A £ í a v ; A é AA pur Él A í d
..

ú sNt AA "Tés E [/ va 2 T acs 2v Atsz ra dyat ; É A táséa,


y
Pls he Cs é
e sen Me
d ra kg
e tt edoz fa a 8.9 fila s d V
Lé 1. e a erő a [e at ". kt h
? ki - e A. 7, " aa dő )A . 9-. " A uX FÉra 1 tt a Ni
bazd v .. A ez — asd my 1 "
, 164 2 A A n z ", a. 4 bozőtdha 43 A
a z .-
a -

:
É

. nullá nak
azt nullának vesszük
vesszük, , visszatérési
ésés aa vissz i en jelezz
keszlet 7 Já
rasa me. "8 4 A, ga EC) ag ef gt -? sde Vt -y- za msső t , 3
" ah
Bs éa ; , Sz
pé. . e a Ad ti

. í . dd

AA tekér dezés la adatk özvet ítés


"ő kal ám : KS ZT dt SE Te TAK a0r ér FLET őz KÉRD 81 4 -4f
a
f
- ZzZESsS
,
S j 9 Ma t

i 22. táblázat. A világ és a képalkotás éa j 4

világ: alakzat "gf


általános a d a t t a g o k (3 .2 .1 .)
rekurziós mé l y s é g : e g é s z s z á m
§ általá n o s f u n k c i ó k (3 .2 .1 .)
rekurzióbeállítás (rekurzió: egész szám): egész szám
rekurziólekérdezés(): egész szám
képalkotás (vizsgáló: sugár): szín
rekurzív képalkotás (vizsgáló: sugár, rekurziós szint:
egesz szam): szin

u világp rekurzióbeállítás (rekurzió: egész szám): egész szám Hi


w ha rekurzió c 0, akkor rekurzió:- 0 §
u rekurziós mélység:- rekurzió
mM vissza rekurzió lekérdezés()
um világp rekurziólekérdezés(): egész szám
Wu vissza rekurziós mélység

4.2.3. A megjeleníthető alakzatok és a fényforrások


A képalkotás során minduntalan szükség lesz a testek döféspontjának és normálvek-
torának meghatározására. (23. táblázat.) A döféspont adja meg, hogy a sugár hol met-
szi az alakzatot, a normálvektort pedig az árnyalásnál használjuk fel. (4.3.) 78 általános
alakzat a normálvektort és döféspontot meghatározó kérésekkel nem td mit kezdeni,
hiszen nincsen semmije, amit meg lehetne döfni, és a felület adott Pöntáak ératósíó
jához tartozó normálvektort is lehetetlen megmondani, mert nite íz ijet
fs juréée 2
dolgokat az általánosból származtatjuk — lés véső égi
mivel a megjeleníthető t s é ; e g y - e g y
g g v é n y t . E z e k v i r t u á l i s a k , é s e g y s z e r ű n u l l v e k t o r r a l t e j e z
ilyen bugyuta f ü
l z é s é r e a l k a l m a s , h a a z a l a k z a t h i e r a r c h i a é g á g t - á b a
vektorral) t é r n e k v i s s z a . ( E z h i b a j e
l á t h a t a t l a n d o l g o t f e l e j t e n é n k . ) A m ú g y a l á t h a t ó d o l g o k n á l a H E s é s l
in eg y i l y e n
é k e
ért a vi z s g á l ó s u g á r t ó l fögg,ezhatározza megugyanisa vizsgált pontor

Uza ési ARA


u v i r t u á l i s f ü g
v e k t o r
" ( t o z ó n u l l v e k t o r : v e k t o r
u va
v e k t o r t o v á E V É
u v i s s z a n u l l
t b f é s p o n t . m e g h a t á r o z á s ( v i z s : l ó : s u g á r ) : v e k t o r —
a v i r t u á l i s f ü g g v é n y a l a k z a d ö
t o z ó l l v e k t o r : v e k t o r h v g v a r ö n e r B z e k e
u vál nu s E . A
k t o r d e k j t g y i
ú HÍ
u v i s s z a n u l l v e
A me g j e l e n í t h e t ő a l a k z a t o k b a n r e j l i k a k é p a l k o t á s l e l k e . I t t d ő l e l a l 5. ÍBÁ
min ő s é g e , ho vag y n n a k - e á r n y é k o k , á r n y a l a t o k , v a g y c s a k e g y s é tú.3!
tunk meg. A ké p a l k o t á s n a k e z a z u t o l s ó l é p é s e , e t r e m á r h a t á s s a l l e l
o t á s b a n k g y s z e r ű a d a t s z o l g á l t a tsal
á s ve zne
k
ráso is. (E z e k a k é p a l k c s a e
d e t a p h a t u n k , a n n y i f é l e m e g o l d á s l e h e t s é g e s , a h á n y .
n
igazá sza b a k e z k
t a
Sót egyfaj alakz akár töb mó a t b d s z e t t is tá m o g a t h a t . ( 4 . 3 . )
z e r o n o s í t á s á r a a l a m i l y e n g l o b á l i s v á l t o z ó t h a s z n á l h a t u n k . E z t a k :
A móds az v
vil á g h o z is ho z z á r e n d e l h e t j ü k , m e r t m i n d e n a l a k z a t m e g k a p j a v a t a g y á t á z t l l i É r d e m e s
az o n b a n k e r ü l n i a k é p a l k o t á s i f ü g g v é n y e k p a r a m é t e r e i n e k k i b ő v í t é s é t — m i n t a h o g y
z t
a a re k u r z i ó s sz i n t mé r é s é n é l tet t ü k —, mett ez elron d í t j a ako m m u n i k á c i ó t . Ai 40
e s l e g e s e n n e , h i s z e n a m ó d s z e r m e n e t k ö z b e n n e m v á l t o z i k , a z t a f e l h a s z n á l ó
i s f e l l
d j
a m k a e g í v ü l r ő l a z e g é s z e l ő á l l í t a n d ó k é p r e . ( A r e k u r z i ó s s z i n t p e d i g á l l a n d ó a t
tozik,és kívülről rejtve kell, hogy maradjon.) §

jssárog Labedmi
; A megjeleníthető alakzatot az különbözteti meg az általánostól, hogy képalk
a g én yé ne k van tör zse , nem üres. És ez a fü gg vé nytörzs ját ssz a a dö nt ő S :
Épszintézisben. Biz remek, hiszen az egész egyetlen függvényre issgvága
con
"ayen cserélhető, továbbfejleszthető. pi
,
4

4.
(4. Sugár és háromszög miatszzösftetttttl
A. átomszög

a legegyszerűbb sokszög. Belőle mindenféle .


Bötbe felületek;
Sunkat há 5 —, h a ke ll őe n so ka t h a s z n á l u n k . (3 .2 .2 .) M e ra l
kakan szögek, mint atomokra alapozva Íg s
. y zükségünk .
Sy sugár mely pontban metsz egy háromsz
öget. (Eg
, ú X fi

Ez 1 19 a a
p.
ta. eeszz -GyeT ? E Fá
BS.P d
4, ri 148
s i
att
K"á " .
ri
i
--
fő v , 4 (
A T? Tam ("a § f .
.4k " ada §a. ke) ú 48 § 5
ka u. j f h a , 4 dú fi ő A
n ked 4 é 4s ve
008 ő M-
hi é aa aA te FANTYT ;
(
Me a
a fő tet
d 4
b ő é e 74 rel - a al a S h/ Ki ea?
.
j 1. TT? HőaK . h § v e em fi

1 gay Ve . ése ate ő ; ani


di
an .7 40
.. a
. ein
y

gd
( a
V "a
et " 8.1 .J

4 ( s
" meg

§ x
é "A vet ű i el fi A ho s ri mét 1 -
a
ejuát
mg
am a § e na ; e ú
ez e. : li
4d .. :
v ey
j j S Me s 1 49é . vé Sage n
e
ta hez agy
a
ű ) ák kk n
4
24 új 0 j , "a ni ? "aT Ű k ú4
eb e f . 2 ú 4
-. B
4 ( ;
ed 4 vot ő kg — eg vá HU E TES e mg) CM, éz
aa a Í sz i )
, We aí - A ; A 14. 4 ,

u u i tt
és

a0gv o e t i . a " ús -
d - k 7 A
he

een gy sz

azaA l € tekB X
Vht VE ES
8 4,í
aze Fid
át
4

!
za 9 A e Ed e " 4
a
javas
! 9 X ar EI! t j ké a — ve JA / a. tt
928 a 0 va ú - pt
-
adi : . 4
64 ge
A ú
At júT p2 dt ma ke Va
"a §
az
st. ő A Sk 1/1
! f j a a - a 4 s. ma

ETT é
3 Y
í
a. kő s
í 2) 2 AtŰ j
;
ad , 4
a ( av 9 ő al

a d
v
w
-
f v
4
§

a
.-

eg y ppo nt ja
BR

k
v


a

A
49 al 4

C )
as

GC ,2 7 4—
A j

ak vektorai. (35. ábra;a7 B—


.

atz
? há 6. -
Pv ... .
a

1)4!
.
fi 1. a ER
. JELÉT f
6 ae d

p - t a t t : b t r C kedélli

v e 7 2 a v á l t o z ó , m e l y e k e g y b e n a s í k a é s
e l h a t á r o z h a t ó m e g . E b b e n f r i l l e t
egyenlett d s z e r o r i g ó j a C )
i k o o r d i n á t á t . ( E k é t d i m e n z i ó s k o o r d i n á t a - r e n
m i n t b á z i s o k s z e r i n t
a ( 4 ) 2 s u g á r k i i n d u l ó p o n t j a ( m e l y m e l l e s l e g a f ó k u s z p o n t
Az egyen e s e g y p o n t j
a s u g á r i r á n y a . E z e k k e l a z a d a t o k k a l a z e g y e n e s
egyben), e g y i r á n y v e k t o r a ( d ) p e d i g
egy tetszől e g e s $ p o n t j a a

p- t - V 4 5
n v é v e e z e g y e g y d i m e n z i ó s k o o r d i n á t a - r e n d s z e r , / a
eg y e n l e t t e l í r h a t ó l e . S z i g o r ú a
g ó . gé
változó k o o r d i n á t a , s a z o r i
j á b a n h á r o m - h á r o m e g y e n l e t e t t a k a r n a k , h i s z e n a t é r b e n
Ezek a z e g y e n l e t e k v a l ó
e n z i ó s a k — h á r o m k o o r d i n á t á j u k v a n . K o o r d i n á -
vagyunk, a h o l a v e k t o r o k h á r o m d i m
tákra k ü l ö n - k ü l ö n o l d j u k m e g a z e g y e n l e t t e n d s z e r t . V a g y i s a k e r e s e t t

B
tas D t
r C e
S í y V v r s

i s m e r e t l e n é t a z a l á b b i h á r o m i s m e r e t l e n e s e g y e n l e t r e n d s z e r t e l
vektoregye n l e t h á r o m
a k o o r d i n á t á k e g y e n l e t r e n d s z e r e , a m i t i d ő k ö z b e n r e n d e z t ü n k : a
fejezhet j ü k k i . ( E z
m a z ó t a g o k , a j o b b o l d a l o n p e d i g a k o n s t a n s é r t é k e k
bal o l d a l o n a z i s m e r e t l e n t t a r t a l
szerepelnek.)

keüsttek bv ss Ce Aal

t r d s r t í p " B eten Ssyzt

t, ::ék t t . " b . g s — s, mű

m á t r i x o s a l a k b a n i s k i f e j e z h e t j ü k :
Mindezt
M ssel
( D ) v i l á g b e l i k c
e

a - r e n d s z e r b e n . A d ö f é s p o n t
6,

k o o r d i n á t
a

háromd i m e n z i ó s .
"

ed 5 Ka. ét ták í
s. ni u € ön.
é
AGG
nad
a .
4 pl.

só nego 1 9 6 r e k t c r d e€

kapott d státásaáák
p3
a s

o g y a e r e d m é n y ü l
ú g y k a p j u k , h
v i s s z a h e l y e t t e s í t j ü k a z e g y e n e s e g y e n l e t é b e :
koordin á t á j á t )
D-t-vts.

35. ábra. Sík és egyenes metszéspontja

A kapott £ vektor harmadik eleme (? megadja a sugá


r kiindulópontja és a döféspont
közötti távolságot. E. távolság alapegysége [4], vagyis a sugár irányvektor
ának hosz-
sza. Ha / nullánál kisebb, illetve nagyobb, mint az eddig megt
alált legkisebb távolság,
akkor biztosak lehetünk benne, hogy a vizsgált három
szög nem látszik, mert a kame-
ra mögött helyezkedik el, vagy takará
sban van.
Ha Z beleesik a vizsgált tartományba, akkor tovább
számolunk. Azt kell meghatá-
rozni, hogy a sugár valóban metszi-e a háromszöget. (Edd
ig csak azt tudjuk, hol döfi
annak síkját.) Ehhez megnézzük ? első két koordinátáját.
Ha ezek kívül esnek a (0; 1]
artományon, biztosan nem metszi a háromszöget.
Ha benne van, akkor még mindig
dem lehetünk biztosak, hiszen a 0 Sti S1 és
0 S t ; S 1 e g y e n l ő t l e n s é g e k e g y p a r a l e -
!
"8rammáts s
határoznak meg. (36. ábra
.)
e
A 6
e
Pp 8 ad .k

sza
9 e
sáiák7 ötdsál
s A pé — a
a tlszlzámaáttöt
ER" ee " t-t
las €

Mé j 7. : a ke s a. Ő
él .
2 kémaű zi Ve É A Vé by úg
ball za D É T a e r;
a m r a d Ö V E V É T "e. ;

kget kg arr

ve sm

(0; 0) (1; 0)

t p a r a l e l o g r a m m á v á e g é s z í t j ü k k i . E l s ő 1
á b r a . A h á r o m s z ö g e
36.
erről t u d u n k b i z t o s a t m o n d a n i
f é s p o n t a h á r o m s z ö g ő n b e l ü l v a g y a k i e g é s z í t e t t h á r o m s z ö g b e n v a n , k ö n y -
H- Hogy a dö
nyen eldö n t h e t j ü k . M i n d ö s s z e a z a l á b b i e g y e n l ő t l e n s é g n e k k e l l t e l j e s ü l n i e :

bet sl

n t m i n d k é t v i z s g á l a t o n á t m e n t , a k k o r a k o o r d i n á t á t f / é s £ 2 a H á c G k s
latott Ha a metszéspo
t a - r e n d s z e t é b e n . A z e r e d e t i t é r b e n e z t a p o n t o t a s u g á r e g y e n l e t é b e
szög koordiná
s s e l k a p j u k , a z a z a d ö f é s p o n t h e l y v e k t o r a £ 2 t 5 a d
j! való behelyettesíté
A hár o m s z ö g ő s é t ő l ö r ö k ö l t , l e g k ö z e l e b b i a l a k z a t o t k i k e r e s ő a l g o r í t m u s á t f e l ü l
á r o m s z ö g o s z t á l y k i e g é s z ü l e g y f u n k c i ó v a l . ( 2 4 . t á b l á z a t . ) SS

Bea
Aaa
Vtsaza
kell definiáln i . Í g y a h

24. táblázat. Háromszög met s z é s e a v i z s g á l ó s u g á r r a l "ili


E—.

-—
szel
s
40g
elek
a:
"Maz
9:
a

"A.z —;

háromszög: alakzat
statikus adattagok (3.2.2.)
statikus adattagokon végezhető műveletek (3.2.2.)
virtuális fü gvény legközelebbi keresés (eddigi: alakzat cím
hivatkozás, helyzete: transzformáció cím, távolsága:
valós szam cim, vizsgalo: sugar)

A háromszög ob je kt um tá vo ls ág me gá ll ap ít ó (a le gk öz el eb bi me gj el en ít he tő al ak za -.
tot kiválasztó) el já rá sá na k me ne te eg ye zi k az ed di g is me rt et et t lé pé se kk el . Ez t mo st
egysze rű en el ma gy ar áz zu k a sz ám ít óg ép sz ám ár a ér th et ő al go ri tm ik us ny el ve n.
w virtuális függvény há r o m s z ö g p le gk öz el eb bi ke re sé s (e dd ig i: al ak za t cí m
hivatkozás, helyzete: transz fo rm ác ió cí m, tá vo ls ág a: va ló s sz ám cí m,
vizsgáló: sugár) s
Először előá ll ít ju k az eg ye nl et re nd sz er A eg yü tt ha tó má tr ix át , és me gv iz sg ál ju k a de -
terminánsát. H a ez nu ll a, ak ko r az a, £ és £ ve kt or ok li ne ár is an összef üg gő re nd sz er t

je ha
n j

cs ü c s l e k é r d e z é s ( 1 . ) ) )
o s z l o p v e k t o r . beál
n e g y ü t t h a t ó k 8
s ú c s l e k é r d e z é s ( 1 . ) )
c s a ( 3 . 5 J ó N N
b s z l o p v e k t o r . b e á l l í t á
ka e y i t t h ü t ó k o ) )
é s ev
) e( l l e n t e t t k é p z é s (
irány v e k t o r . l e k é r d e z
a. ha eg y ü t t h a t ó k p - d e t e r m i n á n s -
( 0
) ,a k k o r k e n o g z ő 1 9 zola
e s s megoldja a a f g i e e e r t :s p i p e

T
s
S
á n
E
n
T
i
S
m
z ö
r
l
e
, t ss
t
b a
e
o b m i
d
á t , e
ge zsgíljuk a döféspont távolság haez el nv e a g y
Zérustól k ü l ö n b ö z ő

i l l e t v e b e g p o z i t íjv d e s z t s é s t s a n ö t b
legközelebbi m e g j e l e n í t h e t ő a l a k z a t t á v o l s á g a ,
o l v a s h a t . ) j e g j átp i
t á e a 6 ; bj5
a 8
n B l r á s i
pün k . ( A z e d d i g i l e g k ö z e l e b b i a p a r a m é t e r b ő l
v a n - e a d ö f é s p o n t . H a m i n d e n e l p i a Z a l a k SEZNRÉNETE TA
valóban a h á r o m s z ö g b e n
változtatjuk a paramé t e r b e n k a p o t t v á l t o z ó k a t . ( A m e t s z é s p o n t távolsága 855 s
kell vi z s g á l n i , h i s z e n e z m e g e g y e z i k a z e l ő z ő l e g k a p o t t a l . ) vaz uzi
o k p é r t é k a d á s ( e g y ü t t h a t ó k i n v e r z k é p z é s e s z e s A
u megoldás
vekt o r r a l . s z o r z á s ( s a j á t v i z s g á l ó p k e z d ő p o n t . l e k é r d e z é s e ( ) b k i v o n áesd z
W-
(csúcslekérdezé s (1. ))) ) É- ás Út ús ke

Té 4
u ha megoldásokp koo rdi nát ale kér dez és (3. ) S 0 va gyme go ld ás ok p 37
$
"pp6i

koordinátalekérdezés (3.) ? távolsága vagy megoldásokb Ai


koo rdi nát ale kér dez és (1. ) me
tr go ld ás ok p koo rdi nat as eme? smes e
akkor kilépés
" eddigi:- saját hivatkozás
" helyzeten ért éka dás (he lyz ete m öss zef űzé s (he lyz et !
" távolsága: me go ld ás ok b koo rdi nát ale kér dez és (3. )
. dl FF 6. e d . hő fi

szt we
eg eVFESTÉS SZ! as . f,
hő adták

k agkáp ga egyszerű adattagonkénti másolást jelöl. A legtöbb Dave a ltslaatllli


4 A CtŐ el a másoló konstruktor. 47 eaf e akát Y

u
el ors
ső zág ( a
. 20.
eg és zszá mok . Ér té kü k körn yeze ttüg bek
. zá Vágy
fe V T
ezt
44 nyelven this, Pascalban self. ést A 12? stl gl
11997 H A R z
á á sF E Z Z E
tája
R É K Á T É B B Ea KE
Hg d 48. ván
ő-$
! Ses E Lá töda
új e
F

et
j

EA vegi 2 § AsuP
g és 49 s
hai Jaz Zizaz sztsésáat TAN aa 17 f i . a 4
v Ál
a ge) a !
2 ra
s 4
j (
u 4 ta
i sű
a
f
Mé ctté,
9.
a ad
) ?A
.. . ne
a. Se ) 4 . My ad 8 ke ? e ja
2
- d me as gi F § ad -
bas
vet ászt átt kadersét az Cat L
dönzet kae deal e. a a

Alár ? a te
.§ ; sé. bi 99 i ún h? 3 914
É sY
aa 9.
ec Foot
étigl í Te A PT , 4
dagi VA g

6 vata tni ét usg kelemi dőöczkéésaltazáltó X ú "


a 5 "Mea met sz. am. Tt
mm átsmálaz a a vin A

a : .
e ő d ;
- j

es) j a
" pb

nm 38

d ö f é s p o n t j a é s n o r m á l v e k t o r a
4 . 2 . 5 . H á r o m s z ö g
m e g h a t á r o z á s a n e m n a g y p r .
a f e l ü l e t n o r m á l v e k t o r á n a k
Három s z ö g e k e s e t é b e n
n t h e l y z e t e l é n y e g t e l e n , a n o r m á l v e k t o r í r á n y a m i n d e n ü t t 1 j y i n a z .
ij léma. A d ö f é s p o
m . ( E r i n t ő s í k j a m e g e g y é z k k A t á r t ó s í k j á v a t i a r m e r j ü k a z
j h i s z e n a h á r o m s z ö g s í k i d o
h e l y v e k t o r a i n a k k ü l ö n b s é g e k éllíthatjuk
n t á e l ő . K é t
I3 oldalvektorait — e z e k e t a c s ú c s o k
z o r o z v a k a p h a t j u k a f e l ü l e t T I G P R Á L É S T A S B E ( A k é t
41 iIdalvektorát v e k t o r i á l i s a n ö s s z e s
e d ő e n oar k
i a
á -
l i s s z o r z á s d e f i n í c i ó j á b ó l e r
lk ZKT párhuzamos a s í k k a l , a v e k t
j
p e d i g e z e k r e m e r ő l e g e s — 3 7 . á b r a . )
t3 pott ve k t o r
d
4

normálvektota (2 — B-C 57-44-00


37. ábra. Háromszög

e g h a t á r o z ó f ü g g v é n y a z a l a k z a t u g y a n i l y e n " a a
A három s z ö g n o r m á l v e k t o r á t m
e n ő p a r a m é t e r t f i g y e l m e n k í v ü l h a g y j u k — a 0 -
funkciójának f e l ü l d e f i n i á l t j a . A b e m
é t s z í n m e g h a t á r o z á s i k é r é s s e l c s aze-
k a l e g k ö
féspont h e l y z e t e l é n y e g t e l e n . ( K o n k r
ö z f o r d u l u n k . ) c e v l t g é s e g n s
lebbi m e t s z ő h á r o m s z ö g h
n o r m á l v e k t o r m e g h a t á r o z a s ( v i z s g a l ó : s u g á r ) : v e k t o r
4! u háromsz ö g b
a c s ú c s l e k é r d e z é s ( 1 . ) p - k i v o n á s ( c s ú c s l e k é r d e z é s ( 3 . ) ) p
u v i s s z
i s s z o r z á s ( c s ú c s l e k é r d e z é s ( 2 . ) p k i v o n á s ( c s ú c s l e k é r d e z é s ( 3 . ) ) )
vektoriál
l e g k ö z e l e b b i h á r o m s z ö g e t k e r e s ő a l g o r i t m u s n a k
A döfésp o n t m e g h a t á r o z á s á h o z a
s z á m í t á s á t v é g z ő r é s z é t h a s z n á l j u k . ( 4 . 2 . 4 . ) H a a t á v o l -
enes—sík me t s z é s p o n t
g á r o n e n n y i t h a l a d v a é p p e n a m e t s z é s p o n t h o z é r k e z ü n k .
őibe á o t t N a v i z s g á l ó s u
s z e n p o n t o s a n a h á r o m s z ö g s í k j a é s a s u g á r m e t s z é s p o n t j á t h a t á -
fiseg a k a e g é a
l é m á t , h i s z e n i d á i g c s a k a k k o r j u t u n k e l , h
m e g . D e n e k ü n k e z n e m j e l e n t p r o b
ro z z a m E e b -
Ke p e n k o t á s s e m m i . 1 z p e r s z e n e m aka 1 y c Z s e
at ó , n e m j Pő j ri
v a l ó b a n l t
á h
gádg
I ? 1. taga §
. ) CLEAN
akit
r é s s z e l b ő v í t s e n
a hár o h o g y e g y e l l e n ő r z ő
o n t . m e g h a t á r o z á s ( v i z s g á l ó : s u g á r ) : v e k t o r
KNÉS vügib v ö f é s p ta
á l t o z ó e g y ü t t h a t ó k : m á t r i x
j a .v v e k t o r
á l t o z ó m e g o l d á s o k :
u v t o r
u v á l t o z ó d ö f é s p o n t : v e k
) kegje 7 ; I
t ó k p m é r e t b e a l l t a s ( 3 , 3
mi e g y ü t t h a e k é r d e z é s ( 2 . ) -
p v e k t o r . b e á l l í t á s a ( 1 . , c s ú c s l
a e g y ü t t h a t ó k b o s z l o
c s l e k é r d e z é s ( 1 p r
cs ú (2., c s ú c s l e k é r d e z é s ( 3 . ) -
t h a t ó k p o s z l o p v e k t o r b e á l l í t á s a
u e g y ü t
csúcsle k é r d e z é s ( 1 . ) )
t o r . b e á l l í t á s a ( 3 . , v i z s g á l ó p
u e g y ü t t h a t ó k p o s z l o p v e k
d e z é s e ( ) e e l l e n t e t t k é p z é s ( ) )
irány v e k t o r . l e k é r
d e t e r m i n á n s ( ) - 0 , a k k o r v i s s z a a l apszín
u h a e g y ü t t h a t ó k b
o l d á s o k p d i m e n z i ó b e á l l í t á s ( 3 )
u m e g ) p
a d á s ( e g y ü t t h a t ó k b i n vkeé p
r z
z é s (
u mego l d á s o k p é r t é k
p k e z d ő p o n t . l e k é r d e z é s e ( ) p k i v o n á s
vektor r a l . s z o r z á s ( v i z s g á l ó
(csúcs l e k é r d e z é s ( 1 . ) ) ) )
g á l ó p k i i n d u l ó p o n t . l e k é r d e z é s e ( ) P p ö s s z e a d á s
u döf é s p o n t p é r t é k a d á s ( v i z s
é s e ( ) b p s k a l á r r a l . s z o r z á s ( m e g o l d á s o k p
(viz s g á l ó p i r á n y v e k t o r . l e k é r d e z
koordinát a l e k é r d e z é s ( 3 . ) ) ) )
u vissza döfespont e k e t . A z
a k z a t t ó l ö r ö k ö l t h a s o n l ó n e v ű f ü g g v é n y
Ezzel f e l ü l d e f i n i á l t u k a z á l t a l á n o s a l
e z é r t v o l t s z ü k s é g r á j u k , h o g y l e g y e n m i t f e l ü l -
általán o s a l a k z a t b a n e g y é b k é n t é p p e n
írni.

o m s z ö g d ö f é s p o n t j a , n o r m á l v e k t o r a
25. tá b l á z a t . H á r

háro m s z ö g : a l a k z a t

r á b b i a d a t t a g o k ( 3 . 2 . 2 . , 4 . 2 . 4 . )
ko
a g o k o n v é g e z h e t ő m ű v e l e t e k ( 3 . 2 . 2 . , 4 . 2 . 4 . )
egyéb a d a t t o r
n o r m á l v e k t o r . m e g h a t á r o z á s ( v i z s g á l ó : s u g á r ) : v e k t
virtuális f ü g g v e n y v e k t o r
d ö f é s p o n t m e g h a t á r o z á s ( v izs g á l ó : s u g á r ) :
virtuális f ü g g v é n y

4. 2 . 6 . Kock a s z í n e
A kock a képa lkot ási sajá toss ága egye dül a szín meg hat áro zás a,
minthisz
néhen hár
ány veoms zög ú
ek
sze mpo ntj ábó l olya n,
ből épül fel. (3.2 .3.) Így megj elen ítés
0 5 1

"5 A sors z á m o k é r t é k e k ö r n y e z e t f ü g g ő , C - t e s e t é n p é l d á u l n u l l a a z e l s ő s o r s z á m ( , , 1 . " 0)

sál
E k- ; sg
de
É rz -

Maca
en
kölréé le

t
c Séta 2

( 1k a i
b.

z s i 4á"d
kél

t j o
j

t é
fs
f
t
a

E E T
a

R
MS
a
V
d

(OVI sőTEN
£ . y ;
d a)

j 4908
td .A b
44 é ád Fa
ZT
i
A ! e
eg vi
yt
a l k
ás ES
z
A
nd 4.
s
h

csat Ékes rerrer att


W Ai , , 1
ET kedő pi

aA
; a 24 ése et a

2
nidá 7
I tag a : S
hazzzadáecá
aj
zi .
Él
Oz ráat á
a sága W$.a . -
tp ösadzső votl ITOW j
Li T, 11AJ Vú. ,
ax" ag (48
ékek
; 47984 1 d
4 űAN
9. §
A S Z T
új
A 84 0 4 es0
L L V Y A A N
s s á l a t
A
! o
§
1 VE
MU
J fee
7
va á s d
"
A ,
E a l
si
n
FA
t t a l
(
§
M E
as Én
e ig a .
("a
-sásánti AZALA a/AN
BL
4
jdGuahad
ns s s z á d b

Kz
a
" d; r
352
tn BAR )
A4 9
a
mot , -v . 14"
SZORCAa- Ma ívg
A
i (amit
t egi d

z sz "a ha
x c
va ATTÉS íg dl Ú
épe e z r a n g a p í v i

e a b
a ds v 4
j e
éz
t g
, DasA a

C.T d a 2 9 4 E L E T e] . §
ú at 1.
b a

k o c k a : a l a k z a t
i a d a t t a g o k ( 3 . 2 . 3 . )
ne m k é p a l k o t á s
a g f ü g g v é n y e k ( 3 . 2 . 3 )
nem k é p a l k o t ó t
b e á l l í t á s ( ú j . s z i n : s z i n )
vi r t u á l i s f ü g g v é n y s z í n

a z e r e d e t i á t s z í n e z ő f ü g g -
k z a t o t á t s z í n e z z ü k , m a j d
u s b a n a z ö s s z e s r é s z a l a t s a j á t s z í n é t i s .
Egy c i k l
l l í t j u k a k o c k a m i n t a l a k z a
ő l ö r ö k ö l t m e t ó d u s s a l ) b e á
v é n n y e l ( a s z ü l ő t
n e m k e l l m ó d o s í t a n i .
fov a l e k é r d e z é s t s z í n )
s z í n b e á l l í t á s ( ú j . s z í n :
i r t u á l i s f ü g g v é n y k o c k a p í n b e á l l í t á s
um v a t r a o l d a l a k ( i n d e x ] j p s z
e x : s m i n d a 1 2 r é s z a l a k z
u c i k l u s i n d
(új . s z í n )
a t p s z í n b e á l l í t á s ( ú j . s z í n )
u al a k z

á r é s g ö m b m e t s z é s p o n t j a
4. 2 . 7 . S u g
a z e g y s z e r ű b b , h a a
á n a k m e g h a t á r o z á s á n á l c s a k
e n e s é s g ö m b m e t s z é s p o n t j b ü n k
Fé l e g y r e n c s é r e a m i g ö m
ú , é s k ö z é p p o n t j a a z o r i g ó van. Sze
b a n
gömb e g y s é g n y i s u g a r z f o r m á l n i k e l l . )
y ó r a v a n s z ü k s é g ü n k , t r a n s
l y e n . ( 3 . 2 . 4 . H a másfajt a g o l
éppen i n y v e k t o r á v a l
i i n d u l á s i p o n t j á v a l , e g y d i r á
Az egy e n e s e g y e n l e t e a z 4 k

H2 E Y T - B —

A z e g y s é g n y i s u g a r ú , o f i 1 -
p e d i g a z e g y e n l e t v á l t o z ó j a .
e g y e n e s e g y p o n t j a , f t a v a n n a k ,
a h o l b a z
o r i g ó t ó l e g y s é g n y i t á v o l s á g r
b p o n t j a i a z
e.

n y u g v ó g ö m b f e l ü l e t é n e k
góban /:
e k t o r u k a b s z o l ú t é r t é k e
vagyis h e l y v

9i -1.
e g y e n l e t e t , N u l l a , e g y v a g y k e t t ő
k e r e s s ü k , a m e l y i k k i e l é g í t i m i n d k é t
Az t a p p o n t o t t e t , H a á t m e g y r a j t a ,
g g ő e n , h o g y a n M E T enes a
a z e ggyö m b f e l ü l e
1v e n v a n , a t t ó l f ü g y m e l l e t t e , e g y s e m .
b r a ) ; h a é r i n t i , e g y ; ha elme
ké t p o n t a z e r e d m é n y 6 8 . á .
Ez tebó
3tés 28 ned
; érvnek I

38. ábra. Sugár és gömb ts: spontja kétes


tájt

g y e n l e t e t ö s s z e v o n j u k , é s m á r i s :
Négyzetre elés után a k é t e ké s z ar 1 v
z
E o ;
a kkú " úgig

a m i t e g y s z e r ű e n c s a k m e g k e l l o l d a n i
toregyenle d

S
"zzi1 zzz s49 rrdf
Ses si a d- 94 2-s-d:t48-170.

A me megoldáshoz a má so df okú eg ye nl et me go ld ók ép
ép le té t c , cs ak mo st az
egk ha tó k kö
yütteenzzg egÁpkzö tt v e k t o r o k is sz er ep el nemk.i n e A
k e k
v i n sk al
j
j ár
ó is an s z o r z ó d
f n a k ,
vntós számok.) ár tn an áe tó - m m e c i é
8) vége k i -

va
ht

agé Es

virtuális függvény legközelebbi keresés (edelges sir


lakz
taat
cim hivatkozás, helyzete: géreeés al
távolsága: valós.szam cim, vizsgalo:

A gömb örökölt egy legközelebbi i t m u s — ezt természetesen


telül kelj definiálni (át kell
a l a k z a t o t k i k e r e s őz á s
irni). Így a gömb osztály egy funkcióval. (27.
táblázat.) kiegés
" Virtuális függvény gömbbe t am
legközelebbi keresés (eddigi:
hivatkozás, helyzete: tran a l a kza
szformáció cím, távolsága C Í M , a
vizsgáló: sugár) : v a l ó s . s z á m
§ változó Saját
vizsgáló
atás

u. h/ B
? ú ,
j 9. "] i i /
fe . ,
.
me e
i ú kh!
é
WA
B
ax . i a VB VS
úg üező 20: h A] Át A l
2 "6 p "14

z. uVAlásdátévka tén
dz sA ü s st
h. VA
sak
DN : P nd [j

-441
; Jó

a A
27t n 4 wt 4 kt E1 ba a fi g él hi a
) a Té
. T
a KA g. á am
púp 9.
és
ú ,: k.-
Ca DE a ú .

ST
fi

es Se Ip
a
u e
kend ma 9970Allaga SA 6
§ 4
kenkizjáatáér
! .
d
,
mv "6 hé d 2
bi . Ma
r r 4 4
Él
21. ko fő 7 vi

A
. .
A
Mi
k
kv hl

ts
3

j 59 0 VT. d E Ji .. 1 e!

h egyuttna
pe S

hatá(OO
aa a
j . ű ?d
öv rar
j
[d jú 1 b
:
e... s
,
(. ü ; Vé/ u! —- Pe É A sag ,
cet
NY Pé BA ! A
§ 9. 4?
: fe
44 5 kód
y
(,
e.

p kj 44
,
A sz. 4
5
él
mt
at . .avar Í 2? "rHhe Ú c 5
; I i
i ő
4)
el"
4 ta
he
ts s .
e. "has bi
ti ed
Ma
ű
fi "§

ha

i s s z o r z á s
térde

á r
(elotte

a l
j

o . s a j á t v i z s g á l ó p : i r á n y l e k é r d e z é s ü )b s k
s z á s a )
É" saját vizsgálóp iránylekérdezéső)
ma msnató a z 0, akkor kilépés ET TE yes . l e k é r d e z é s ( ) s
m ha esett 41át. vizsgálóp kiin du ló po nt

s z d e t ó s z o r z á s ( s a j á t v i z s g á l ó
s ska KEZES c:z saját vizsgálóp kiindulópont. le érdezési p á v k u k á p a t á z a t s z é s Ü e
tá e e m á g ü s é e t ó ( s a j á t v i z s g á l ó p k i i n d u l ó p o n t . l e k é r d e z é s ( ) ) - 1
skaláris S ji ) - 4 . e g y ü t t h a t a
ó :
m e l é s ( e g y ü t t h a t ó . b
n á n s :;- n é g y z e t r e . e
u d d
i i s z k r i m i e t k r S E
üttható.C " k é l m
a d i s z k r i m i n á n s t m e g h a t á r o z t u k .
1 Ó e g y ü t t h a t ó i t f e l t ö l t ö t t ü k , g a
A m á s ordeicos r s z a a á á a ó m e g o3 l d á s . sHg at n e m n e
s t tív, megold-

e s y n i n c s
,

e g a t í v , á l t a l á n
.

a n
9

z n i k e l l ,m e r t h Í
y i k p o z i t i v é s k i s e b b . )
m e g o l d á s t . ( A z t , a m e l
t a t k a N á A a k e d v e z ő i
pov s s t g z E t a p e e t s á n ,

E
,

K
.

h a d i s z k r i m i n á n s c 0 , E s z á m 1 )
Í u
és

a s . 2 . s : v a l ó s
) m e g o l d 1á, s m .
e g o l d f i
; 5 ö k ( d i s z k r i m i n á n s ) )
t t h a t ó . b 4 . n é g y z e t g y
s e r i a " : z ( - e g y ü
j
út ) b - n é t g y ö k d i s z k r i m i n á n s ) ) / ( 2 : 8 ;
e
u ö g
s ysü t
z
a trh a
s t
t ór. a
j )
ő ( - e g y ü t t h a t ó b n é g y z e t g y ő k (

együttható. a 3 oldás: megoldás. 2, egyébkén N;


u ha m e g o l d á s ! 2 m e g o l d á s . 2 , a k k o r m e g

m e g o l d a s : - m e g o l d a s . 1 j
ezt
m e g o l d á s £ 0 , a k k o r
d a s 1
. , e g y é b k é n t
l d á 2
s , a k k o r m e g o l d a s : megol
e i m e g o l d á s 1 ? m e g o
x 1 6.5 l 6 7 j ÉT d
me g o l d a s : - m e g o l d a s
v a g y m e g o l d á s S 0 , a k k o r kilepes
u h a m e g o l d á s ? t á v o l s á g a
t á v o l s á g a : m e g o l d á s I
m I I
ö z e l e b b i : s a j á t c i m e
u leg k
( h e l y z e t . l e k é r d e z é s e ( ) )
[s k e p z á l é b i ö s s z e f ű z é s

s p o n t j a , n o r m á l v e k t o r a
4 . 2 . 8 . G ö m b d ö f é
mező : oriv ób an lé vőbest
g ö m b jA d ös f é s p o n t j á n a k he ly ve kt or a 4
és n o r m a ilve
sv k-
Egységny! jeti nö E a t é l r A n o r m á l v e k t o r t ug ya ni s ú g y h a t á r o z z u k m e g a dö fé s-
tora SZErencsére see belőle a háromszog középpontját. (A normálvektor mindig
pontból, ess geántee középpontja nullvektor, így nincs mit tenni. t
sugárirányú.) "ől örököl t h a s o n l ó n e v ű f ü g g v é n y e k e t f e l ü l d e f i n i á l j u k . ( A z ál -
Az általános alakz k
CAT aka csinálna se m m i t . R á j u k ot t c s a k a z é r t v a n s z ü k -
lános a l a k e z
z e a
n t
f u n k 2 6 a g t á b l ánö
z bl
a ás
t at
. )
m i t f e l ü l í r n i — 2 8 .
o g e t i t t l e g y e n
mog

sza ül
Képz Ikotás — § ILÜNSE ágve
é é .. ili da

28. táblázat. G ö m b d ö f é spontja, BENE she hzerig


e 9. é a

REGE
08 : ke
" hé !

ejj A

ú B. ág € AT mé
a. 6 7.

gömb: alakzat

ei t a g f ü g g v é n y ( 4 . 2 . 7 . ) T i z e k ÚS AÉ -
m e g h a t a r o z a s ( v i z s g á l ó : s u g á r ) : v e k t o r
virtadtt ö g g v é t ő i n o r m á l v e k t o r
virtuális f ü g g v é n y d ö f é s p o n t . m e g h a t á r o z á s ( v i z s g á l ó : s u g á r ) : v e k t o r

A kérdéses pont meghatározásához egy másodfokú egyenletet kell megoldani.


A döféspont- és normálvektor-meghatátozó algoritmusok bemenete egy vizsgálósu-
gár, vagyis egy félegyenes. A másodfokú egyertet helyes megoldásának kiválasztása
után a vizsgálósugáron vég igf utu nk a megf elelő pont ig, amel lyel ere dmé nyk ént visz -
szatérünk.
u virtuális függvé ny gö mb k- no rm ál ve kt or me gh at ár oz ás (vizsgáló: sugár):
vektor
u vi ss za dö fé sp on t me gh at ár oz ás (v iz sg ál ó)
virtuális függvény gömbbe döféspont meghatározás (vizsgáló: sugár): vektor
u változó együtthatóa, együtthatób, együtthatóc, diszkrimináns:
valós szám
együttható a:- vizsgálók irány lekérdezés()p skaláris szorzás (vizsgálóp
irány lekérdezés())
változó hibavektor: vektor
ha együtthatóa - 0, akkor vissza hibavektor
együttható b:- 2 . vizsgálóp kiindulópont lekérdezés()p skaláris szorzás
(vizsgálóp irány lekérdezés())
együtthatc: ó - vizsgálók kiindulópont lekérdezés()b skaláris szorzás
(vizsgálób: kiindulópont. lekérdezés()) - 1
diszkrimináns:- négyzetre emelés (együtthatób.) - 4 . együtthatóa -
együtthatóc
na diszkrimináns c 0, akkor vissza hibavektor
változó megoldás1, megoldás2, megoldás: valós szám
Negoldás 1:- (-együtthatób 4 négyzetgyök (diszkrimináns)) /
(2 : együtthataó)
"goldá2s:- (-együtthatób - négyzetgyök (diszkrimináns)) /
(2 . együttható a)
h a megoldás3 1 " megold3 as2, akkor megoldás:- megoldás2, egyébként
0
——

megoldás: z megoldás : i ak
1
ha megoldás c 0,
akkor
fal ,
ha megoldás 15 megoldás2,akkor megoldás:- megoldás1,egyébkén
t
Negoldás:- megoldás2

ál
1

" !
§ e ű
[ j
Hi a
:f
4

A a P
e a É én j mű ,

kus
1 4 ; A

szd pi
[/ A ki
,
,
4 v rá A
3 u a tását
OLGA]
ú
sza
h Ű
A 4 8 HA

UNE
! 4 € f ? j
i
4Za5
"9888 . e v él

SZÓT
19
4 ve 4 j a s

t
,
r a
j

a r
ő

a l
r

: k
? m

aJOlToIoTrTíTtImu
a fd hé
4
)
[d

s t ]
§;

e é .
;e

e z
r e s ő
Hir

gi verd k e
il Mé!
d: mel!
ya ri
t
7

am a h a
a
: n
Ay

z:4é8lé]b16 . OTTO
A
G Í
t"akd 0 Y
6
Ni eg
t al
§.
l N s z
tk
S z b é e
BA
E
t
T ÉLES
Niúő a a
Sos
4
L
rotA -gbazó
ta

s €
Éáte

e
Ve

y
jet

e g
kéved !

t
"yi

E z
É e r e e A 53 $

t .
e"
e

o
zt
é

g
.

á
a?

ó s
ea
s 3
§

n l
pi vs

a s o
pv

h
Wi . É

z t i
reir

ö
s

k
szal
ka z

z ó
(

o
meoillt

z r
a 4 a

5
Aa

:
— kes 5
I

) 14 ú ur. ai A uözú

Rk;
48

átad decis : -- ; a. 9 et h-s

s risvéz Ú AA
. v. nó
fg d a
av Va
6; )
fi :
9 74 ,
X Ó
4
a ! ny 1f-
7 all "s fia.
1Y ey a

BG 7 ka a ölés acmir
r haz i 38
y u [/ a ho " 4
ha c a é
J .
"nm

6., A y
3-0

a l k o t á s i m ó d s z e r e k
4 . 3 . K é p e r ő f o r -
s n a k c s a k f a n t á z i á n k é s
á t l a n o k . A m e g v a l ó s í t á
k o t á s l e h e t ő s é g e i k o r l a f o l y a m a t o t ,
A k é p a l i n é l j o b b a n c s i s z o l j u k e z t
i d ő n k ) s z a b h a t h a t á t t . M m e r t e g y r e l a s -
rá s a i n k ( e s z k ö z e i n k , n á l i n k á b b a v é g é n ,
a p u n k a v é g é n . ( É s a n
l v a l ó s z e r ű b b k é p e t k z g a t j u k - f o l d o z g a t j u k a
an n á m e n t é n h a l a d u n k , t o l d o
o s t e g y i l y e n f e j l ő d é s t .
sab b l e s z . ) M t v é n a z e l é r h e t e t l e n t ö k é l e t e s s é g e
y r e j o b b a n m e g k ö z e l í
r á b b i v á l t o z a t o k a t , e g g h ö z ) f o r d u l a k ü l v i l á g
ko l a k z a t h o z ( p é l d á u l h á r o m s z ö
g e s , m e g j e l e n í t h e t ő a l k e l l v á l a - ;
] E g y v é g l e ó s u g á t , m e l y r e e g y s z í n n e
ő p a r a m é t e r e e g y v i z s g á l 1
egy ké r d é s s e l . A k é r d é s f . ( P é l d á u l f e k e t e . ) A k e -
3 a s z a l e h e t a , s e m m i l y e n "
y r a k o n c á t l a n a l a k z a t v á l l y e n ) , a k ü l v i l á g Tri
szolni. E g g y a n i g e n c s e k é l y ( 5 i
m á c i ó t a r t a l m a e z e s e t b e n u z di
letke z ő k é p n f o r ű k ö d i k , e b b ő l ő m i t s e m V e s
é s a z o ban
n t ö k é l e t e s e n m
p o n t j á b ó l a m e g j e l e n í t l e .
sze m
r n e k — n e m i s f o g l a l k o z u n k v e ki
i n t h e t j ü k n u l l a d i k m ó d s z e á b b i v í z s -
észre. E z t t e k
k é r é s r e — m i n d e n f é l e t ö v a
b e n a z a l a k z a t a b e é r k e z ő
Legeg y s z e r ű b b e s e t
s s é b o n y o l u l t a b b , a m i k o r a
l a p s z í n é t . ( 4 . 3 . 1 . ) E n n é l k i j E
n é l k ü l . . g i s s z a a d j a a z a b é s v i l á g o -
gálat á r g y a k n a k l e s z n e k s ö t é t e b
é n t 1 5 m o d e l l e z z ü k , í g y a t Í

ka m e r á t f é n y f o r r á s k e s z n e k a d o l g o k r a , m e -
f é n y f o r r á s o k 1 s sa
h a tlá sl
l a i k . ( 4 . 3 . 2 . ) K é s ő b b m á r a v i s s z a v e -
sabb o l d a V é g ü l p e d i g á r n y é k o k a t ,
k o s o l d a l u k l e s z . ( 4 . 3 . 3 . )
lyek n e k í g y l á t h a t ó á r n y é
í v á r
s ku ö
g v e t é s s e l . ( 4 . 3 . 4 . )
r é s e k e t m o d e l l e z ü n k r e k u r z t a l -
rőd é s e k e t , t ö k é p a l k o t á s i m ó d s z e r t t a r
ü k a r r a , h o g y a z ö s s z e s
l t e r ü n k e t f e l k é s z í t h e t j l y -
M o d d e l
g y v á l t o z ó t h a s z n á l u n k , m e
l e h e s s e n v á l a s z t a n i . E r r e e
z a , k ö z t ü k f u t á s i d ő b e n h o z I s ,
ma z
a v á l t o z ó t elhetj
r e n d ü k a v i l á g
e l a k é p s z í i n t é z i s m i k é n t j é t . E z t
nek é r t é k e d ö n t i é l e m ó d s z e r 1 5 m é s
, a k k o r e g y a z o n k é p b e n t ö b b f
a l a k z a t o n k é n t m á s - m á s l e h e t e l y -
de h a
p a l k o t á s m ó d s z e r a d a t t a g g a l , m
t o s z t á l y t e h á t k i e g é s z ü l e g y k é
jelenhe t . A z a l a k z a e l e n í t h e t ő a l a k -
s t a r t o z n a k . E z e n k í v ü l a m e g j
é r d e z ő é s b e á l l í t ó f ü g g v é n y e k i
he z l e k v é n y e k e t . ( 2 9 . t á b l á z a t . )
a k é p a l k o t ó é s k a p c s o l ó d ó f ü g g
zatok s z á m á r a e l ő k é s z í t j ü k

a l k o t á s i t e c h n i k á t i s t á m o g a t h a t
á z a t . E g y a l a k z a t t ö b b k é p
29. tábl

( 3. 2 . , 4 . 2 . 2 . , 4 . 2 . 3 . )
a g o k
:
t
a
t
j
a
d
d
ó
i a
.
j
s m
d i
ék r
ed
.

ik o t á e g é s z s z á m
és18SZ ab

vivállt f F
üggvény a g p a l t a tnáyst
a
t
l
a
á
r
s
t ahté
s;e g g
(helyzet:
e n t r k
. s zú öté s r e :

MGÉgy
d eá g g e ő . á r
i
virtuális sf ü g g y é s i
p o n t s z e r ű ( m i ség:
o t á só..
, ó : á r ) : szí
u
virt lá l i s
fyőz e t :
étnrya k
n é
s zpfaolrkm á c i v i z s g á l s u g
v i l á g c í m e , h e l y z e t : trans z f o r m á c i ó , .
legjob b ( m i n d e n s é g : zzábá
z i ó s s z i n t : e g é s z s z a m ) : S z é l vat
ke p estg á l ó : S u g ár , r e k u r

h o g y a z a z e g é s z h i e r a r c h i á n
g v é n y b e n m e g v a l ó s í t h a t n á n k ,
A móds z e r b e á l l í t ó f ü g
m é s z e t e s e n c s a k a z a k t u á l i s a l a k z a t o k a l áó ak
t a r t oozná)g, é s m i n d -
fus s o n v é g i g ( t e r
. H a e z f o n t o s , k é s ő b b e g y r e k u r z í v f ü g g v é n n y e l m e g v a l ó s í t h a t j u k ,
egyiket állítsa át
e g y s z e r ű ü r e s c s ő n é l . ( A m i t f e l ü l b e d o b u n k , a z p o t t y a n
most a z o n b a n m a r a d j u n k a z
alul.
. regiaAtA m ó d s z e r b e á l l í t á s ( m ó d s z e r : e g é s z s z á m )
u képa l k o t á s m ó d j a : - m ó d s z e r
u alakza t p m ó d s z e r l e k é r d e z é s ( ) : e g é s z s z á m
a
u vissz ké p a l k o t á s m ó d j a
A k é p a l k o t ó f ü g g v é n y p e d i g e g y s z e r ű e n t o v á b b í t . A m ó d s z e r a l a p j á n k i v á l a s z t j a a
g h í v a n d ó f u n k c i ó t , é s á t a d j a n e k i a b e m e n ő p a r a m é t e r e k e t , a v i s s z a k a p o t t a t p e d i g
m e
vis s z a a d j a .
u a l a k z a t k k é p a l k o t á s ( m i n d e n s é g : v i l á g c í m e , h e l y z e t : t r a n s z f o r m á c i ó ,
v i z s g á l ó : s u g á r , r e k u r z i ó s s z i n t : e g é s z s z á m ) : s z i n
ik ha módszerlekér d e z é s ( ) - 1, akk vis o r s z a ké p a l k o t á s t a k a r á s ( )
u ha módszerlekérdezés() - 2, akkor vissza képalkotás árnyalás (helyzet,
vizsgáló)
ha módszerlekérdezés() - 3, akkor vissza képalkotás pontszerű
imindenség, helyzet, vizsgáló)
na módszerlekérdezés() - 4, akkor vissza képalkotás legjobb (mindenség,
helyzet, vizsgáló, rekurziós. szint)
vissza alapszín. -VORÉENEZBB]
Céls e g ű v á l t o z ó b a n t á r o l n i . " Í g y n e m k e l l m i n d e n
s é 1 m ó d
2jJEKtumra külön-s z e r t e g y g l o b á l i s j e l l
k
ülön megadni a megjelenítés módját.

44)
Attaattiilkiues,
miÍnden ob
(Om
rnyezet jektum számára ugyanolyan értékű adattagként, amennyiben a fejizzétő
ta
3 mogatja.
(Ct-t nyelven ezt a szatír kulcsszóval érhetjük el.)
l p s n g g e r ű k á n G E T
. ga, d

§ ?

á szan s z é s t t
e.

4 S Z A K T
5.

á b r á
e

B u s
.

- a
pa d B
Bi ; 1 Í
AAD 7 ! r
4 .
EN, B. Kés 16 ő i l d, i , C a 3 . kek bá sé
d p Íf
ún Am
i
ns
baz eséázttatádán éa hl
A Jaz rek A kh z ú a
. ( .
si d fi
szt Éva A És
Ae ME S 9"
ú dt"
e Ta
( Hl il A : §i B A.A
nai aa . a

; v e. m- £
RRa 7 BÉKÉS
. aa
j KŐ
zh! es jé s
9 414) ee . ktA Mt Mg 3 ha
s Já és ta
- 0 p §6
:8
s . 6ALULtA WV
i v/ Ta KN e
Éz
éa
B :pi sed
r
ts d. .
Atya
a vedi 62" a

ILUL der
sz a k

114
- KK. a hp a
b.
SZIÍ"AN€I€. SZÍT
a.

aminek
Ty
-
Mg
a t o k
60:
S.
a
j
l a kzas

tag
az
.

k a p
jj

u
Á

n
.

k ,
i n
s s
Í
ü g
h
y
a
e
t
l
s
ü
z
h n
ö
a k
tégyunTésk,
e g y g e t
ú.

p é l
yett dául
F I

é l e i t ,k o c
A

t
ae

e s t e
ony

a k
!, me

ztiuk
h-
E .
EKE 1
A

l e
SÖT
s e m h e t
j j
s e j t
befoly
4 at
a z o l d a l a k í 1 5 e g y b e t o y n a k , é s ü n k a 6€ y

e.)
Ráadásul c s a k a k ö r v o n a l á t l á t j u k
a k z a t f e l é p í t é s é r ő l , a n n ak
é p a l a p j á n a z e r e d e t i a l
elő á l l í t o t t k

n o s s z í n ű o l d a l l a p o k
á s o k n é l k ü l a z a z o
39 . á b r a . F é n y h a t a k
ó v e s z t e s é g e t o k o z n
i n f o r m á c i
a s z n o s n a k b í z o - — g g g
e g y s z e r ű s é g e e l l e n é r e h
á s s z í n ű , a m ó d s z e r t a z m i l k
Visz o n t h a m i n d e n m a k , a z é l e k e t a s z í n v á l t o z á s o k
g o n d o s k o d n 4
a k ü l ö n b ö z ő f o r m á k
t a l á n o s t e s t e k n e k k
n y u l . A t é r h a t á s r ó l
e k e t k a p h a t u n k , a z á l
s o k s z ö g e k r e s z é p k é p s z
te s t e s í t i k m e g . A s z í n e s n a k l á t s z i k . )
d á u l a g ö m b e g y k ö r l a p
g n i n c s r é r h a t á s u k . ( P é l k é r i f e l , a z t , A r
mé g m i n d i s a k a k i v á l a s z t o t t a l a k z a t o t
n d s z e r m á r c H j
A sz í n m e g h a t á r o z á s á r a a r e
n y n e k n e m l e s z b e m e n ő
a k a r á s o s k é p a l k o t á s f üggv é
a l e g k ö z e l e b b v a n . Í g y a t
amely i k i n d e n e s e t b e n u g y a n a Z , a z á l t a l á n o s ,

a z e g y s z e r ű f ü g g v é n y m t ő
par a m é t e r e . M i v e l e z b a n a m e g j e l e n í t h e
e z t a f u n k c i ó t . ( P o n t o s a b
j e l e n í t h e t ő a l a k z a t l á t j a e l
n e m m e g é g é t . )
o s í t j á k a z ő s n e k e képess
al a k z a t o k n e m m ó d
ktás.
o t a k a r á s ( ) : s z í n
mum a l a k z a t p k é p a l
l a p s z í n . l e k é r d e z é s e )
um v i s s z a a

E g y s z e r ű á r n y a l á s
4. 3 . 4
r r á s s a l i s e l l á t j á k . E z ú g y - a h o g y
a t a z o b j e k t í v f ö l ö t t e g y f é n y f o
e o k a m e r á k o l g o k m ö g ö t t
A j o b b v i d
t , á r n y é k o k a t n e m v e t v e . ( A z á r n y é k o k a d
ilágítja a f elveendő t e r e g y e ? "
é n y s u g a r a k n a g y j á b ó l m e g e
k a m e r á b a n . ) A k i á r a m l ó f
a m i n e m l á t s z i k a a i
v l e n t é t e s i r á n y ú a k . ( 4 0 . á b r a . )
f e l v e t t e k k e l , c s a k e l
n e ka
l á t o t t k a m e r a . A k i b o c s á t o t t é s b e é r k e z ő f é n y s u g a r a k
40. ábra. F é n y f o r r á s s a l e l
állása n a g y j á b ó l m e g e g y e z i k

r r á s é p p e n a f ó k u s z p o n t ( a k a m e r a n y í l á s a ) l e s z . E z t a z é r t
Modellünkb e n a f é n y f o
m e r t n e m v a l ó d i f e l v e v ő t h a s z n á l u n k — é s n e m i s i g a z i f é n y f o r r á s t .
tehetjük meg,
v i z s g á l ó d u n k , m i n t h a m i n d e g y i k f é n y n y a l á b a z é p p e n a k t u á l i s v i z s -
E g y s z e r ű e n ú g y
n n e . A Z á r n y a l á s t t e h á t ú g y o l d j u k m e g , m i n t h a z s e b l á m p á v a l k u t a k o d -
g á l ó s u g á r l e
s z o b á b a n . M i n d i g é p p e n a z t a z a p r ó r é s z l e t e t ( p o n t o t ) v i l á g í t j u k m e g ,
nánk egy sötét
amit éppen a v i z s g á l ó s u g á r r a l l e t a p o g a t u n k .
Még egy aprócs k a t u l a j d o n s á g t ó l v o n a t k o z t a t u n k el : a f é n y i n t e n z i t á s a a v é g t e l e n -
ben sem változik. Bár m i l y e n t á v o l r a u g y a n o l y a n e r ő s e n v i l á g í t u n k . Í g y c s a k a b e e s é s i
szögtől való függés t k e l l v a l a h o g y l e í r n i .
A beesési szög egy adot t f e l ü l e t e l e m n o r m á l v e k t o r a és az er re a fe lü le tr e b e e s ő
fény iránya által közbez á r t sz ög . A f e l ü l e t e l e m n o r m á l v e k t o r a p e d i g a fe lü le t a d o t t
pontjához tartozó érintősíkjára merőleges vekt or . (4 1. áb ra .) H á r o m s z ö g e k e s e t é b e n
ez az érintősík maga a háromszög síkja (4.2.5 o .) , r i g ó b a n lé vő g ö m b n é l a n o r m á l v e k -
tor pedig a döfésponttal egyenlő (4.2.8.).

SX

tí aka V
abra. A beesési szög a becső irány és a felület normálvektota által bezárt
szög
ú a.
r " €
:
) g ! 8La
pa , ba
á iP, ts)
UG l
a vátzePP A
ky A MY
MG etha s d $ [j edésa eeisja- 9 is VA.
95. rir1i
.
/ 2 (9 bég ml
a
2 ő dd E mt
a

k a l á r i s a n ö s s z e s z o r o z z u k a
g h a t á r o z á s á h o z p e d i g s
s z ó g k o s z i n u s z á n a k m e d i g o s z t j u k e z e k h o s z -
A bee s é s i á l v e k t o r á t ( 2 ) , a z e r e d m é n y t p e
( ) é s a f e l ütn
l e o r m 1 5 e l v é g e z h e tjü k , é s a
fé n y i r á n y á t a l ) . A z o s z t á s t e l ő b b
o s s z u k r e c i p r o k á v
l ( s z o r o z z u k a h
sz á v a v é g r e a m ű v e l e t e t : ,

tjuk
4

t h a
$

á l t v e k t o r o k o n h a j
"fi j

jú; norma l i z
nal 6
1 I ij
il
1; csa —-—n 1
es

o t z á s k e l l : e g y s k a l á r i s é s
í t á s á h o z í g y c s a k k é t s z
á r r a a d o t t v á l a s z e l ő á l l á l s ö t é t e b b
A v i z s g á l ó s u g z u k a s z í n v e k t o r t , a n n
1! k i s e b b s z á m m a l s z o r o z
f e l ü l e t
y s k a l á r r a l v a l ó . M i n é l
s e b b a k k o r , h a a f é n y a
, eg
n á l a l a c s o n y a b b . ) L e g k i
A z ö s s z e t e v ő k é r t é k e a n o s z í n u s z a n u l l a . L e g -
lesz. ( g y a n i s a b e e s é s i s z ö g k
a l p á r h u z a m o s , e k k o r u e z k i e l é g i -
elem é r i n t ő s í k j á v s u g á r z á s . A v a l ó s á g g a l
e , h a m e r ő l e g e s e n é r i a
o b b ( e g y ) a s z o r z ó é r t é k é t v e s s z ü k , m e r t 4
n a g y o s z i n u s z á n a k a b s z o l ú t é r t é k
v a n . A b e e s é s i s z ö g k
tő ö s s z h a n g b a n ( 4 . 3 . 3 . )
s z á r n u n k t a é r d e k t e l e n e k .
l d a l o n f e l l é p ő f é n y h a t á s o k
túlo

sz — s z , " I z . i e .
t , a k é p a l k o t á s n a k e z a m ó d j a
z á m o l j u k k i a f é n y h a t á s o k a
m i n d e n a l a k z a t r a í g y s n t é z i s b e n ;
Mivel g y a n n e m v e s z n e k r é s z t a k é p s z i
k z a t o k h o z t a r t o z i k . A z o k u á r
az á l t a l á n o s a l a
k n a k . A v i z s g á l ó s u g á r n a k m
i k a m e g j e l e n í t h e t ő a l a k z a t o
de t u d á s u k a t t o v á b b ö r ö k í t a - r e n d s z e r é b e k e l l
m á c i ó v a l a z a l a k z a t k o o r d i n á t
e r e p e v a n . I n v e r z t r a n s z f o r
kom o l y s z g y f ordít v a é r v é n y e s e k r á a m ű -
r t a k ü l v i l á g b ó l é r k e z i k , í
a k í t a n i . ( A z é r t i n v e r z , m e
al
vel e t e k . ) o r m á c i ó , v i z s g á l ó : s u g á r ) : s z í n
t á s . á r n y a l á s ( h e l y z e t : t r a n s z f
m a l a k z a t p k é p a l k o
o z ó i d e l i g l e n ezín
s : s
m v á l t
s a j á t s u g á r : s u g á r
vá l t o z ó ( v i z s g á l ó )
t p s u g á r . i n v e r z . á t a l a k í t á s
saját . s u g á r : h e l y z e z á s
í n . l e k é r d e z é s e ( ) e s k a l á r r
á all .z e s
t eztotr;
i d e i g l e n e s p é r t é k a d s
á ( a l a p s z r m a l i z
t . s u g á r ) p - n o
r m á l v e k t o r (sa j á
z o l ú t . é r t é k ( n o
(abs . l e k é r d e z é s e ( ) p n o r m a l i z á l á s ( ) ) ) ) )
skaláris ( s a j á t . s u g á r p irány
vis s z a i d e i g l e n e s
tap mbdlb été ára 94-i

a elíor a
skaláris szorzata
geza (Azpmerös mé ge
sós) Így a szín in te nz it ás a se m lé p ki a me ga do tt ii :

4. 3 . 3 . Á r n y a l á s p o n t s z e r ű f é n y f o r r á s o k k a l
r e l a n a p f é n y t ő l . ( H a c s i l l a g á s z a t i t á v l a t o k -
A po n t s z e r ű f é n y f o r r á s k é t d o l o g b a n t é
e m , m e r t a n a p p o n t s z e r ű n e k t e k i n t h e t ő . F ö l d i k ö r ü l m é -
ban viz s g á l ó d u n k , e g y b e n s
ü l ö n b s é g . ) E g y r é s z t a s u g a r a k n e m p á r h u z a m o s a k ő ! , m á s r é s z t
nyek köz ö t t m á r v a n k
i p o n t o k a t g y e n g é b b e n v i l á g í t j a m e g . [ 7 5 ]
a t á v o l a b b
A fotomet r i a e l s ő a l a p t ö r v é n y e é r t e l m é b e n a m e g v i l á g í t á s e r ő s s é g e ( E ) , v a g y i s
hogy m i l y e n i n t e n z í v f é n y é r i a z a d o t t f e l ü l e t e t , f o r d í t o t t a n a r á n y o s a f e l ü l e t é s a
l . ( A t á v o l s á g a f é n y f o r r á s é s a v i z s g á l t p o n t
fényforr á s t á v o l s á g á n a k ( 7 ) n é g y z e t é v e
között é r t e n d ő . ) 168]

Esmet
tehát minél messzebb van egy pont egy fényforrástól, annál gyengébben megvilági-
tott. Közvetlen közelében a fény eteje végtelen, a végtelenben pedig egyáltalán nem
érveny esül aA h atása,

A megvilágítás erőssége egyenesen atányos a fényforrás intenzításával (D és a


beesési szög (0) koszinuszával. (A beesési szög a fénysugár és a döféspontjához tar-
normálvektor hajlásszöge.) Adott felületelemet ért fényerő így

c Osszetüggést a színek szotzásaként visszük be a modellterűnkbe. (Ami nem


[a ssnt a szinösszetevők értékének szorzása.) A világítótest színképét (12) meg-
111a4s hi Int a Te 8 wa: ű ő A "ge e. ő . ,

ep

"k az alakzat saját színképével (sz) és a megvilágításerősséggel. A színképek


szorozzuk An k3 í

SZOTZAS: it As AZA ; fg "TAL ET ,


5 " Citet vektorok skaláris szorzásától mert egyszerüen - Í
a komponens-
erték ket
fOTOZZUK Össze, nincs összeadás. Eredményül szintén egy vektort kapunk.
ZOTT vii 1. ; : i 1. s gy / .. : a ;

A
Nem15
"é2Orzas, maszkolás a helyes elnevezés. 4.1.2.)
k.Ct
pont távolsága (7) a helyvektoruk különbségének abszolút értéke.
01
A D dö-
-5DOI1 és b
. tényforrás középpontja esetében ez

rz]jD-FI.
ee e ST LÉT
üem
Bariranyriúaazak he — i. nnen a sugáÉrzás
5 ú1 rá virá
elnevezés,
7 aj
E S R E G E T T B e t E
KE
ai áeá té Apá g ,u ViUEa e
re
6
ET e
ret10r
4 9 b
.
AL
i .
[
fi
í
.
. Y a
kez ő L G t 9 l P S r ut A ; AA

EA KY AR M
EE E a A L A K
hé.
j : 4! u Cetli E hari Ős atal u eg a Nt A Mllteszt ún

j "ls ús jÉ - ZéVe hé
21)
-.
szál
e ü ő ,

i
A / ;

!
PV

ti
104041
tés dekal É sáái Jégen e "úg pi S NET A

Annak abszolut ErtékRe. té



A ? A. 24 f
. 09 4 mű I A s 1
A) 7 "hn r S (j x kő gi pe d . 4 ése 8
£. és cual Él SZT
k vaz
LA a
A
a
szlanta Pá wet b ze zdés 19 , Pa
; ! ;
n UA
Hl
d . ik ké és" Óz 86 ; a

19 7 :
0 L ZvAáL
;
ú . J NY megy Ya ú ra 4 8 ú 3 ea
at áá . ;
4. a a 4
. av .
[/ .É
.

zzz úl 3 e ég sstl e anSadCela


8 A. 23 izű " , . . az ee a . we dmet ". ul 71 vgy a 1 [

ta k p ee

EVET a k m e ; jz $zik.
c sáim 0 es St

s z e f ü g g é s a f e l ü l e t e g y s a s z á l
At e l j e s ö s
B e r g t ( 3 - E J A
s

(a ; a megj
sZ . -óval nagyobb is lehet, jelenítendő szín
öitágk
; gyilágítás erőssége 1-nél d ; tl hi eghatározott 1-es érté-
jege a e is KEZlsen meghaladhatják sells dát meggyullad
a zetággáz lk világban például azt jelentheti, hogy 82 ilyen helyeken a ma-
ket? Ez az sg muétain éri. Mi ezt nem modellezzük, így és dát y
eltűnnek, az oldalak összetoryté"
ökaán lép fel, és az élek z e r ű e n ö s s z e g e z z ü z
k ü
. k H a
héjszp
irnál is reny z
t é(n . H a t áAs u k a t e g y s
t ö b b f é n y f o r r á s e s e a m e g j e l e n í t é s
Ugy a n e z t ö r t é n i k a ( e
. rt t ú
t l
ú v
l i
v liál g
á i
g í t o t t l e s z ,
r é r t é k e t , a k k o r o t t ( 1 g a -
a m e g e n g e d e t t h a t á
k é: p i n f o i n f o r m á c i ó t a r t a l m a .
ú l
t misl é p i k I l y e n k o r c s öG k k e n a
v iv i s z o n t m a x i m á l i s . : h a m o s a n . ) A f e l -
sze m p o n t j j
á ább ó
ó ll m a e t §e s s , m s g ék t

s z e m ü n k é l e t t a r t a ;

lethű m o d e l l e z é s n é l ű
n
á l i s a
7
t i m
z

y a f é n y f o r t á s o k a t o p
ú l óf e l a d a t a t e h á t , h o g
eSZ m h o g y e z z e l a m ó
a g y o b b p r o b l é m a a z ,
: K i c s i t n
f ü e k . N e m f i g y e l j ü k ,
á; s o k p e d ii g e t t ő
ő l l f ü g g n
n y e l , a f e l l é p ő s z í n h a t
á-rr be a b e e s ő f é n n t é t e s t .
l j a a f é n y f o r r á s s a l e l l e
m á s i k o l d a l a l e á r n y é k o
8ogy j úv a

g á l j u k á t s ó o l d a l a i s v i l á g 9 .
s

e k h
e:

a b e e s é s i s z o g
z öeg e t v i z s a t e s t
á b r a . H a c s a k i s
4 2 .

l r t k ö s E B S B é t p m e r t a
JEz
e S e
S k o r l á t o z w b , e n d s z e r ü n k b e n i s c s a k a z é r t ,
e k e t ké s ő b b k o r l á t o -

sz A v a l ó s á g b a n n i n c s g y
r
n y o m t a t ó n s z e r e tön é n k m e g j b e s t d i n k é p
g ű m o n i t o r o n v a
s s é
zo t t k é p e
MEGT 31:fanPÁL 0 K
s ; TÖRTÉN "6 87

keletkező s z í n t e g y g y e n g e
rörtrészév e l . ( 4 . 3 . 4 . ) ü t
s i s z ö g t o m p a s z t Ehh s
Más i k m e g o l d á s , h a a b e e s é
e r n e k n o r m á l v e k t o r a i m i n d i g a r z e t b á l k ö l ö k E N U L A S U A A I 4 6 : §
hogy 2 fe l ü l e t e l
t e k e s e t é n s z i g o r ú s z e r v e z é s t í g n y e l ( 3 . 2 3 ;
Sajnos ez h á r o m s z ö g e k b ő l f e l é p ü l ő t e s
e r ű m e g v a l ó s í t a n i ( 4 . 2 . 8 . ) . " á l g ü l n k
míg péld á u l g ö m b e s e t é b e n e g y s z

43. ábra. Valósághű árnyaláshoz a n o r m á l v e k t o r o k ki fe lé m u t a t n a k

Ha a normálvektorok mindegyike kifelé muta t, ak ko r eg yb ől a be es és i sz ög ko sz in u-


szát kivonva, majd az ered mé ny t fe le zv e a ki bő ví té st kö nn ye n me go ld ha tj uk . Az
eg és z tá rg yo n eg y sz ép , eg ye nl et es át me ne te t lá th at un k a vi lá go sb ól a sö té tb e, és cs ak
az átellenes pont koromtekete. (44. ábra.)

bag
a Je
áörÉs

0,5

1—-c0s5a
2 z0

44. ábta, Ha a beesési szög tompaszög í


s lehet, az árnyalást egyszerűbb
megoldani
l


4 u.
É ,
4 a
A
Á
fh]pú
pp ( LA 7 jő
"a
a [) Hi
j be
ú j a oz f
01 , d A AA
a 4 A At
, a AJ A
§ né
) 4 kr 4
"We
8 4Ű/
a i fil e !
j
"
s
1)
Bi v9 Á

n2 k
ú es
j : av
j
i 1)
t. b
Ati e
! nd f
4
-
j
(b 4
" - u
4 mt Me 5 es. 4

k z a t f e l é , h a n e m ú
f é n y j ö n a z a l a s .
n t i , h o g y m e m 2 v o n á s J ó l ö s s z e a d á
F- ,t t e l e l e t t a z 1 - e s u t á n a k i
t j ü k f e lh á . vs
é nyf o r r á s t : E z é r t a t e s t e k e t ú g y é p í
ve.
Jo z z : m e g a f g y k ü l s e j e . D e h
á c í s á r ö l e .
n e k n i n c s b e l s e j e v a
r ő l a z ó r a m u t a t ó j
Eg y h á r o m s z ö g
r b a n b e j á r v a k í v ü l
g y 2 c s ú c s o k a t s o l é m u t a t ó n o r m á l v e
ro m s z ö g e k b ő l , h o ) v e k t o r a t e s t b ő l k i f e "48
k o r a ( B C ) ? ( A - C o k e l é r é s é r e .
z ő e n h a l a d j u n k , a k ó s á g h ű f é n y h a t á s
egy e h a s z n á l h a t j u k a v a l
r a . ) E z t m á r f e l
tor. ( 4 5 . á b

( B - O x ( 4 - O

4c á j )
s z e r i n t j á r j u k b e
n é z v e ó r a m u t a t ó
z ö g e k e t k í v ü l r ő l
á b r a . A h á r o m s
45. k o z ó
18 e k c s ú c s a i t a v o n a t
r t a n i a h á r o m s z ö g
Z i g o r ú a n b e k e l l t a i l á g o s , i l l e t v e 4
a m e g o l d á s h o z S elén l e s z e g y f v
E h h e z a t e s t s ö t é t s s é g ?
e g y e t í s e l r o n t u n k ,
e h á t n a g y f e l e l ő
sz a b á l y t : H a a k á r c s a k
o k b e á l l í t á s á t t
f o l t . A n o r m á l v e k t o r e . j
o s o l d a l á n e g y s ö t é t b r e n d s z e r ü n k b
világ h i b a b e k e r ü l h e t a s z ű k e b
t a t ó
m e r t a z o t t e l k ö v e t e t t
t b ő l k i f e l é m u
kü l v i l á g r a b í z n i ,
h a t á r o z z a m e g a t e s
e g j e l e n í t ő a l g o r i t m u s í t u n k e g y
i z t o s a b b , h a a m j á t . I n n e n 1 1 1d
Leg b
e l l a t e s t e g y b e l s ő p o n t l
E h h e z i s m e r n i k a s u g á r r a
normá l v e k t o r o k a t . n t j á n i r á n y á b a . E z z e l
a l k o t ó s u g á r d ö f é s p o a k
é s a
y e n e s t ( s u g a r a t ) a k é p H a a d ö f é s p o n t
féle g
é p í t ő ö s s z e s h á r o m s z ö g e t .
ü k e l m e t s z e n i a t e s t e t f e l á r a t l a n , a k -
megkí s é r e l j o n t o t i s bel e s z á m í t v a — P
s e k s z á m a — a d ö f é s p P á r o s
o n t k ö z ö t t i m e t s z é s z ö g e t z á r b e .
be l s ő p
b e l s ő s u g á r r a l h e g y e s
ó n o r m á l v e zze
k tlo a
r e
kor a k i f e l é m u t a t )
z ö g e t . ( 4 6 . á b r a .
n y i l v á n t o r m m p a s
es e t b e n
b arte a 9

pee St
ML Pu: G
a EKE k
. a

"gy

jebénőÉ ; e ínak megh


HR gyk TEN ZETat
j
móds
fizzel a a rrel szakát
zeá dő ői. lyes n
ae it esoscsup á n e g y b e l s ő p o n t o t k e l s
l s á e
l eg z a g u r ó z á s á s 1 La
aid szi:
at F mt
sé ső
[ ?
i

a h i b á s m egy
e g k
a d áas a l l a s s
érdemes a k ö r n y e z e t t e b í z n i , m e r t
nyezhet. (Amelynek a megvil ág ít ot t K É R T E S st s h e anzétba gi pejzzis 3) pe
A belső p o n t m e g h a t á r o z áel
s ős
á hzöor v
z é zerűen kíválasztun e g y , ; p as t
rb en . In ne n su ga ra t in dí tu nk a te st felü té Fo pontta ír és 3 ke79
l
tot a té
testfelületet ez a sugár páratlanszor metszi, készen vagyunk.Ha86 belseje a
kiválasztott pont mögött van — kicsit túlmegyünk rajta st ny 212). Bőfo
dulhat, hogy nagyon túlmentünk, és ismét külső pontba jt zt ugya
e"
ellenőrizzük.) Ekkor addig felezgetjük az FP; távolságot (sMrje ve
2).am
belülre nem kerülünk. (47. ábra.) Ezt a felezgetést érdemes korlátozni p
mert esetleg maga a test hibás, vagyis kétdunenziós részeket ERO
nincs, a felezéssel tetszőlegesen közel juthatunk a felülethez, hiszem
n

lmi — -0 hg
115-pee

Vagyis legyen bármilyen v


ékony a test a kiválaszto
előbb-utóbb belékerülünk. t t E f e l ü l e t i 4 ör
(Ha nem felezzük, hanem
harmadoljuk, 83 djkan
a távolságot, gyorsabban
célbá jutunk, )
k m e g h a t á r o z á s a
b e l s ő p o n t j á n a
47 . á b r a . T e s t e k
t e s t e g y é r i n t ő j e , H a
l ó s u g á r é p p e n a
l s ő p o n t o t v i z s g á g e n u l l a , á m
e l y z e t b e n 2 b e n n e k v a l ó s z í n ű s é
S z e r e n c s é t e n h v á l a s z t o t t u k k i , e é p p e n
v é l e t l e n s z e t ű e n H a e z a s u g á t
p o n t o t V a l ó b a n d e m e s b e é p í t e n i .
a P o c h a n i z m u s t é r
j k ü n d u l á s i p o n t o t
z e r ű e l l e n ő r z ő m e
v e k t o r t a , a k k o r ú
y e g y " t a r t o z ó n o r m á l r é k s z ö g . )
eg s t F p o n t j á h o z
t s z ö g m a j d n e m d e
m e r ő l e g e s 2 f e
g t e n n i , h a a b e z á r
o r i s c é l s z e r ű m e e k t o r - m e g h a t á r o z ó
s z t u n k . ( E z t a k k k b e b o n y o l u l t a o r m á l v
vál a h a a r e n d s z e r ü n
ü k , h o g y m i n d e n
r e b ő v e n e l é g , e t i r á n t . E l h i s s z
E g y e l ő í t ü n k a k ö r n y e z g e g y e z ő e n
e t t b í z a l m a t é p t a t ó j á r á s á v a l m e
al g o r i t m u s h e l y n é z v e a z ó r a m u
c s ú c s á t k í v ü l r ő l
s z ö g A , B é s C
h á r o m l é m á t m é g i s i t t
á l ó s u g á r , a p r o b
já r u n k b e . e t s z e n i e g y v i z s g á l v e k t o r
t o k a t n e m t u d e l m f é s p o n t é s n o r m
Ált a l á n o s a l a k z a n 3 z Z - C s a k a d ö
n f é l e t e s t r e u g y 2
g , h i s z e n m i n d e s t e k n é l .
old j u k m e v a l ó d i , l á t h a t ó t e h o z u n k
ö n b ö z ő a z e g y e s i d e i g l e n e s v á l t o z ó t
me g h a t á r o z á s a k ü l
e k t á r o l á s á r a e g y
j d
n k ö z t e s é r t é k e i n k h a t á s á t , m a
z a k ü l d e n d ő s z í a fény f o r r á s o
A v i s s
i k l u s b a n ö s s z e g e z z ü k
e z f e k e t e . E g y c
létre. E l e i n t e Z
a k z a t s a j á t s z í n é t . A
z k o l j u k v e l e a z a l
ma s
n

; [; ? 1 1 ( ( E , — D ) . n e )
sz 7 9 Sp,
2 - ( E ; D D T
iz]
. ( A f é n y f o rrások
ő f o r m á b a n l e í r n i
g é p s z á m á r a é r t h e t őrizni,
g é s t k e l l a s z á m í t ó á t c é l s z e r ű e l l e n
össze f ü g a d ö f é s p o n t t á v o l s á g
1 . ) A f é n y f o r r á s é s
á m a t i , i n t e n z i t á s u k
s z r t e l m e t l e n . k
u g y a n i s a z o s z t á s é g é v e l á t a l a k í t j u
t é n g í t s é
nu l l
A
a e
v
s
i
e
z s g á l ó s u g a r a t a p a r a m é t e r b e n k a p o t t t r a n s z f o r m á c
i
i
n
ó
v e r
s
z
e
é t h a s z n á l j u k . ( 2 3 2
E h h e z a z á t a l a k í t á s
o o r d i n á t a - r e n d s z e r é b e .
az a l a k z a t k S E K
r ű ( m i n d e n N E E c i m e ,
44 4 ) p a l k o t á s . p o n t s z e s e gg:: v i l á g
é n y a l a k z a t p k é s z í n
v i r t u á l i s f ü g g v g á l ó : s u g á r
f ) :
um f o r m á c i ó ,E v i
ú t z s z

l y z e t : t r a n s z
he g á r : s u g á r
l t o z ó s a j á t s u
wmi v á z e t t á m o g a t j a
t n e m m i n d e n k ö r n y e
bb l e n n e . D e e z
l d e f i n i á l á s s a s z e
s O p e r á t o r - f e l ü
saját Sugár: helyzetb sugár k
változó ide igl ene s: szí n
változó döféspont: vektor
döféspont: döféspont meghatározás (saját sugár) k
ideigl ene sP" ér té ka dá s (i de ig ie ne sb sk al ár ra l sz or zá s (0) )
ciklus index:7 a világban található összes fényforrásra:
u változó saját fény: vektor ?
m saját fényp értékadás (helyzetb vektor inverz átalakítás
(mindenségp fényforrás lekérdezése (index)p helyzet lekérdezése()))
u v á l t o z ó t á v o l s á g : v e k t o r
u távolságp értékadás (saját fényp kivonás (döféspont))
u ha nem döféspontp egyenlő (saját fény), akkor ideiglenesm értékadás
(ideiglenesp összeadás (mindenségb fényforrás lekérdezése (index)
színkép. lekérdezése() b skalárral szorzás (mindenségp
fényforrás lekérdezése (index) intenzítás lekérdezése() - (1 4
távolságp: normalizálás()p skaláris szorzás (normálvektor lekérdezése
(saját sugár)p normalizálás())) / (2 - négyzetre emelés (távolságp
abszolút érték())))))
u ideiglenesp értékadás (ideiglenes maszkolás (alapszín lekérdezés()))
u vissza ideiglenes

4.3.4. Árnyékok, visszaverődések, törések


A testfelületnek alapvetően háromféle tulajdonsága van. Egyrészt jellemzi, mennyire
matt, majd mennyire tükröz, végül hogyan töri meg a fényt. Figyelembe
vehetnénk
még olyanokat is. mint például mennyire érdes, mennyire k
emény, de a megjelenítés
"eempontjából ezek nem annyira lényegesek, elvonatkoztatunk tőlük. Csak a mat
tsá-
gOt, a tükrözést és a törést togjuk modellezni. [2]
úgy felület akkor matt, ha a ráeső fényt minden irányban szétszórja. E
zt máskép-
ja diffúz54 felületnek hívjuk. Jó példa rá a meszelt fal vagy a padlószőn
yeg, melyek
vUágossága, lényessége nem függ a nézeti iránytól. (48. ábra.) A fénytelenség, a beeső
tény szétszórásának valódi oka a felület durvasága. Ez valójába
n apró, tökéletesen
hepehupák tömkelege, amit ésszerűtlenség lenne modellezni.
tükröző Aa a 44 AA : , p PA z 1

54
A diffúzió
úZ16 lati1 4 . aló a dj v
" eredetű szó, jelentése szétterjedés. Itt a fény 4
szétterjedéséről van szó.
őt 4
- kh A

8
.
eyeet A g E N T Á K 4 3 : 8. jea", ség
all !

T T V
ag
ka
9 a ; a
szd

s
MEL

z
va

A N G
4:
al "s 97 $

E
r

id!"
öz

gere e a t e y E N j
a.
)

gy z e t j
RB
j
éld
éra i
ka a
I e
f
Et i
.. Wa

7 Í " 7 ;
GY //é 11,
eg
Fr
; d .
a

, í" V ]
4

n a n é z e t i i r á n y t ó l
e s s é g e f ü g g e t l e
m a t t f e l ü l e t e k f é n
48. á b r a . A
t e t s z ő l e g e s i r á n y b a
m e g a d j a , h o g y e g y -
e l l e m z i , m e l y b a n — a z e n e r g i a
l e t e t e g y s z á m j a a v a l ó s á g
A d i f f ú z f e l ü a b e e s ő n e k . E
ő kő
e r ő s s é g e h á n y a d a
h i s z e n a v i s s z a v e r ő d
z ó r ó d ó f é n y s u g á r a r t o m á n y b a e s i k , Mi
s — € 3 9 k o r l á t o s t
r e n d s z e r ü n k b e n
d á s é r t e l m é b e n a b e e s ő é n é l . 5 5 A m i
me g m a r a
m l e h e t n a g y o b b s t m e g - út
Ö S S Z e n e r g i á j a n e e r g i a m e g m a r a d á
fé n y s u g a t a k a d h a t ó , í g y a k á r a z e n
n a - 6
őle g e s e n m e g e n e g y n é l
s;
y ü t t h a t ó t e t s z k e e b b e n a z e setb
a d i f f ú z e g e g y ü t t h a t ó é r t é
e á l h a t u n k . ( A z
e l ü l e te k e t 1 5 k r
sért ő f e e s é s i
r v é n y e s z e r i n t a b
g y o b b . ) r ő d é s ( r e f l e x i ó ) t ö
f é n y t . A v i s s z a v e m e r ő l e g e s e é s
k ö r v I S S Z A V e r i a g a f e l ü l e t b e e s é s i
A t ü v i s s z a v e r ő d é s i S z ö i r á n y b ó l
d é s i s z ó g e g y e n l ő . A c s a k e b b ő 1 a z
és v i s s z a v e r ő s s z a v e t t f é n y s u g á r
k ö z ö t t i s z ó g . A v i
s s z a v e r ő d é s i i r á n y
a v i a r á n y á t
. á b r a . ) l y a f é n y e l n y e l é s
láth a t ó . ( 4 9
v a l j e l l e m e z h e t ő , m e t
é s m é r t é k e e g y A l a n d ó a f e l ü l e t e n e r g i á
A v i s s z a v e r ő d H a e g y n é l k i s e b b ,
a v e r ő d é s t ö k é l e t e s . k . I l y e n
e z e g y ; v i s s z
e r ő s í t ő k e l e t k e z i
mutat j a . H a
k o r t e r m e l — e g y f é n y
k e g y n é l n a g y o b b , a k á g h ú e n s z e r e t -
nyel e l , h a a z é r t é
k b e b e l e f é r . H a v a l ó s
é t e z i k , d e m o d e l l t e r ü n
s á g b a n u g y a n n e m l á g á t . [ 3 4 ]
való u k a b e á l l í t h a t ó é r t é k n a g y s
l l e z n i , m a j d k o r l á t o z z
n é n k m o d e
49, ábra. T ö k é l e t e s v i s s z a v e r ő d é s

r m a d i k f ő b b t u l a j d o n s á g a a f é n y t ö r é s ( r e f r a k c i ó ) . A b e é r k e z ő f é n y s u
A felületek ha
vár e g y r é s z e a f e l ü l e t e t k e r e s z t e z v e a t e s t b e l s e j é b e n t o v á b b h a l a d . ( I d e á l i s e s e t b e n
telj e s f é n y n y a l á b . ) E r r e a t e s t e k n e k c s a k e g y r é s z e k é p e s , n e m i s o l y g y a k o r i , m o d e l
lü n k b e m é g i s é r d e m e s e l h e l y e z n i . A t ö r é s i s z ö g a m e g t ö r t f é n y s u g á r é s a b e e s é s i m e
ről e g e s á l t a l b e z á r t s z ö g . ( 5 0 . á b r a . ) A S n e l l i u s — D e s c a r t e s - f é l e t ö r v é n y é r t e l m é b e n :
beesés i s z ö g ( 0 ) é s a t ö t é s i s z ö g ( B ) s z i n u s z a i n a k h á n y a d o s a u g y a n a r r a a k é t k ö z e g r e
a beesési szögtő l f ü g g e t l e n á l l a n d ó , m e l y n e k a n e v e r e l a t í v t ö r é s m u t a t ó ( 7 9 :

sin a , .SIC
—-n ebből ? — a r c s i n
sin ő

Ha "S 1, nagy beesési szög € s e t é n e l ő f o r d u l h a t , h o g y a tö ré si s z ö g m e g h a t á r o z h a t a t -


lan. (A kifejezésnek nin c s é r t e l m e , m e r t p é l d á u l e g y n é l n a g y o b b s z á m n a k s z e r e t n é n k
adsz ssészeriő meghatá r o z n i . ) E z n e m v é l e t l e n , h i s z e n a v a l ó s á g b a n i l y e n k o r n i n c s is

törés, hanem te lj es a v i s s z a v e r ő d é s , v a g y i s t ö k é l e t e s a t ü k r ö z ő d é s . E z t m i is t a p a s z -
talh at ju k, h a v í z al ól n é z e l ő d ü n k ki fe lé . E g y k ö r b e n a k ü l s ő v i l á g o t l á t j u k , a z o n tú l a
medence al já t. [ 3 0 ] [ 8 va t TV 3
A fénytörést a tö r é s m u t a t ó n k í v ü l r e n d s z e r ü n k b e n e g y i n t e n z i t á s i á l l a n d ó is je l-
lemzi. Ez adja meg a tö ré s sú ly át , a t o v á b b h a l a d ó té ny er ős sé gé t. H a ér té ke eg y, id eá -
eg yá lt al án ni nc s tö ré s. ( E k k o r az an ya g át lá ts za tl an .)
lis tö ré sr ől be sz él ün k, ha nu ll a,
eg yn él n a g y o b b ez s e m e h e t , va gy is n e m lé ph et ki n a
A valómisántgbaanmi beesett 4 felületre. élnia fizika törvényeire fittyet hányva engedélyez-g y o b b en er gi áj ú
fé ny ,
fr de hi sadÁTŐ fontos a betartásuk, természetesen egy étrtékhatár-ellenő TAP

közbeiktathatunk: 2 7 B "
;

ú
[/

?

á b r a . A f é n y t ö r é s e
ÉN
d1
50.
-
sa

x i ó É S r e f r a k c i ó — k ü l ö n
s á g o t — d i f f ú z i ó , r e f l e
n k b e e h á r o m t u l a j d o n s t ö r v é n y e m i a t t
Rends z e r ü á r a z e n e r g i a m e g m a r a d á
g g e t l e n ü l é p í t j ü k b e , h a b ö r n y e -
külö n , e g y m á s t ó l f ü v a n e g y s ú l y a , m e l y e t a k
M i n d e g y i k j e l l e r n z ő n e k
l ó s á g b a n e z n e m Í g y V a n . j e , a t ö r é s m u t a t ó . ) A
a v a m é g e g y t o v á b b i j e l l e m z ő
g : ( A f é n y t ö r é s n e k v a n
ze t h a t á r o z m e
í t h a t u n k k i . 6 0 . t á b l á z a t . )
j e l l e g z e t e s f e l ü l e t e k e t a l a k
súlyok k o m b i n á l á s á v a l
t e f r a k c i ó s e g y ü t t h a t ó j a
d i f f ú z i ó s , r e f l e x i ó s é s
a t . N é h á n y f e l ü l e t t í p u s
30. t á b l á z

L út
s a

íj
Felül e t t i p u

Mat t f e l ü l e t
I d e á l i s tükör
id e á l i s tö r ő f e l ü l e t
ükrö z ő d ő a s z t a l l a p

s z e m p o n t j á b ó l f o n t o s , c s a k a k ö z v e t l e n
A dif f ú z i ó s z á m u n k r a c s a k a f é n y f o r r á s o k v C "
§

m e g v i l á g í t o t t t e s t r ő l v i s s z a
e r ő s e n
mmp
ú a- mu

e g y
maj
a a

v i z s g á l j u k . A v a l ó s á g b a n
dege

megvil á g í t á s o k a t á m e t t ő l
y h a t á s o k a t e g y m á s i k t e s t f e l ü l e t é n ,
é n y s u g a r a k u g y a n o k o z h a t n a k f é n A v i z s -
rődő f h a e z t i s m o d e l l e z n i é s z e t t e r ő
M i t k e l l e n e t e n n ,
ü n k
mi e l v o n a t k o z t a t u n k . t o k r ó l
t o v á b b v i z s g á l ó d n i , m i l y e n s é d j á g
d ö f é s p o n t j á b ó l v é g t e l e n i r á n y b a n
gálósugá r

a, ta klt l l l l
is ő J sZ 5 ú
l : § adá 4 úg ö. j ?
Í 4 "eve l 4

Min
.

sgálathoz h a s o n l ó a n oldjuk meg.

e n i . E r e d m é n
:

s z
nm

e t
2(

l m
:

e
k

ű :
fe

j
7(

e l
a 6

é r
erek

k í s
e

g
113

m e
At 8 8

l e t v e
:

t , i l
.

a t o
4

szük az Ö S S Z E S a l a k z
viz

hatás
k a p u n k . H a e z k i s e b b , m i n t a v i z s g á l t f é n y f o r r á s d ö t é s p n t
gzzel seézttt
egy távol n a
íg
a z a k t u á l i s f e l ü l e t e l e m á r n y é k b a n v a n . ( 5 1 . á b r a . ) Í g yc ő f o
i a H o l d o n j e l l e g z e t e s . F ö l d i k ö r ü l m é n y
3 : k o k a t k a p u n k , a m
k e l e t k e z ő s z í n h e z . ( E zak o n s t a n a
s z
d e m e s e g y a p r ó k o n s t a n s t h o z z á a d n i a
között É r d l . )
s z í nnek
é t ö r t r é s z e
alakzat s a j á t

pe v
771414,eNASRZSO
1 oz azaa
1 paA .
. e task
reg?

-- am a A
sp
EEG
4 s [AU
ni ,
! pe "A

KEZEM Eoez
ez pz

s é s a v i z s g á l t a l a k z a t k ö z é e s i k
r a . A z á r n y é k o l ó t á r g y a f é n y f o r r á
5 1 . á b

r á n y ú s z j e g t é s s t m é s e sa n i m e z s ú
r ő d é s t é s t ö r é s t e g y - e g y m e g f e l e l ő i
A visszave l l s a k
i l á g t
t ó
ó l e r r e v ál a
z sSz u
S l l kea p
gao t
m t e s
t zaí n
b t p es z y á s á á b é n á k e
val valójssítij u k m e g . A v i l
zuk) a m e g f e l e l ő i n t e n z i t á s e g y ü t t h a t ó v
kor azt a vizsgálatot kihagyhatjuk. sí zt a esze
es et be n a e l n e gisvegrel s s á eK
s ÉL ÉY ]el ér
Az új vizszálósogát mi nd ké t
tehát adot t. Irá nyá nak meg hat áro zás áho z eg bek a vala mint a tov ább hal adó
fénysugár, a beesési merőleges (2 néni mi
kik
megtört vagy visezityésbi Hé fözni She a beesőt (4) ésa felület normálvek-
B visszaverődési irány V : azt a tényt, hogy 4 visszaverődés és a beesés SZÖBE
torát (7) használjuk fel, valamin ünk, elindulunk egy rombusz egyik oldalán,
megegyezik (0). Vektorokat jéé oldalon folytatva beérkezünk a kiindulási-
majd az átló já n vé gi e h e s áb ra .) Mi nd ez t a fe lh as zn ál t ve kt or ok li ne ár is ko mb i-
val szemben lévő csú 4 UNE ÉS
nációjaké n t í r j u k l e .
v:2 : - n , I b l r c o s a t b .
j "
p 31

p
é § yi gör!
- . fan Br :
j 79 L

h g k e l e r é é g J E S E A

ő
z r
tg
(ITOGÉE J A
agá
61

á s t o s á
!
Í
: a z
j b
. I

n 4
!

éj ge
p ő s 2
sz d!

t
ság

z é
ak

EZ e
. ?
z á r j 1 4 1 4 8
B
vygt
0]

a
4

Ae
Aödd
4

i r á n y m e g h a t á r o z á s a
r a . A v i s s z a v e r ő d é s i
5 2 . á b

n y é s a b e e s ő m e r ő l e g e s e g y s é g -
á r o z á s á h o z p e d i g a b e e s ő i r á
A b e e s é s i s z ö g m e g h a t b e , n e k ü n k a m e l -
i s a n . H a e z e k t o m p a s z ö g e t z á r n a k
vek t o r á t s z o r o z z u k ö s s z e s k a l á r k . A m e n n y i -
r t a s z o r z a t e l l e n t e t t j é t v e s s z ü
a n s z ü k s é g ü n k ( 5 2 . á b r a ) , e z é
lé k s z ö g r e v á n y b a , a z á t l é p e n d ő f e l ü l e t
s s z ő g , a n o r m á l v e k t o r r o s s z i r
ben b e z á r t s z ö g ü k h e g y e s z ü k s é g ü n k . A z
g y a n c s a k a z e l l e n t e t t r e v a n
f e l é m u t a t ( 5 3 . á b r a ) , í g y u
túls ó o l d a l a e l v e s s z ü k .
ún
di
Kel wa
met
"eza

t m i n d e n e s e t b e n m í n u s z e l ő j e l l
-sz
—g
ET
sg
aWísgáttzátatlltő
Te-

egységv e k t o r o k s z o r z a t á t t e h á
b-n
jea ESE E K E T
3
el e 9 9
pasi s e e . z á r ; ag
át 8 e
í
44 Ve da

. rós zlin jehüv e z s é t z9X

2 CG YEN 1 ftivő

a t ö r é s ii r á n y 7 e
. g
e h
a t ö r é sj s m á l v e k t o t t (d)
tői
s s z o r z á s t h a s z n á l u n k . A v á b b s z i
vekt o r j á l i ta j d a z e r e d ő v á l t o
z u k a b e e s ő i r l n e t r h e am
rj á l i s a n m e g s z o r o z ú k t o r t ( 9 ) . " 7
a p j u k a z é r i n tőir á n y v e
e t n o r m á l v e k t o r á v a l . Í g y k
a f e l ü l
e-n x b x n .
s z ö g ( A ) s z i n u s z á v a l s z o r o z z u k , é s
é g v e k t o r á t ( n o r m a l i z á l t j á t ) a t ö r é s i
Enne k e g y s u s z A - s z o r o s á t . ( E g y
n o r m á l v e k t o r e l l e n t e t t j é n e k a kosz i n
hozzáa d j u k a z e g y s é g n y i p j u k a t ö -
o z z u k m e g az átfog ó j á t . ) E z z e l k a
g ű h á r o m s z o g b e f o g ó i v a l h a t á r
derékszö
r é s i i r á n y t ( ) . ( 5 4 . á b r a . )

t—e, " s i n d — n , c o ső.

a . A t ö r é s i i r á n y e l ő á l l í t á s a
54. á b r

set

s k a l á r i y e t , hogy —2 -z4i, m e r ta k é s
t z o r z á s j e l n e m 9.
— e g y i k a g h e l y e t t ,
E
a
Z r j a a z e l s ő t
KÉS
ben
s N e m , í c h a t j u k S a k e z t á o a k ,
kese a mű v m e m desreinz j t é e : ö l i K G Á B E a
s p t t t
i telivégre h a j t a n i .
§7 4 műv e l e t n e m
k á s á s G r á l "ap jú Ű ül

t
r

a
a

Tee
él 5
JA
ya i
ny § Jő jdÚ 4;
9 EGY Ál I 941
ú j e
e "MB
É heti
L
14
! a 2 a ? sű haz
CI.M
a eket ús J Mt a A
a ÓN
eg psi ja h ast
a...
re n
ja
s
[4
:
eg
hgy
kt z
a b

;
d ú ha sz
(zástziázl i
ed új
a 0 () (629 r3i ( 4-1! ,
av b ú
. rod
9
a y
(/
e t t nszaz a
e
s mé
r
a e sát 28 -
tm
.
j kÖlő
rarri ké i a . ú
. 8
po
Ea húga evi

z ü v e g p o h á r b a ö n t ö t t p á l i n k á l
nata k t l e n c s é j é t a a t m o s z f é r a e g y ü t t h a t ó t ,
g e g y
07

z o n t h o z z á v e s z ü n k m é c i
r a k a t m o d e l l é z z ü k . V i s s z a n a k . ( E z t c é i s s é n ű
su g a f e l ü l e t e k m e n n y i r e l á t
t a t j a , a m e g v i l á g í t a t l a n
z á r n y é k o s r é s z e k e s e t l e g v e i l á -
mely a z t m u
i , m e r t t ú l n a g y é r t é k e s e t é n a
jóval k i s e b b r e v á l a s z t a n g g v é n y e k r ő l s e m
a d a t t a g - h o z z á f é r ő f ü
m é s z e t e s e n 2 p r i m i t í v
gos a b b a k l e s z n e k . ) T e r
ü n k m e g . Ő 1 . t á b l á z a t . )
; f e l e d k e z
t a l á n o s a l a k z a t b ő v í t é s e
31. t á b l á z a t . Á l
ii
1 a l a k z a t
j 2 . 2 . 4 . 2 . 3 . )
ed d i g i a d a t t a g o k ( 3 . 2 . , 4 .
a y s z ó r á s : v a l ó s . s z a m
fén
k
tük r ö z ő d é s : v a l ó s . s z a m
8 ö r e é s : v a l ó s . s z a m
fényt
ö r é s m u t a t ó : v a l ó s . s z a m
t
a t m o s z f é r a : v a l ó s . s z a m
é n y e k ( 3 . 2 . , A 2 D a A á t s ő s l
eddig i t a g f ü g g v
á s . l e k é r d e z é s e ( ) : v a l ó s . s z á m
fénysz ó r
s . l e k é r d e z é s e ( ) : v a l ó s s z a m
tükrö z ő d é
r é s . l e k é r d e z é s e t ( ) : v a l ó s s z á m
fény t ö
a t ó . l e k é r d e z é s e ( ) : v a l ó s . s z a m
törés m u t
é r a l e k é r d e z é s e ( ) : v a l ó s s z a m
atm o s z f
. b e á l l í t á s a ( ú j . s z ó r á s : v a l ó s s z a m )
fé n y s z ó r á s
l í t á s a ( ú j . t ü k r ö z é s : v a l ó s . s z á m )
tük r ö z ő d é s . b e á l
s . b e á l l í t á s a ( ú j . t ö r é s : v a l ó s s z á m )
f é n y t ö r é )
. b e á l l í t á s a ( ú j . m u t a t ó : v a l ó s s z á m
töré s m u t a t ó
. b e á l l í t á s a ( ú j é r t é k : v a l ó s s z á m )
at m o s z f é r a

á r é r t é k h a t á r - e l l e n ő r z é s t i s b e í r h a -
l í t ó é s J e k é r d e z ő f u n k c i ó k b a n a k
Az a d a t t a g - b e á l A n e g a t í v t ö r é s m u t a t ó -
é r t e l m e v a n ő n e g a t í v e g y ü t t h a t ó n a k .
tunk , h i s z e n n e m s o k o d e l l e z h e t n é n k s p e c i á l i s t ö r é s s e l .
e z e s e t b e n a t ü k r ö z ő d é s t m
n a k p l á n e n e m , b á r
d e z é s e Ő : v a l ó s s z á m
kg f é n y s z ó r á s . l e k é r
m v i s s z a f é n y s z ó r á s
z ő d é s l e k é r d e z é s e l : v a l ó s . s z á m
u t ü k r ö
u v i s s z a t ződés
ü k r ö
ar All 5-4
em

hi "ál A
d a

(4 ;
1 0 j

po
"a

snytörés lekérdezése: valós. szám


s ea fénytörés
törésműtató. lekérdezése ): valós szám

v a vis sza tör ésm uta tó


ős oszféra lekérdezés e: val ós sz ám
u vissza atmoszféra — Í c w i n e
ú rényszórás beállítása (új . szó rás : va ló s sz ám )
a ha újszórás 2 0, akkor fényszór ás : új. szó rás , eg yé bk én t fén ysz órá s:- 0
tükröződés. beá llí tás a (új tü kr öz és : val ós szá m)
2 0, akk or tük röz és: z újtü kr öz és , eg yé bk én t tük röz és: - 0
a ha újtükrözés
u fén ytö rés beá llí tás a (új . tör és: val ós sz ám )
u ha újtörés 2 0, akkor fénytörés: új tör és, eg yé bk én t fén ytö rés :- 0
törésm uta tó. beá llí tás a (új mut ató : val ós szá m)
u ha újmutató 2 0, akkor törésmutató:- újmutató, egyébként
törésmutató:- 0
u atmoszféra beállítása (új érték: valós szám)
u ha újérték 2 0, akkor atmoszféra:- újérték, egyébként atmoszféra:- 0
A képalkotás függvény három részből áll. Egy ilyen részben egy jellegzetes tulaj-
donságot (fénytelenség, visszaverés, törés) modellezünk. Az elején megvizsgáljuk az
aktuális intenzitási együtthatót — ha ez nulla, nem érdemes számolgatni, mert a vég-
eredmény úgyis fekete lesz. A szín összeállításához egy ideiglenes változót haszná-
lunk, mely kezdetben fekete. A függvény elején meghatározzuk a döféspontot és a
normálvektort, mert erre még többször szükségünk lesz.
u virtuális függvény alakzatp- képalkotás legjobb (mindenség: világ címe,
helyzet: transzformáció, vizsgáló: sugár, rekurziós szint: egész szám): szín
u változó ideiglenes: szín
B ideiglenesp értékadás (ideiglenesp skalárral szorzás (0))
u változó saját sugár: sugár
M saját sugár:z helyzete sugár. inverz átalakítás (vizsgáló)
4 változó d ö f é s p o n t : v e k t o r
in döféspon t : 5 d ö f é s p o n t . m e g h a t á r o z á s ( s a j á t s u g á r )
út változó norm á l : v e k t o r
u normál:s n o r m á l v e k t o r ( s a j á t s u g á r )
A diffúzióval kezdünk, mert ez csak a fényforrásoktól függ, nem igényel további re-
kurziót. A fényforrások hatását egy ciklusban összegezzük, a részeredményt az ideig-
lenes változóban t á r o l j u k .
um ha f é n y s z ó r á s . l e k é r d e z é s e ( ) 2 0 v a g y a t m o s z f é r a l e k é r d e z é s e ( ) 2 0, akk
cikl u s i n d e x : 7 a m i n d e n s é g ö s s z e s f é n y f o r r á s á r a ! .

A fényerő, vagyis a fényintenzitás meghatározásához a fotometria két alaptörvényé.


y
ből levezethető
7 LÉ ;
.. .
d
e
tam is KAVI
. Le ert
-
- e éllyppip at . 3 o.
-— SE"a BET2 . Evéa. g e 8 . (szt ú dcAK (0 h
/Z Át
C
éz eg írsz
ÁASNA t s,
a j1
,
8, e
nt 14 y atz ISI AV
sza. at PA 7.
08 hő ke" 2 A le ek
mel é Dés§ iz ké be 5 fos) tág
pb VA, A 0 1 ei an í fe
h áe e ét. e i ? jé
)
bas 9. e Kazak Ha € 94 e. ed 4 szasa
a. A . -4 k h e. ve EK
Mast ja a
.. [hé

LtEeInIyVlorrásc
at É
mess ép a, ml d Hál vi
A
49
:
bd — 4 Va

ye s
VI

NT ER VE
5-4

TA
(ss W 19291) sa3: en.
O
1 :1 8
I
tág hd a ep da a o ag

4L S
2 vő An

9A e

. S y
v
r
EEZL
É d , ha APA
e
j

EZOÖÍ
t "
adat
k , tl . 1 k
.
.

A"
u a EZ e

.: nedio10 4
r
én
. . a

jee
8 s

;
a e . ? s
tn
Ve
e 9 tg WY a al [
; AK. d 0 w Te a
3 ü e a
959 5
Fegl,
3. sze te e , HÁ d d ké 24
k N bead
PC 1 54 TA ddocAuth ee 4 .
.. í
94 3-6 Nesze

z
" 4
kej e

a
j
"aa fi
ez sálinLa 57

y
AT
p.

l
4 d A

e
a ris
b:

m
-
V "€£

y
a

a
é n
es"

f
n/ a EA 040

,
s

i
g
l
st
ral

á
á
t u
1

s
k
0

a
AZ

l
46 ! .-.

o
§ GE

v
ző. mn 5sttazazt o

z
á
40

A
t

t
.
AA mú

a

s

n t o
s

o
ő
. oO

f
"t " mit 1 34

l
s
a d
.

ó
;

b
k " . e
ú e - . ; Hő
S .eg 9
pe
e
7 a Tf
j .
,
e úg
j

árnyékolás szempontjá
ma j / öl
:

o -
a

b s z
je

a
1
el
ú j D y gi
ő
ő
b
B Y .
é
4
g
SEZZÉNY
a n b s é
ER
l ö
Ch fa me

a z o k h e l y v e k t o r a i n a k k ü PA VEÉR ,6 REA NT LÉ; ? sa rejte EG 2 2998

Az
a d ö f é s p o n t ( D ) t á v o l s á g á t
forr á s ( E ) é s E G :
ozzuk M
mza
ziEz
c

l e t t e l h a t á r
I
ű v e
E
m
-p -
eúb2
e
h.

tát é r t é k
0 —a
Es
vi
-anm
R

za
Ven.
daea
ek -aj
"a-upi

a
nb
kk
ús
-s
k-
mSi
a§aAke
Vg jds

a Ép
-MJ

- Ba
9a8s Étel
e.
sti
BI,na
he
"e
VM
ki
€a ceene
fd "ze
hd
j Tt
dea
Atz- ét

es
É- "

Tt a pisi
u v á l t o z ó v e k t o r : s a j á t . f e n y
i o t art a k t e v é s e
f é n y p é r t é k a d á s ( h e l y z e t b
m saját denségp fényforrás. lekérdezése (index)p helyzee v e k
i n vte r z A t l e k é r d e z é s e ( ) ) )
H (min
: alvék
s z a m gr :
v a l ó s .
; w v á l t o z ó t á v o l s á g :
p o n t p k i v o n á s ( s a j á t . f é n y ) a b s z o l ú t . é r t é k ű Tá
jí a t á v o l s á g : d ö f é s e g y ú j v i z s g á l ó s u g a r a t i n d í t u n k a v i l á g m i n d e n s é g b e , a z
ató a n z r í t á s á h o z e g k ö z e l e b akzatot
b i a l
i s z á m í t t ő ó é b t i a a d ö f é s p o n t . A l J ő
1 A z ü z g y é k o k k n t j a a s e t a ; e g e s
f é n y f o r r á s i r á n y á b a : ó p o a f é n y f o r r á s - d ö f é s p o n t
:§ ális ) A z i n d u l ó t á v o l s á g é r t é k
k g e l á n h a s z n á l j u k . ( 4 . 2 . 2 . V I Z S -
1 vegre l g o r i t m u s n e m K É S A z ú j
:§ i a l a k z a t o k k a l a z a
g y a z € m ö g ö t t e .
k ö z ö t t i l e s z , í
g k o o r d i n á t a - r e n d s z e r e
l a k í t j u k a k ö r n y e z ő v i l á
g á l ó s u g a r a t v i s s z a a e ! a z b i r
ö z e l e b b i . v i z s g á l ó : s u g a r
u v á l t o z ó l e g k é n y p k i v o n a s
p i r á n y b e á l l í t á s ( s a j á t . f
l e g k ö z e l e b b i . v i z s g á l ó
g . p e
p o n t ) p n o r m a l i z á l á s ( ) )
(d ö f é s s a ( d ö f é s p o n t )
á l ó p k e z d ő p o n t . b e á l l í t á
men
aal
Ő,
——
gy
§ melák
ez

aa l e g k ö z e l e b b i v i z s g
e l y z e t e s u g á r á t a l a k i t a s
ve
zeng
semen
SSE
SZ

g k ö z e l e b b i . v i z s g á l ó : - h
si le
g k ö z e l e b b i . v i z s g á l ó )
(le á m
z e l e b b i . t á v o l s á g : v a l ó s s z
u v á l t o z ó l e g k ö
b b i . t á v o l s á g : t á v o l s á g
"ő l e g k ö z e l e
i e l y z e t : t r a n s z f o r m á c i ó
m i v á l t o z ó l e g k ö z e l e b b h
k z a t : a l a k z a t h i v a t k o z á s
v á l t o z ó l e g k ö z e l e b b i . a l a
u k ö z e l e b b i a l a k z a t ,
g p t e g k ö z e l e b b i . k e r e s é s ( l e g á l ó )
u m i n d e n s é
o l s á g , l e g k ö z e l e b b i . v i z s g
h e l y z e t , l e g k ö z e l e b bi. t á v
tegkö z e l e b b i . é n y h a t á s o k -
m m i , a k k o r a p o n t o t é r ő f
n t k ö z ö t t n i n c s s e -
Ha a f é n y f o r r á s é s a d ö f é s p o
ő é r t é k k e l ( i n t e n z i t á s , b e e s C
n y s p e k t r u a me
m á t g—f e l e l
h o z z á a d j u k a z a k t u á l i s f é b e e s é s i s z ö g k o s z k
hoz é n e k f e c i p r o k a ) S Z Ó L O Z V A . A
z t n u s z a , t á v o l s á g n é g y z e t
si sz ö g k o s b b i ö s s z e f ü g g é s t h a s z n á l j u k :
m e g h a t á r o z á s á r a a z alá
nus z á n a k
c o s a z n i , " ( D - E ) ,
e g y s é g v e k t o r . Á r n y é k o l
e g e s é v e l ( 4 ) p á r h u z a m o s
. f ü l e t m e r ő l t h a t ó v a l . ( H a
é r t é k e t s z o r o z z u k a l é g k ö r i e g y ü t
ahol 4 " s z í n
8
kszámí vé k o k a t k a p u n k . ) i

ii 4 változó saját. S Z Í N : B E K ; : : B é s e (;i n d e x ) k


p s
. s z í n p é r t é k a d á s ( m i n d e n s é g p f é n y f o r r á s l e k é r d e z
a s a j á t
) ) 7 a E t a É E a E M E S É K É R T
színk é p . l e k é r d e z é s e (
o l s á g - l e g k ö z e l e b b i . t a v o l s a g é s t á v o l s á g ; 0 ) , a k k o r
ha nem (táv
z í n p é r t é k a d á s ( s a j á t s z í n p s k a l á r r a l s z o r z á s
saját s
z f é r a . l e k é r d e z é s e 0 )
(atmos
é r t é k a d á s ( i d e i g l e n e s p ö s s z e g z é s ( s a j á t s z í n
ideigle n e s p
s z o r z á s ( ( f é n y s z ó r á s l e k é r d e z é s e ( ) t
skalárral
f é r a l e k é r d e z é s e t ( ) ) : m i n d e n s é g p f é n y f o r r á s l e k é r d e z é s e
atm o s z
(index ) p i n t e n z i t á s l e k é r d e z é s e ( ) : a b s z o l ú t é r t é k ( n o r m á l p
normal i z á l á s ( ) p : s k a l á r i s s z o r z á s ( d ö f é s p o n t p - k i v o n á s ( s a j á t f é n y )
norm a l i z á l á s ( ) ) ) / n é g y z e t r e . e m e l é s ( t á v o l s á g ) ) ) )
t é v e l a z a l a k z a t s a j á t s z í n é t s ú l y o z z u k a z ő t é r t f é n y h a t á s o k k a l . E h -
A ciklus befejez
a d j u k a s z í n t ö r t r é s z é t , h o g y a m e g f e l e l ő a t m o s z f é r á t i s u t á n o z h a s s u k .
hez még hozzá
Ezután m e g v i z s g á l j u k , n e m h a t o l t u n k - e e l é g m é l y r e a r e k u r z i ó s o r á n .
A paraméterben kapott v i l á g m i n d e n s é g t a r t a l m a z z a a r e k u r z i ó s m é l y s é g e t . H a e z t
elértük, itt vis s z a l é p ü n k , n e m f o g l a l k o z u n k t o v á b b i t ö r é s e k k e l , v i s s z a v e r ő d é s e k k e l —
egyébként a re ku rz ió s sz in te t n ö v e l j ü k eg gy el .
u ideiglenesp é r t é k a d á s ( s z í n l e k é r d e z é s e ( ) p m a s z k o l á s ( i d e i g l e n e s )
összeadás (szí n . l e k é r d e z é s e ( ) p s k a l á r r a l s z o r z á s
(atmoszféra lekérdezése())))
u ha rekurz i ó s s z i n t 2 m i n d e n s é g p r e k u r z i ó . l e k é r d e z é s e ( ) , a k k o r v i s s z a
ideiglenes, k ü l ö n b e n r e k u r z i ó s . s z i n t : - r e k u r z i ó s s z i n t it 1
Mielőtt továbblé p ü n k , e l l e n ő r i z z ü k , h o g y a z a d o t t d ö f é s p o n t h o z ( s u g á r h o z ) t a r t o z ó
n o r m á l v e k t o r a v i z s g á l ó s u g á r f o r r á s á n a k t é r r é s z e f e l é m u t a t . E z a v i s s z a v e r ő d é s i é s
törési irán y m e g h a t á r o z á s á h o z k e l l . H a e l l e n k e z ő i r á n y b a n é z , m e g f o r d í t j u k , m e l l e s -
leg a törésm u t a t ó n a k i s a t e c i p r o k á t v e s s z ü k , h i s z e n e b b e n a z e s e t b e n a t e s t b ő l h a l a -
i s b e l e t ö r ő d ü n k , h o g y a n o r m á l v e k t o r o k a t e s t e k b ő l k i f e l é m u -
dunk kifelé. Így abba
tatnak, és ne m f o g l a l k o z u n k e n n e k h o s s z a s i g a z o l á s á v a l . ( A k ö r n y e z e t r e b í z z u k a
beállításukat.)
u g á r i r á n y a É s a n o r m á l v e k t o r h e g y e s s z ö g e t z á r b e ( 5 3 . á b r a ) , s k a l á r i s
Ha a b e e s ő s
szorzatuk pozitív, mert ekko r a s z ö g k o s z i n u s z a i s p o z i t í v . E k k o r k e l l m ó d o s í t a n u n k ,
mert nekünk a tommp a s z ö g J Ó . ( A v a l ó s á g b a n a b e e s é s i s z ö g c s a k h e g y e s s z ö g l e h e t , d e
Hi dolgozun k — 5 5 . á b r a . )
mi vektoro
n k b e n t o m p a s z ö g
i s z ö g a m o d e l l ü
55. á b r a . A b e e s é s

s m u t a t ó : v a l ó s . s z á m
á l t o z ó a k t u á l i s . t ö r é
v
m u t a t ó . l e k é r d e z é s e ( )
. t ö r é s m u t a t ó : t ö r é s
aktu á l i s t u á l i s . t ö r é s m u t a t ó : - 1
s m u t a t ó z 0 , a k k o r a k
ha a k t u á l i s . t ö r é d e z é s e ( ) ) ? 0 , a k k o r
s ( v i z s g á l ó p i r á n y . l e k é r
o r m á l p s k a l á r i s . s z o r z á
ha n e l l e n t e t t . k é p z é s ( ) )
é r t é k a d á s ( n o r m á l p
mu m n o r m á l p é s m u t a t ó
fi a t ó : - 1 a k t u á l i s t ö r
Hi a k t u á l i s . t ö r é s m u t
m á l p n o r m a l i z á l á s ( ) )
m á l p é r t é k a d á s ( n o r a n u l l a , n i n c s
mum n o r
v i z s g á l á s á v a l k e z d j ü k . H
é s é t 1 5 a s ú l y á n a k m e g a v e -
A t ü k r ö z ő d é s m o d e l l e z
a g y o b b , e l ő á l l í t j u k a V i S S Z
z á m o l g a t n i . H a n u l l á n á l n
z a v e r ő d é s , n e m é r d e m e s s
"hi viss s g á l a t o t i n d í t u n k a v i l á g b a n .
r á t , m a j d e z z e l ú j a b b v i z
rődé s s u g a k k o r
ő d é s . l e k é r d e z ése ( ) 5 0 , a
u h a t ü k r ö z ő z
t o z ó v i s s z a v e r ő d é s : s u g á r á l j u k .
u v á l ö v e t k e z ő ö s s z e f ü g g é s t h a s z n
e g h a t á r o z á s á h o z a k
z a v e r ő d é s i r á n y á n a k m
A v i s s t o z t a t t u k .
e g y s é g n y i h o s s z ú s á gvá
ú v á l
A n o r m á l v e k t o r t f e n t e b b

vet e 2 e h k a g y t b e
v i l á g k o o r d i n á t a - r e n d s z e r é b e .
a r a t v i s s z a t r a n s z f o r m á l j u k a
A viss z a v e r ő d ő v i z s g á l ó s u g s ( 7 2 "
í t á s a ( n o r m á l p s k a l á r r a l s z o r z á
u vis s z a v e r ő d é s b i r á n y . b e á l l
( ) p s káarli s . s z o r z á s ( n o r m á l ) ) p
á t s u g á r p i r á n y . l e k é r d e z é s e
saj
u g á r p i r á n y l e k é r d e z é s e ( ) ) )
össz e a d á s ( s a j á t s
d ő p o n t . b e á l l í t á s a ( d ö f é s p o n t )
u vis s z a v e r ő d é s k e z
g á r . á t a l a k í t á s a ( v i s s z a v e r ő d é s )
mu v i s s z a v e r ő d é s : - h e l y z e t b e s u
g l e n e s p - ö s s z e g z é s ( m i nd e n s é g
m ideigle n e s p é r t é k a d á s ( i d e i
s s z a
v v
i e r ő d é s , r e k u r z i ó s s z i n t ) ) )
re k u r z í v . k é p a l k o t á s ( l l á l l í t a n u n k :
t t a t ö r é s i s z ö g e t 1 5 e l ő k e
a s o n l ó a n j á r u n k e l , c s a k i
A fén y t ö r é s n é l 1 5 h v a g y t e l j e s v i s s z a v e r ő d é s
ü k , v a n - e e g y á l t a l á n t ö r é s ,
e l ő t t a z o n b a n e l l e n ő r i z z l í t e t t Ö S Z -
Minde n e k
a r a t . A k ö v e t k e z ő , m á r e m
s z e r i n t i n d í t j u k a v i z s g á l ó s u g
követk e z i k b e , é s e
g é s e k e t h a s z n á l j u k :
szefüg
t—e, " s i n 8 — n e " c o s Ő ,

s ú d á l l E
ar" éT e Sy pé o n 2 Té 1 ;
)
(ő "élei Té sé Lt
;
b. ma h se "A a
. a

sze Ég j §. ú § .
vér i Há 91 s Hő :
d : e — ye A KT Ja KK h a av

b ze

FéRrs- a 297 A a b ei

érez És
l

2 AVON mes tádlbattsáa ze ut


A I ; vl bd 45" a n
bát e Fa " szd
f.

3 a: e
a é ké s KÉS be L
pete A
köl f

a. [4 5 úgy: d .
5 ú

égo tg
(dés ia sé fi

u ha fénytörés lekérdezése() : 0, akkor


u változó törés: sugár
u változó alfa: valós szám
m alfa:- arkusz koszinusz (- saját sugárp iránylekérdezése()m
normalizálás()p skaláris szorzás (normál))
u változó béta: valós szám
béta:- színusz (alfa) / aktuális törésmutató
u ha béta c 1, akkor
B béta:-z arkusz szinusz (béta)
u változó érintő: vektor
W érintőp értékadás (normálp vektoriális szorzás (saját sugárp
irány lekérdezése())b: vektoriális szorzás (normál)p normatizálás()
W törése irány beállítása (érintőp skalárral szorzás (szinusz (béta))p
kivonás (normálp skalárral szorzás (koszinusz (béta)))
u egyébként törésp irány beállítása (normálp skalárral szorzás (-2 -
saját sugárp irán y lek érd ezé s() e skal áris szor zás (nor mál) )jp
összeadás (saj át sugá rp irán y. leké rdez ése( )))
u törése k e z d ő p o n t . b e á l l í t á s a ( d ö f é s p o n t )
NM törés:zs h e l y z e t p s u g á r . á t a l a k í t á s a ( t ö r é s )
m ideiglenesp értékadás (ideigie ne sp - ös sz eg zé s (m in de ns ég p
rekurzív képalk ot ás (t ör és , re ku rz ió s sz in t) ))
Elkészültünk. Az ideiglenes színben összegeztük a három — fényszórás, visszaverés
És törés — alaptulajdonságot, már csak vissza kell adni az értéke t a hívó progr amrés z-
nek. (Ha mind háro m tulaj donsá g súlya zérus, most egy korom feket e szín megy visz-
Sza )
u vissza ideiglenes
[e Ja P.
ait Tv" €

He ee" vs Ni p
vu Va B fl
pi
. .

É és ? . ; KA .
pe y
ma
i
és ja
4 a ha
g d é
v
kánd )
H 4 a. K AR
i ; a ba
8! rö
; h :
j"Pi A A d
?
v
a.

d A
ám s "a
j i ú
i
(j
"4
A k k
4 ki j éa
1 HA j
d
:
?

e
hd ú

8
[1]

t t t l 3
z a zá e z e z á t e t o
z e . A z o s z t á o kk ö z i
. M o s t e z e k e t f o g l a l j u k ö s s z
bonyo l u l t , s o k l é p é s b ő l á l l á l l ;
o s z t á l v d i a e t : á t s z
l v e á b r á z o l j u k a r e n d szer
m e
sebb kap c s o l a t o k a t k i e
l d o z ó - f o l d c g i, f e j l é g d é s k k
e j l é c é t s z i n t é n á t t e k i n t j ü k . ( A t o
osz t á l y o k t e l j e s f 4

sosem l á t h a t ó . ) s t i á t
m u s á t i s b e m u t a t j u k a f u n k c i o n á l i s m ű k ö dlé eF ő d
Végül a k é p a l k o t á s m e c h a n i z
l . E z a d i n a m i k u s m o d e l l , m e l y n a g y v o n a l a k b a n m e g a d j a a r e n d s z e r
ram se g í t s é g é v e
működését. [ 1 5 ] [ 1 8 ] ( 2 0 ] [ 4 3 ] ( 6 1 )

Z
B SK Z T
g y e l i — F———
meg f i

képpont

. A r e n d s z e r o s z t á l y d i a g r a m j a 5 §
5 6 . á b r a
-4
kelái
fi A ei
"du
ke 1


Hi
E
1 a enztai

K E
ani MERETS T 7 8 ú g a l áEl é l E N R EjE M E N E S
" ze ss
4 száz fel ; a" a ű

da. BE
. :
. pe m ha.
B e .
§ i sa lt 4-1
!

é s t c í m n y ú lK É S Z J
) A J Ö B , K a ÉA E e e g
ejöüjkeal kapcsolat jellegét. (56. ábra.) [13] (1 9 ] [ 6 8 ]
o n l í t a n i a z z a l , a m i k o r m é g
á t é r d e m e s ö s s z e h a s
o s z t á l y d i a g r a m j l S É N Í N Ű K S A ú j
A k i f e j l e t t r e n d s z e r
F e l f e d e z h e t ő a z e l e d e
o z t u k m e g ( 1 4 . á b r a ) .
k a b e l s ő m a g j á t h a t á r
c s a
áb r á b a n i s ?

á l y o k ;
s s z e t e t t e b b o s z t
1 5. 2 . A z ö
de k l a r á c i ó j a
! á c i ó j á t ! M i v e l a f e j l e s z t é s m ó d s z e r e a
o s z t á l y o k d e k l a r r a f e j -
á t a b o n y o l u l t a b b a v i l á g é s a k a m e
T e k i n t s ü k o g l a l n i a z a l a k z a t ,
n é r d e m e s ö s s z e f a f e l é p í t é -
e t é s , m i n d e n k é p p e
e k i n t é s t n y e r h e t ü n k
b ő v í t g
g g v é n y e k e t . Í g y á t t
k e t , i l l e t v e a t a g f ü
lécét: a z a d a t m e z ő
r ő l , m ű k ö d é s ü k r ő l .
sü k

5. 2 . 1 . A l a k z a t
, 4 . 2 . 2 . , 4 . 2 5 . 4 . 3 . )
k e z d j ü k v e l e . ( 3 . 2 .
b o n y o l u l t a b b , e z é r t z a z
l á n o s a l a k z a t a l e g f ü g g v é n y e k b ő l i s e
Az ál t a . ( 3 3 . t á b l á z a t . ) T a g
á m o s s á g a 1 5 j e l e n t ő s
z a d a t t a g j a i n a k s z ( 3 2 . t á b l á z a t . )
Má r a l s z e r ű á t t e k i n t e n i .
i k a l e g t ö b b e l , e z é r t i gen cé
oszt á l y r e n d e l k e z

l a k z a t ö s s z e s t a g f ü g g v é n y e
32. t á b l á z a t . A z a

é t e r e k t í p u s a Vissza t é r é s i
n y n e v e Par a m
T a g f ü g g v é érték t í p u s a

y z e t . b e á l l í t á s a t r a n s z f o r m á c i ó e z t
hel
.,

ioó
,

tra n s z f o r m a c I
y z e t . l e k é r d e z é s e
h e l I
á m a
e
z
m
s
c í
k .
t
o
a
a t
g
z
i
k
t
rés z a l a
z a l a k z a t h o z z á
rréésszalakzat eltávolítása )AZTa d á s a o z á s
k z a t
alRaAy te t h i v a t k e s t
r d e z é s e egész s z a m EE
r é s z a l a k z a t l e k é
, d e s t r u k r
t o
kon s t r u k t o r
ka e Er ú
s
j e 7
0 §

7 A . a ,
j" vi
a ? gl de
v A f

Me Ni aZ !
4 j j ői "gt .-
é JV a
kJ
, !

valós szám címe


sugár

transzformáció
sugár
egész szám
norm á l v e k t o r lek é r d e z é s
döfé s p o n t . l e k é r d e z é s e
b e á l l í t á s a
E
módsze r
módszer lek é r d e z é s e ] T T Z E T T K
T N E N
képalkotás taka r á s [ T 7 O N T N s z
Ni n
S
kép a l k o t á s á r n y a l á transzformáció
s
sugár
, képalkotás pontszerű vi l á g c í m e
trans z f o r m á c i ó
sugár
képalkotás legjobb vil á g c í m e
transz f o r m á c i ó
sugár
ész s z á m


eme

n y s z ó r á s t a k á s á e z á s á t iT R E N T S
ö s á l ő t á l l . sá l l
——m

ü k r ö z ő d é s t e k é r
-tfénytörés lekérdezése ENNYEMENKEEYÉTEI EZ YT S á
éááöt
. tö r é s m u t a t ó , l e k é r d e z é s e v a l ó s . s z á m
zése
"fé n yatmos
s z óz
rf
áé
sr
b
a
e
l
á
e
l
k
l
é
í
r
t
d
á
e
s a . . 1V A L Ó K A Z É e
sz sl á áa k
.tü
I k r ö z ő d é s . b e á l l í t á s a
fé n y t ö r é s b e á l l í t á s a
t a t ó . b e á lí t á s a
töré s m u
atmosz f é r a b e á l l i s e d ;
s m]üV A Ó S ÁkZ A N ó
s z d e t
z AN K E L E A
L E T S E T
T
5. 2 . 2 . V i l á g , m é g i s é t -
b o n y o l u l t , m i n t a z ő s e
, 4 . 2 . 2 . ) B á r n e m o l y a n
i l á g e g y a l a k z a t . ( 3 . 2 . 1 . t a g j a i a f é n y f o r r á s o k
A v
o n t o s a b b k i e g é s z í t ő a d a t
e z n i a t u l a j d o n s á g a i t . F t á b l á z a t ) .
d e m e s ö s s z e g n e k a k é p a l k o t á s h o z ( 3 4 .
n y e i p e d i g e l e n g e d h e t e t l e
(35. t á b l á z a t ) , 2 t a g f ü g g v é

á z a t . A v i l á g t a g f ü g g v é n y e i
34. t á b l

t e r e k V i s s z a t é r é s i
f ü g g v é n y n e v e Paramé
Tag é r t é k t í p u s a
típusa

fé n y f o r r á s o k s z a m a
r r á s . h o z z á a d á s a fényforr á s c í m e
f é n y f o
r r á s . e l t á v o l í t á s a fényfo r r á s c í m e
fén y f o
o r r á s . l e k é r d e z é s e egé s z s z á m
y f
fén
konst r u k t o r , d e s t r u k t o r ZLL É É E
rek u r z i ó . b e á l l í t á s a egés z . s z á m
r z i ó . l e k é r d e z é s e
reku
l k o t a s EN E t s z
képa sugár
r z í v . k é p a l k o t á s
r e k u egés z s z á m
me d

éd é H í t

fé n y f o r r á s c í m d i n a m i k u s t ö m b —
ú

Mivel a világ az alakzat utódja, a felt ün te te tt ek en kí vü l te rm és ze te se n ES ET E e z a s


ssosztály addattagjait (33. táblázat) és tagfüggvényeit (32. táblázat) is. Ha az öröklés
módja? megengedi, ezeket korlátozás nélkül érhetjük el az utódokból, viszont még-
sem a leszármazottak jellegzetes tula jd on sá ga , ez ér t ot t ne m tü nt et jü k fel . if

5.2.3. Kamera
A kamera is meglehetősen összetett alakzat. Jól elkülöníthetők a statikus (felépítési)
és a dinamikus (képalkotási) tulajdonságai (3.3., 4.2.1.), amelyeket most összefogla-
lunk a jobb áttekinthetőség kedvéért.

36. táblázat. A kamera adattagjai

n é —
z JeG Mtt Z A. T A T R A
valós-szám

a 3a
KE
z c nyilvános öröklés esetén.
"9 C4-4 környezetben 9" a
d e n s ö t
:ÉS

É
7

9-8. B
f a. a
in

t,
mm

e e.
e

te röege T A a lk É n EJ g y á l s
dél ba-it
"aa
á s é , t
k e t e t pid ha la
ing. ege Bi gz 3 pe. - 4 t

vs ű1

, 8 kedn 5. ő OK
an édi típusa
ását, döl.
! .

E Z ENS É E L I 1 fa
P
hé g
zt

at
b

. vektor tl SA: hé Kl

.
"
6

r épté
e g GLOK A N K E N N
megfigyel e n d ő . b e á l l í t á s . c
.vi í
l á g m e
negf i g y e l e n d ő . l e k é r d e z é s I
ké p f e l f o g ó - b e á l l í t á s f i l m c í m e T T
3 kösketloek te k á r d e z é s e h l
Ta K E K R R E N N O R T O S O R N T S N KHKGES E
A N 1
S T K
4
I ;
kép a l k o t á s T
l e k é r d e z é s e S K G K K S K K E K É T N T C S T
aktu á l i s . o s z l o p .
sül
9e

k t u s o
á r .ll eik é r
s d e.z é s e cb p- ő" § ez. s.
a
;
megsz a k í t á s

Had
ngat
em
en
8s
Ven
ún

5. 3 . D i n a m i k u s m o d e l l
t e t i a n n a k m ű k ö d é s é t . L e í r j a , m e l y i k o b -
m o d e l l j e s z e m l é l
töttl,
me
me
.

Eg y r e n d s z e r d i n a m i k u s
a g y j á b ó ezt te
l s s z ü k m o s t p e r r e
t k é r d e z , é s r á m i t v á r v á l a s z u l , N
jektu m m e l y i k t ő l m i
( H a m o s t m i n d e n k i s r é s z l e t e t m e g
b b r é s z l e t e k b e n e m m e g y ü n k b e l e .
d e a l e g a p r ó ő
á s á t j e l e n t e n é . E z i t t c s a k á t t e k i n t é s . )
á n k , a z a z e g é s z r e n d s z e r m e g a l k o t
tárgyaln v i z s g á l ó s u g a r a t b o c s á t k i a k ö r -
a k a m e r á b ó l i n d u l . E z e g y
A k é p a l k o t á s m ű v e l e t
é s v á l a s z t v á r r á e g y s z í n k é p f o r m á j á b a n . A v i l á g a v i z s g á l ó s u g á r r a
ező világba, a szín m e g h a t á r o -
t a l á l h a t ó a l a k z a t o k a t . A l e g k ö z e l e b b i i l y e t f e l k é r i
es r a r c h i á n k e r e s z t ü l a d d i g v i z s g á -
kamerának. A z a l a k z a t a h i e
g y a t . ( P é l d á u l h á r o m s z ö g e t , g ö m b ö t . )
talál egy m e g j e l e n í t h e t ő t á r
ped i g e g y s z e r ű e n v i s s z a a d j a . A m e g j e l e n í t h e t ő
i színt, á m r e k u r z í v k é p a l k o t á s e s e t é n
ágba. (57. ábra.)
kibocsát

visszaad

57. ábra. A kommunikációs modeljf

5.4. A rendszer használata


A kész rendsz er sz ép és jó , de ön ma gá tó l mé g ne m mű kö di k. Ho gy ha sz ná ln i tu dj uk ,
valamilyen alkalmazást kell köré építenünk. Ez be ál lí tj a a re nd sz er me gf el el ő pa ra mé -
tereit úgy, hoggy av ilág me gj el en ít he tő le gy en . Pé ld áu l lé tr eh oz ka me rá t, vi lá go t, al ak -

zatokat, a kamerába filmet helyez, beá llí tja an na k mér ete it, fel bon tás át. Ig az án ös sz e-
tett esetben ez egy felhasználóbarát program, ami sokkal bonyolultabb, mint maga a
rendszer belső magja. (Bár az egyszerű tes zte lés hez is ér de me s eg y fe lh as zn ál ób ar át
környezete t k é s z í t e n i— 6. 3. ) M i e g y e l ő r e e l é g e d j ü n k m e g e g y s z i m p l a b e á l l í t ó p r o g -
rammal,
a változó képfelfogó: film
képfel f o g ó j a m é r e t b e á l l í t á s ( 3 2 0 , 2 4 0 )
vá l t o z ó m e g j e l e n í t ő : k a m e r a
változó segéd: vektor
segédp adatbeállítás ét "ar
segédp adatbeá l l í t á s ( 2 . , 0 )
seg é d p a d a t b e á l í t e
( 3 . , 0 ) es ösagéd)
megjelenítő fókuszpoP felf
megjelenítőp" f i l m . b e h e l y e z é s e t k é p f e t f o g ó )
age kept ea tanár éget
jozan szk korlátot,
td) A szaggatottan jelölt művelet tákat nullával szoktuk kezdeni, az
j e l e
t ed oz di na gos ENSZ e
4 ge agatotan
a nulla.
retry ks i
hg n 7 41 j "a piS
8; Á"T 18 ( d a
ked é " f
( v va ez:
ép b.
" 4 le
Hoe

J U /
ti

kö? (1 ., j
e nt-

.f j m m a r l a
adatbde t h o áal l
t í
t t
i atsa s I s ,
- p. L K Z At
all et
. ű
dá ia ő
ő J A S . .
szan TŰ A ( sú E
) hab 481
piha -

6é [/

és
8 vm e.

e 14
atás

70.-EJ E Az a át 5 1,
j í

gi
ti

u o b j e k t u m p s z í n b e á l l í t á s ( f e s t é k )
m m i n d e n s é g r é s z a l a k z a t h o z z á a d á s ( o b j e k t u m )
e g j e l e n í t ő p m e g f i g y e l e n d ő . b e á l l í mindenség)
t á s (
mum m
m ó d s z e r . b e á l l í t á s a ( 2 , v a g y i s e g y s z e r ű á r n y a l á s )
u minden s é g p
u m e g j e l e n í t ő k k é p a l k o t á s ( )
u k é p f e l f o g ó b m e n t é s ( " G o l y ó . t g a " )
l é t r e h o z e g y k a m e r á t , e g y v i l á g o t é s e g y a l a k z a t o t . K é t s e -
Ez a z e g y s z e r ű p r o g r a m
u s z p o n t b e á l l í t á s a m i a t t h a s z n á l , m e r t e z e k e t n e m l e h e t
gédobjektum o t a s z í n é s a f ó k
A z a l a k z a t e g y g ö m b , a m i t b e l e h e l y e z a v i l á g b a ,
közvetlen s z á m é r t é k e k k e l m e g a d n i .
a m e r á t b e n n e a f i l m m e l , é s m á r i n d u l h a t i s a k é p a l k o t á s , A
erre pe d i g r á i r á n y í t j a a k
e g y f á j l b a m e n t i e l , a m i t í g y b á r m i k o r m e g n é z h e t ü n k .
k e l e t k e z ő k é p e t
pndl ékétM s - v é r e k.
(r sss
j a) p ss ő e tal - T "$6

tá k a g gst
aA

boo ks
j

par ta
vedo

vét
a v, igy ég,
.

d. fejez
I é t

Bármit alkotunk, sosincs kész, MgvEni szó házról, festményről vagy grafikus rendszer:
ról. Az utóbbira ez fokozottan érvényes, mert csak a másolatot értékesítik, így a fej-
lesztő folyamatosan módosíthatja. (Míg a házat, festményt tulajdonosváltás után az
alkotó esetleg n e m 15 lá tj a tö bb et .)
A módosítást két fő irányban tehetjük meg: alkotásunkat optimalizálhatjuk vagy
továbbfejleszthetjük. Ezek általában egymásnak ellentmondó lépések. Ezt a követ-
kező egyszerű példán keresztül könnyen beláthatjuk. Ha a vektorok általános dimen-
ziójúak lehetnek, a dinamikus tátkezelés lassítja a működést. (2.1.) Ezért célszerű
optimalizálni: tegyünk mindent a térvektorok terébe. (Három dimenzió — rögzített
méretű tömbök a koordinátaértékek tárolására.) Am ekkor a közvetlen továbbfej-
lesztés lehetőségéről le kell mondanunk, illetve vissza kell nyúlnunk a korábbi válto-
zathoz, ha mégis magasabb dimenziójú vektorok kellenének. Az optimalizálás min-
dig egy oldalágat, zsákutcát jelent, melyből vissza kell lépni a továbbfejlesztéshez.
(58. ábra.)
Legjobbak azok az optimalízálási módosítások, amelyek nem zárják ki a további
fejlesztés lehetőségét. Két ilyet mi is megvizsgálunk: a kocka (3.2.3.) és a gömb
(5.2.4.) megjelenítését gyorsítjuk. Mivel egy grafikus megjelenítő rendszer mindig
lassú, annál inkább, minél valósághűbb képet állít elő, a munka nagy részét az algo-
titmusok optimalizálása jelenti. Ebbe nekünk, fejlesztőknek, nem célszerű túlzottan
elmélyedni, mi tartsuk mindig szem előtt a logikus felépítést és a lehető legáltaláno-
sabb modellezést.
A tesztelés során egy egyszerű alkalmazást építünk a rendszer köré, mely egy
adott operációs rendszerben futtatható, És lehetőleg a rendszer minél több tulajdon-
Ságát bemutatja. Hibátlan rendszer esetén a tesztelés során ugyan nincs módosítás,
de sosincs hibátlan fejl eszt és, ezér t apr óbb vált ozta táso k itt ís elők erül nek. Bár lé-
n i
i n c s e n e k , m é g m
i ésg i m ó d o s u l a r e n d s z e r .
nyeg i l áá t a l a k í
í t
t áá s o k
új emelet
felhúzása

tetőtér be-
építése
kész a ház Ó
,

napelemek a
tetőre

58. ábra. A kész alkotá s t o v á b b f e j l e s z t é s e , o p t i m a l i z á l á s a . E z e k


elle n t m o n d á s á t j e l z i k a s z a g g a t o t t n y i l a k , m e l y e k m e n t é n n e m l e h e t h a l a d n i

E
egye
.d...
had
as
é a1
6.1. Opti m a l i z á l á s
KE
edástítői
zt
tetűk
szzzösszegdásászat
.
eén
ee
MENNE
ma
e

Egy r e n d s z e r s e b e s s é g é n e k n ö v e l é s é v e l , m é r e t é n e k , t á r h e l y f o g l a l á s á n a k c s ö k k e n t é s é -
] vel c s í n j á n ke ll b á n n i . ( E z e k az o p t i m a l i z á l á s f ő b b ir án ye lv ei .) A z ef fé le m ó d o s í t á -
§ sok minde n k é p p e n a s z o f t v e r le sz űk ít és ét , sp ec ia li zá lá sá t je le nt ik . A z á l t a l á n o s a n
megfogalmazott célkitűzésekből itt készí t ü n k e l k o r c s o s u l t , d e e g y s z e r ű és g y o r S
módszereket. Éppen ez ér t az á l t a l á n o s s á g o t te lj es en e l v e s z í t j ü k — f e l á l d o z z u k a se -
besség, m é r e t o p t i m a l i z á l á s a é r d e k é b e n . [2 5] [5 6]
Az optimalizálásba csak akko r é r d e m e s b e l e k e z d e n i , h a r e n d s z e r ü n k m á r m ű k ö -
dik. A kitalálá sn ál , m e g a l k o t á s n á l s o s e m s z a b a d ar ra g o n d o l n i , h o g y ez í g y la ss ú le sz
vagy túl bonyolult, mert a k k o r es et le g a g y o r s a b b , e g y s z e r ű b b m e g o l d á s t v á l a s z t v a a
fejlesztés s z ű k f o l y o s ó b a n h a l a d az á l t a l á n o s s á g tá ga s c s a r n o k á h o z k é p e s t . É s e s z ű k
folyosóból nagyon n e h é z ki tö rn i: g y a k r a n vi ss za ke ll m e n n i e g é s z e n az el ej ér e, o d a ,
ahonnan elkezdtük építeni.
[)
e. a Bi

Se ő

B , d

zt"ai
4 ln

s
h

zdOS
HT
.

t g
had

;
JAJA
i d h

rikailag tökélet e s , a v a l ó s " eo t m i n é l J

e r ü n k , a t h o s r ó l j d l g i v i s s a
jáa gatJrAStSlÚlsjárdüsag Az optimális, gyors, kicsi rendszett pedíg szint V E R E K B Á S Z E T T S É K B
ps". végre raja A
jen YAN N NKENoENTk, HteazlyMeAkOTlényegében nem bef
jágosítank k az optima l i z á l ó v á l t o z t a t á s a m
jobbak a277 51 é anolyan általános és to v á b b f e j l e s z t h e t ő m a r a d ,
Rm ú
5 lt 4
4 .
v
at ő

e ggégülétett; GÜLON AB ÉS 489 ve sás a ladeló gl a t s á l p . ú g 2 T


fecgsájajrrigi
B E
solják ?gél rögzíté s e n e m i l y e n , b á r a d i n a m i k u s t á r k e z elést mellőzve
A dime MIT st érné t § lirmenzíiós praf1ikus

nulsebességnöve et az egyszerű fejlesztő. Sosem lehet azt tudni, a lehetőséget


a a a l ( M e l l e s l e g m i a re n d s z e r ü n k b e i t t - o t t b e l e f a g y a s z t o t t u k a h á -
j e l l e g e t , d e a m ó d o s í t á s lehetőség e m i n d e n ü t t megmaradt.)
FA dbnái
st e n d é k é z í l i k a k é p a l k o t á s s o r á n l e g t ö b b i d e j é t a s u g á r k e z d ő p o n t j á h o z , a n n a k
b b i a l a k z a t k e r e s é s é v e l t ö l t i e l . ( 4 . 2 . 4 . , 4 . 2 . 7 . ) k j é r t é l
irányáb a n a l e g k ö z e l e
g g y o r s í t a n i , e z á l t a l a r e n d s z e r á l t a l á n o s s á g á b ó l s e m v e s z í t ü n k t ú ls 5 0 -
szeket k i c s i t m e
n y o l u l t a b b á v á l i k a m ű k ö d é s e . ) M e g m u t a t j u k , h o g y s o k a t s e g í t , h a
kat. (Bár k i s s é b o
k z a t o k a t ( p é l d á u l a k o c k á t ) b e l e r a k j u k e g y l á t h a t a t l a n g ö m b b e ,
az összetettebb ala
t s a b b m e g v i z s g á l n i , m i n t a z ö s s z e s r é s z a l a k z a t o t . E s a g ö m b G S E T E R i s
amit sokkal gyo
optimalizálunk: kihasználjuk a l e g k ö z e l e b b i keresés (4.2.7.) és a d ö f é s p o n t -
meghatározás (4.2.8.) hasonlóságát.

6.1.1. Kocka keresése


Amikor egy kockát h e l y e z ü n k a m o d e l l t e r ü n k b e , a l e g k ö z e l e b b i a l a k z a t o t K e r e s ő
a l k a l o m r n a l m e g k í s é r l i e l m e t s z e n i a k o c k a m i n d e n o s á G é s a
algoritmus minden
alak z a t á t a v i z s c á l ó s u g á r r a l . ( E z ö s s z e s e n t i z e n k é t m ű v e l e t k o c k á n k é n t , h a a z a l o t ó -
4 3 s z i , h a a k o c k a k í v ü l e s i k a l á t ó t é -
egységei három s z ö g e k . 3 . 2 . 3 . ) E z t a k k o r i s m e g t e
;
Ten, ezá al : ; ;
I
k r e n d k í v ü l i m ó d o n l e l a s s u l .
fér
r e t m m e r é s b e n n f o g l a l ó g ö m b b e v a g p d á e s i E N N E e e s é t t n t é s l á e
Ha ön
á b r a . ) H a n i n c s , n e m K e r e s ;
van- e k ö z ö s p o n t j a . ( 5 9 .
ká t se rn me ts zi . Ha va n, ak ko r vé gr eh aj tj uk az er ed et i
tos, h o g y a v i z s g á l ó s u g á r a k o C
bonyolultabbá, de sokszorosa n gy or sa bb á te he tj ük a
algoritm u s t . E z z e l u g y a n k i c s i t
megjelenítést.
59. ábra. A kocká t g ö m b b e h e l y e z v é n a k e r e s é s t g y o r s í t h a t j u k

A kock a o s z t á l y b a n í g y fe lü l k e l l d e f i n i á l n i a z a l a k z a t t ó l ö r ö k ö l t l e g k ö z e l e b b i t k e r e s ő
függvényt . A z o s z t á l y e z ál ta l m ó d o s u l . ( 3 8 . t á b l á z a t . )

38. táblázat. A keres ő a l g o r i t m u s t o p t i m a l i z á l j u k a k o c k á b a n

ko c k a : a l a k z a t
adat t a g o k ( 3 . 2 . 3 . )
tagfüggvén y e k ( 3 . 2 . 3 . , 4 . 2 . 6 . )
virtuális függvén y l e g k ö z e l e b b i k e r e s é s ( e d d i g i : a l a k z a t
cím hivatkozás, elérés e : t r a n s z f o r m á c i ó c i m ,
távolsága: valós szá m c í m , v i z s g a l ó : s u g a r )

A függvény módosítása sor á n e g y s z e r ű e n k i e g é s z í t j ü k az al ak za tt ól ö r ö k ö l t fu nk ci ót


(4.2.2.) a gömb e l m e t s z ő a l g o r i t m u s á v a l (4 .2 .7 .) . E l ő s z ö r m e g v i z s g á l j u k a g ö m b ö t , és
ha nincs metszés, kil é p ü n k . A g ö m b s u g a r á t ú g y ke ll m e g m e g v á l a s z t a n i , h o g y be le -
férjen a ké t e g y s é g n y i o l d a l h o s s z ú s á g ú k o c k a . A z á t m é r ő te há t e n n e k az át ló ja , a Su -
gár hossza így

Vs
rejet e.
mu virtuális függvény k o c k a p l e g k ö z e l e b b i k e r e s é s ( e d d i g i : a l a k z a t c í m
hivatkozás, elérése: t r a n s z f o r m á c i ó c í m , t á v o l s á g a : v a l ó s s z á m c í m , v i z s g á l ó :
sugár)
m változó saját v i z s g á l ó : s u g á r
mu sajá t v i z s g á l ó : - h e l y z e t l e k é r d e z é s e ( ) b - s u g á r i n v e r z á t a l a k í t á s a
(vizsgáló)
u v á l t o z ó e g y ü t t h a t ó a
, , e g y ü t t h a t b
ó , e g y ü t t h a t ó c
. , d i s z k r i m i n á n s :
való s s z á m
tovizs g á l ó m i d

vetéster tss ő
e n m e g e g y e z i k ag ö m b d
g i s z k r i m i n á n s z s n é g y z e t r e . e m e l é s ( e g y ü t t h a t ó . t j a
it t h a t ó c
a ha di s z k r i m i n á n s c 0 , a k k o r k i l é p é s
vá l t o z ó m e g o l d á s 1 , m e g o l d á s 2 , m e g o l d á s : v a l ó ss z á m
megol d á s 1 : 5 ( - e g y ü t t h a t ó b 1 n é g y z e t g y ö k ( d i
együttható a)
megoldás 2:5 ( - e g y ü t t h a t ó b - n é g y z e t g y ö (
k d
együttható. a) 48 ől
ha megoldás 1 5 megoldás2, akkor megoldás: megold
megoldás: megoldás 1
ha megoldás c 0, akkor
N ha mego ld ás 1 : m e g o l d á s 2, a k k o rn
megoldás: megoldás 2
§ ha megoldás : távolsága vagy megoldás s 0, aki
Ha idáig eljutott a programvégtehajtás, az azt dgátmm-s?
közelében halad el. Nem feltétlenül metszi, mert w
dallapok között. (Ez egy kis völnbisogyásítosé ó gek gp 9
tást.) A továbbiakra az ala kza ttó l örö köl t kü f i . 5 bi g sz ia a
" alakzatb l e g k ö z e l e b b i k e r e s é s ,e l é r t at i k n z l n d t á f
l á n a k ések!
e k e d é s a t t ó l Éü , hogy ak o c leág e n Te bet
Az elért sebességnöv
letkező képen. Ha a teljes felületet kinetvagyont e late k s eri (az
k g k a a k é p t
etntktá,n mefrotrdukl öelző.beiHkataatmtuHEnegyvssregőzktés sel. 65í z sz áz al ék át foglalj
belül tízszer olyan gyors ak

má t
! .
29
1rút

6.1.§
39. táblázat. Gömb megjelenítésének gyorsabbá tétele

gömb: alakzat
korábbi vizsgáló: sugár
kiszámolt. távolság: valós szám
tagfüggvények (4.2.7., 4.2.8.)

A keresőfüggvény csak két sorral bővül: eltároljuk az átalakított sugarat, valamint


az ezen mért távolságot, amit a le gk öz el eb bi ki vá la sz tá sá ho z ha sz ná lu nk .
u virtuális függvény gömbbe legközelebbi keresés (eddigi: alakzat cím
hivatkozás, elérése: transzformáció cím, távolsága: valós szám cím, vizsgáló:
sugár)
MH ...
mum korábbi vizsgáló:z saját vizsgáló
dsg
spe

ke
aée."
mad
— eg)

N kiszámolt távolság: megoldás


A döféspont- és no rm ál ve kt or -m eg ha tá ro zó fü gg vé ny be n" elv égz ünk egy elle n-
őrzést. Ha a paramé ter ben meg kap ott viz sgá lós ugá r meg egy ezi k az elt áro ltt al (a ko-
ráb biv al) , vag yis ugy ana rró l van szó , akk or nem szá mol gat unk fel esl ege sen , átu gor -
juk ezt a részt. Jelen rendszerünkben ez min dig így van , mer t köz vet len ül a ker esé s
után hívjuk me g a döf ésp ont - és nor mál vek tor -me gha tár ozó tag füg gvé nye ket . Még -
űjaí CEK"
a

s
stl
szaz
!
aa
sak
lltenalkosmeszkezttttattttRtÉÉRTAtÉTtttrtgtEl
se€1e

sem töröljük a számoló részt, mert nem zárhatjuk ki annak a lehetőségét, hogy a pa-
raméter értéke más, mint az eltárolt változóé,
mM virtuális függvény gömbb döféspont meghatározása (vizsgáló: sugár): vektor
u változó megoldás: valós szám
u ha nem vizsgálópb egyenlő (korábbi vizsgáló), akkor
mu változó együtthatóa, együtthatób, együtthatóc, diszkrimináns:
valós szám
mM együttható a:- vizsgálók írány lekérdezése()k skaláris szorzás
(vizsgálóp irány lekérdezés())
u változó hibavektor: vektor
W ha együtthatóa - 0, akkor vissza hibavektor

65 O J i g ó b a n l é v ő g ö m b n é l e z e k m e g e g y e z n e k . ( 1 . 2 . 8 . )
. van
4 c
A
Ms a
e8 §g
, Ke I ag

3 6 , / et A Ha

z é s e ( ) B s e e
,

i z s g á l ó b - k i
.. 2. v lóp rány. lekérdezése())i n d u l ó p o n t . l e k é r d e
j t t h a t ó - v i z s g á i a z t d
z s s e ( ) p s k a sz
l áorrizsá s —.
z s g á l ó p k i i n d u l ó p o n t . l e k é r d e
gyalár i s - S Z 0 V E v i
t l e k é r d e z é s e ) 4 4 .
; e g y e
" g y s t i i n g u l ó p o n ó -
y ü t t h a tbó ) - 4 : e g y ü t t h a t a
m i n á n s z - n é g y z e t r e . e m e l é s ( e g
Va a
a di ! .
jttha t ó . c z a h i b a v e k t o r
a dis z k r i m i n á n s c 0 , a k k o r v i s s
e g o l d á s 2 : v a l ó s s z á m
5v á l t o z ó m e g o l d á s . 1 , m ) ) 2 -
E z e t g y ö k ( d i s z k r i m i n á n s / (
l d á1s: ( - e g y ü t t h a t ó b 4 . n é g y
98 a me g o
együ t t h a t ó . a )
y ü t t h a t ób - n é g y z e t g y ö k ( d i s z k r i m i n á n s ) ) / ( 2 :
u m e g o l d á s 2 : - ( - e g
e g y ü t t h a t óa.)
r m e g o l d á s : - m e g o l d á s
2 , e g y é b k é n t
w ha m e g o l d á s 1 : m e g o l d á s
2 , a k k o
mego l d á s : m e g o l d á s . 1
u h a m e g o l d á s £ 0 , a k k o r
lt g o l d á s : - m e g o l d á s 1 ,
N ha me g o l d á s 1 : m e g o l d á s2 , a k k o r m e
egyé b k é n t m e g o l d á s : m e g o l d á s .2
- u egyébk é n t m e g o l d á s :- k i s z á m o l t . t á v o l s á g
g á l ó p k e z d ő p o n t . l e k é r d e z é s e ( ) p ö s s z e g z é s ( v i z s g á l ó p
NH vissza vizs
iránylek é r d e z é s e ( ) b - s k a l á r r a l s z o r z á s ( m e g o l d á s ) )
t e h á t k é t s z e r e s é r e g y o r s í t h a t j u k a m ű v e l e -
Egyszerű á r n y a l á s n á l ( 4 . 3 . 2 . e g y g ö m b n é l
tí z s z á z a l é k k a l n ő , m e t t a v i l á g a t í z b ő l c s a k e g y e t k é r f e l a
jó T í z e s e t é n m á r c s a k
p e d i g m i t s e m g y o r s í t u n k ,
( 4 . 2 . 2 . ) E g y s z e r ű takarás kiválasztásakor
tépalkotásra.
se n o r m á l v e k t o t r a , s e d ö f é s p o n t r a n i n c s s z ü k s é g . ( C s a k a z a l a k z a t s z í -
vatitárgyán
ere. 3.1.)

T o v á b b f e j l e s z t é s i l e h e t ő s é g e k
0. 2 . y i t
a b b , m i n t a m e n n
ö t p e r c c e l h o s s z
s é g e s l v á s i i d ő m i n d i g a

t e l j e s -
y ü k a d a
.

g z a
"Ji

n
Ppe ug y , a h o a s s i t e l m a r
E kv Í

M á s rk. é p y kic
p e n h o g y e g
ludt k é s z ü l t s é g e 5 5 m i n d i g í t a n i . E z é r t j ó k
i
fejitncs ol i e g y r e n d s z e r e h e t n e j a v í t g a t n i , f e j l e s z t g e t n i , mó: dos 7 f A

OL.
3 l
d h a t u n k ki a fe j l e s z t é s h o s s z ú
g s
, o raázne k e k
g y
e s- e g y p ii l l a n a t k é5 p e t r a g a d !
j.hatá
T r i d
É ő kL, m e l y
d e
o k
l o
m o n d h a t j u k r á , h o g y K É S Z :
ilmj é b ő l , é s a z t
t u d á s á t h i r t e l é l n É G E S NT
Ö
SSsééS nem feltétlenül a legfon a b b a k , h i s z e n a f o n t o s -
rlÖöelnédses.zer(Az itG t tár Tg y a l t l e h e tég"
ő s e)
t o s

t
Ságo a f e l h a s z n á l á s m ó d j a T o abbh a l a d á s i irány a
Mindenképpen érdekes kGtT a szermmpontból
A vektor és a m á t r i x é l ü rokra működik.
ális szorz á s e g y e l ő r e
s i v r ó
adr1 ]
Ge aortelel AKALrNANV
i 5 [ e t t s z n i n
b
t s s u r
bad ál sütsz ű iz
Kile edes
pá d he .
A met rk
a 9 38l át eléátá EY keni hő Tr
fA. nd 1 áshi JT "Én e : :
E
a d - zzz . sad még e. eza pe .
a 7
4.
! .
i
. dns 5. mólzá Éj. / 25 NK
a hez etes thszzmeera Ú

fakó. A megjeleníthető alakzatok egyszínűek, nincs mintázatuk. Célszerű ezeket


festhetővé tenni, textúrát (szövetet) hozzárendelni. Így egy gömbre ráfeszírhe:; ik
például a világ térképét, megalkotván ez által a földgolyót. Vagy a háztetőn dj
mintázatot alakíthatunk ki, megspórolván ezáltal a cserepek létrehozását, (Tulajdon-
képpen ha elég aprólékosan modellezünk, mindent kirakhatunk apró, egyszínű há.
romszögekből. De kinek van erre ideje?)
A textúraleképzés egyébként igen bonyolult feladat. Ezeket a szöveteket ugyanis
kétdimenziós képként adjuk meg, és ebből kell valahogy egy háromdimenziós felüle-
tet kialakítani, valahogy ráfeszíteni a tetszőlegesen kitütemkedő és hepehupás alakza-
tokra. (60. ábra.) Körülbelül olyan ez, mintha egy sziklát akarnánk becsomagolni,
Lesz olyan hely, ahova több rétegben kerül a csomagolóanyag, de lesznek csupasz
részek 15. Ez nem jó, ezért valamilyen gumiból készült, nyúlós anyagot kell alkal-
maznunk.

60. ábra. Síkbeli textúrát térbeli felületre feszíteni nem egyszerű

A képalkotást is továbbfejleszthetjük, még valósághűbbé tehetjük. Megvalósítha-


tunk egy olyan rekurzív képalkotási technikát, amely nem csak az ideális törési és
tükröződési irányban vizsgálódik tovább, hanem a felületre jellemző valószínűségi
eloszlás szerint több irányt is figyelembe vesz.64 (Ahogy ez a valóságban is történik.)
Így sokkal finomabban tudjuk modellezni a valódi felületeket.

64 gghhez is használa t o s a k a z ú g y n e v e z e t t B R D F m o d e l l e k .

738 AA .
k
Ó e tK E T 3b b,, h o c k a
z d l e k M
e z k a d ő l ó S E N E É T
Ennél é n e kaa r á j ik
n g
b b p r o b l é m á k b a i
: s ü t k ö z:pe
ü n k ,
sabb. P e r s z e r ö g t ö n ú j a
és a csenek élei, így a drótv á z a t v a l a h o g y a n r á k e l l e n e e r ő l t e t n i . A f o s g á t s á s o n É g
at ermé, mert í g y b o n y o l u l t a b b m o d e l l e z ő k ö r n y e z e t e t é p í t h e t n é n k a b e l s ő

y a n r é s z l e t e a r e n d s z e r ü n k n e k , a m i t
g e k s z á m a t e h á t k o r l á t l a n , n i n c s o l
mé s ő s é n d e n c s a k a t t ó l f ü g g , m e n n y i e r ő f o r r á s s a l
i
e lehetne kics j t o b b á , f e j l e t t e b b é t e n n i . M i
m b e r r e l , d e f ő l e g p é n z z e l ) t e n d e l k e z ü n k .
éve le n rg
e i á v a l , e

6.3. T e s z t e l ő p r o g r a m
k b ó l ö s s z e á l l ó r e n d s z e r n e m é r s e m m i t , b á r s z é p e l k é p z e l n i ,
Ö n m a g á b a n a z O s z t : á l y o
l n i . D e h a v a l ó b a n h a s z n á l n i s z e r e t n é n k , v a l a m i l y e n a l k a l -
7a- mi m i n d e n j ó t t u d c s i n á
p í t e n ü n k . E z l e h e t t é r b e l i m o d e l l e z ő k ö r n y e z e t , t e n g e r n y i l e h e t ő -
ola mazást kell köré é
n y s o r o s t e s z t p r o g r a m 1 5 . M i a k ö z é p u t a t v á l a s z t o t t u k :
asz séggel, de lehet egysz e r ű , n é l h á
m e l y k o r l á t o z o t t m o d e l l e z é s i , s ő t a n i m á l á s i l e h e t ő s é -
kal az egyszerű tes z t e l ő s z o f t v e r t ,
B gekkel rendelkezik
az i s m e r t e t é s é r e , t é r j ü n k k i r ö v i d e n a t e s z t e l é s m ó d s z e r e i r e . A z
1 zt Mielőtt rá t é r n é n k
s z o f t v e r f e j l e s z t é s n a g y e l ő n y e , h o g y a r é s z e i ( o b j
"

e k
o

t u m a i )
Ép.

j ó
0

l e
ő

l k ü
a.

-
W.
hú i

déjékt a mo r i e n t á l t
e t ő k . E z é r t a f e j l e s z t é s s e l p á r h u z a m o -
, e g y e n k é n t f e j l e s z t h e t ő k é s t e s z t e l h
á r lö n í t h e t ő k o z o t t o b j e k t u m o k a t k ü l ö n - k ü l ö n é s
k san érdemes mindig leteszte lni az ad d i g l é t r e h
z e r ű p r o g r a m o k r a g o n d o l j u n k it t, a m e l y e k az o b j e k t u m o s z t á -
98 együtt is. Olyan e g y s
é l d á u l c i k i ] u s b a s z e r v e z v e i s ) k i h a s z n á l j á k .
t ö b b f éle k é p p e n ( p
lyok m i n d e n l e h e t ő s é g é t
t a z e g é s z r e n d s z e r t l e t e s z t e l n é n k . E k -
, de c é l s z e r ű , mie l ő t
é g e s
Min idez nem szü k s
i g é n y e s m e g t a l á l n i . É s a z
s á g m i a t t — n e h é z é s i d ő
k a t — a b o n y o l u l t d ,
Kor t1 14
Janis a hi b á
s z t é s e uán úg
t y i s e l e g e n d ő s z á m ú h i b a m a r a
ailk o t ó e l e m e k ( o b j e k t u m o k ) ö s s z e i l l e
e l ő k ö r n y e z e t m e g a l k o t á s a . ( R á a d á s u l a
v á l i o n f ö l ö s l e g e s s é e g y8g l o b á l i s t e s z t
hogy ne
í s l e h e t n e k h i b á k . ) ( 1 ] 8 ] [ 8 8 ]
tesz t e l ő k ö r n y e z e t b e n minde n k é p p e n z s á k u t c á n a k
k ö r n y zetben
e f u t , a m i
g r a m saj n o s W i n d o w s -
Ez a p r o a , e l ő n y e v i s z o n t ,
t v i n n i e g y i k g é p r ő l a m á s i k r -
3f e d e 3 m e r t n e m l e h e t á o g r a m o z n i e g y s z e r ű . I s
Számít. a t e b b e n a k ö r n y e z e t b e n p r
e t ő , m e r
hogy eg
e l a e z é z
t e t i f e l é p í t h
delle z é s i l e h e t ő s é g e i v e l ! [ 3 1 ] 1 5 1 ] ( 6 0 ) ( 7 7 1
merkedjünk meg vele és a 0
"
hé ln Sőt g d 4 ká a a.BEA ű 4 Bé Ve. s ( e

vé Kr a k o e s í p á t e t e tá t a l , eb ae dezé s rég i
s. vez 9 j Te é : e vag . fi ga

S luldéj —

61. ábra. A tesztelő program szerkesztő felülete

Amikor elindítjuk a programot, egy antennát és két kört látunk. (61. ábra.) Az anten-
na nem antenna, hanem a modelltér azon része, amit a kamera lát. Ezt a kamerát
körbe lehet forgatni a külső kör mentén — ez az egyszerű animáció —, így a belső kör
által határolt térrész mindig látszik. A modellezés sajnos csak síkban lehetséges. (De
ne felejtsük el, hogy
ez elsősorban tesztelő és nem modellező program.)
A továbbiakban a menürendszeren keresztül ismertetjük a program működését.
(Az egyes funkciók főként a menükön keresztül érhetők el, néha a billentyűzet 15
segít.)

6.3.1. Fájl menü


Meglepő módon a fájl menübe kerültek a fájlműveletekkel kapcsolatos funkciók. Itt
lehet a elmenteni és betölteni modellteret, valamint kilépni az egész programból. Az
új funkcióval a szerkesztő területet letörölhetjük, a létrehozot t alakzatoka t és fény-
forrásokat eltávolíthatjuk. (A képalkotási tulajdonságok ekkor nem változnak.)
A mentés és megn y i t á s se gí ts ég év el a m o d e l l t e r ü n k ál la po tá t el me nt he tj ük , il le t-
ve be tö lt he tj ük , id eé rt ve az al ak za to k, fé ny fo rr ás ok pa ra mé te re it és a ké pa lk ot ás be -
állításait. Mind k é t fu nk ci ó ki vá la sz tá sa ko r eg y eg ys ze rű p á r b e s z é d a b l a k ny íl ik me g,
"e. hé
(d

[j
e JA
F

ik
íj
ie §
úg b

köll.d dé
d e

a kell tölteni a fájl n e v é v e l . ( 6 2 . á b r a )L e h h


e otg y,e g y ki cs it
t é r e n Kál ál
ó i a l k a l m a z á s b a n . I t h-di

ped i g e g y f e l h a s z n á l
á j
abat
v éen y
o tás elin d í t á s a k o r m i n d i g l é t r e j ö n e g y b a c k u p . 1 3 d n e v ű f á j l a z a k t u á l i s
k
c i ó j á v a l . ( H i b a e s e t é n e z t b e l e h e t t ö l t e n i , é s a k é p a l k o t á s f o l y t a
, hogy " f o r m á
vtoót) l
ba
tér 1010

Fájlnév m e g a d á s a
fine
pest
Ca WZ .

62. áb r a . F á j l n é v m e g a d á s a p á r b e s z é d p a n e l

n ü e l e m r e k a t t i n t v a a modellteret e g y d e f a n t t . b 3 a n e v ű f á j l b a
Az alapértelmez é s m e
——
a

d i g b e t ö l t ő d i k , h a l é t e z i k . (Lám, még i s f e l h a s z n á l ó b a r á t a p e
mentjük, ami min
o r a f o r r á s k ó d
éli
pki
-gÚeA

h
1
öö
ki

jaaa
td
Hl .i

mert nem kell a b e t ö l t ö g e t é s s e l v a c a k o l n i . ) Ha nincs i l y e n f á j l , a k k


épített értékek szerint jön létre a modelltér.
J jisr
kán
kezi
fd
4

6.3.2. Alakzat menü


h a t u n k l é t r e ú j a l a k z a t o k a t . e n e p e e 8
Az ú j g ö m b é s ú j k o c k a f u n k c i ó v a l h o z
a t ó k a b a l g o m b l e n y o m á s a m e l l e t t . H a A z E g E R e A g g j á t i k g ő l e r e b u
egérrel m o z g a t h
t e t n é n k v á l t o z t a t n i , r á k e l l k a t t i n t a n i v z s z t t k j d e z á l t m a n a z a t t e t
egyé b p a r a m é t e r e i s z e r
a j d o n s á g o k m e n ü e l e m e t e l ő h í v n i .
ekko r k i j e l ö l j ü k ) , é s a t u l
Párbeszédablak nyílik meg. (63. ábra.) í É
az p e r e s j
ő o r a é g e lg en eá éh e 1
A vötös. g e és er es e t r e : sz ol gá ln ak
Ezek értéke egyenként 0-tól 255-4g terjedhet. 4." ölldét Így viszont a felbontás
Így, egy szín ö s s z e t e v ő t u g y a n i s á l t a l á b a n B Y é n 4 8 k é t ö Ö s a gy pj tá e k e
inomsága — két szomszédos eszi geszetett színeket. (40. táblázat.) A méret-
additív kombinálásával állíthatjuk gél bnek az átmérőjét állíthatjuk, képpontban.
tel a kocka oldalhosszúságát, míg a g0m

hitt bdaeő

63. ábra. Alakzat tulajdonságai párbeszédpanel

40. táblázat. Néhány szín additív összetevői

4.
Szín Vörös / Zöld
Fekete 0
Szürke . EZ A 127
Fehér NMun(J1 NM(JJ(JI 255
. Vörös
5
—oÖ—;.
s

255 2 Sk
ZaÖRsÖóKKÁNREST SZRAÉSERT.3KÖR- . )HalüleöK;)
a 0 255
Sárga 255 255
Ibolya 355 498
Türkizkék [77 0
N.141(1

Hi
471441 1255

A többi mutató a legfejlettebb képmegjelenítő algoritmushoz (4.3.4.) használt para-


métereket állítja be. Az első hárommal alakíthatjuk ki a felület jellegét, azt, hogy me-
lyik tulajdonság mennyire érvényesüljön. (41. táblázat.) A szép képek előállítása ét-
dekében érd e m e s ü g y e l n i ar ra , h o g y az ö s s z e g ü k 7 1 0 0 9 l e g y e n .
t , v á k u u m h o z v i s z o n y í t o t t t ö r é s a r á n y a , s z á z a l é k o s a n k i f e -
A törés m u t a t ó a z a b s z o l ú
o d e l l e z é s é r e n i n c s le h e t ő s é g , v i s z o n t a z l é n y e g e s , h o g y a
je z v e . R e l a t í v t ö r é s e k m
test bő l k i f e l é e n n e k a r e c i p r o k a i r á n y a d ó . A z a t m o s z f é r a p e d i g a t e s t e k á r n y é k o s
oldalána k v i l á g o s s á g á t a d j a m e g . A Holdon ez null a . ( O t t n i n c s l é g k ö r . )

Átméretezés, forgatás
" .
e d

éz áz mv d k.

9 177
hd ú

Álrméretezés

A
tersartáryászt Ü
E Í J E
é
bdgéal pami

tengelyké w é b a n ( 2 )
, gy a

Az al a k z a t m e n ü
LEVÉN
ta kJ
F . fs júat € va je a ni a ei . f
4 , Pl 4 e e
ké y "4 ; " éa ő . ; d A
1 A ú EM aa ő í f 4 aut va ú /1 pa . 4 ) 12468 aa ;
a 88 a . . a . a e - . c a tel a . ha
dcAth eget 4 maz 4 nf tt Ag ké Val év b mási Fal ZNÜ " eg "ds at

KATE Lagak: nék isk: étús ezAL


s

ta
4

tk
f :

od ij
. ral

ít án ás azá s ízaz i Hz
e s 6 ő f a: 67 kt wa / "4 ELÉ e , to éa / W,

er
n
mu
ad
el

em meret A l1tasat MED 16 cnn9 9) él
ta jen nr . OTET NAT ő yt 7. 19 d a a MTÉÉS DALA? ke
b 9 c e. a!
ő
ep
ha he .. hos d
KG 4 vér Ji kn kée: d kh -.
v 4 A ún 7( 4 -t
a 1

Az aktuális testet a törlés funkcióval távolíthatjuk el a modellt ből. (


Ugyanezt
érhetjük el a delefe billentyű megnyomásával.) Az alapértelmezés menüelem kiv.
lasztása után megnyíló pátbeszédpanelben (63. ábra) állíthatjuk be az újonnan létre.
hozott gömb és kocka induló tulajdonságait. Hasonló funkciót lát el az alapértel.
mezetté tesz szolgáltatás, csak itt a kiválasztott alakzat paraméterei alapján állítjuk
be az alapértelmezettet. (Ezeket az információkat is tartalmazza az elmentett fájl.)

6.3.3. Fényforrás menü


Az új fényforrás művelettel egy kis fehér pötty kerül a képernyőre, amely a pontsze-
rű fényforrást szimbolizálja. Ezt is ugyanúgy mozgathatjuk, mint az alakzatokat. Pa-
ramétereit dupla kattintás, illetve a tulajdonságok menüelem kiválasztása után kinyí-
ló ablakban állíthatjuk. (65. ábra.) Nincs sok lehetőségünk, csak a fényerőt és a szín-
képet változtathatjuk. A színképet az additív színösszetevőkből (vörös, zöld és kék)
állítjuk elő. Fehér fényt mindháromnak a maximális értéke (255) ad. Aktív fényfor-
rást a törlés művelettel távolíthatunk el.

öh e
Ír í 2 ez ön vet .

TET ? nee A" 7 u a


hez JG TtAE HÉrét Z. égés ke
v p . s 6 pa . v úg "6 e vélt k ői :-Z re Ha ,
j) c! S . p. 4 aA (7? a a . É fa e... j j 4
4 JE : Pé! ug
jul sm e. deka ző sel adta daaztdtmnmzít esze. me] ) a" ka á
4 dl ee ess
em szüttt i
9 ÖL:

65. ábra. Fényftorrás tulajdonságai párbeszédpanel


s ét

5 kép a l k o t á s m e n ü
43 en érhetejlüakké alkotó funkciókat, valamint a képa ; pa:
ebben set NN be. Az e l s ő n é g y m e n ü e l e m a z e g y e s m ó d s z e r e k e t szteli. A:
s z
ereit 5 ede nem ves fi g y e l e m b e f é n y h a t á s o k a t , í g y a t é r b e l i m e g j e l e n í t é s r e
egyszerű án. al k a l m a s . ( 4 . 3 . 1 . ) A z e g y s z e r ű á r n y a l á s o l y a n h a t á s t e r e d m é n y e z ,
nem is gy beépített lámpás kamerával filmeznénk, így a tárgyaknak mindig a fényes
lát látjuk. (4.3.2.) Az árny a l á s f é n y f o r r á s o k k a l m á r b o n y o l u l t a b b , i t t n e m l á -
vsak semmit , h a e l f e l e j t ü n k f é n y f o r r á s t h o z z á a d n i a m o d e l l t é r h e z . V i s z o n t m e g f e l e l ő
veál lí tá so k m e l l e t t a t e s t e k á r n y é k o s o l d a l á t i s l á t h a t ó v á t e h e t j ü k . ( 4 . 5 . 3 . ) V é g ü l a l e g -
b o n y o l u l t a b b k é p a l k o t á s t a z á r n y é k o k , v i s s z a v e r ő d é s e k , t ö r é s e k m e n ü e l e m m e
ihetjük el. (4.3. 4 . ) E z u t ó b b i k é t m ű v e l e t e s e t é n a v i l á g o t c s a k a b e n n e e l h e l y e z e t t
fényforrások világítják be, ezért e l ő f o r d u l h a t , h o g y n e m l á t u n k s e m m i t , v a g y n a g y o n
halvány a megjelenő kép. Ekkor próbál j u k kic s i t n ö v e l n i a f é n y f o r r á s o k i n t e n z í t á s á t !
A középpont megadásával állíth a t j u k ak a m e r a k ö r b e f o r g á s á n a k sugarát (kicsit
csalóka az elnevezés, mert ezen pontot csak egy egyenesről választhatjuk ki). A
tunkció kiválasztása után mozgassuk az egeret a kívánt paraméter eléréséhez, majd
nyomjuk meg a bal oldali gombot!
A tulajdonságok funkcióval pedig a képalkotás paramétereit állíthatjuk be egy
ablakon keresztül. (66. ábra.) A nyílásszöggel az , antennákat" állíthatjuk, vagyis a
szerkesztési területen lévő két egyenest, melyek úgy néznek ki, mint az antennák. Ez
clöliki a kamera induló fázisa által szemlélt térrészt.

Képalkot á s t u l a j d o n s á g a i
a Pe ks 3
7
s
i

; heg 7 141 ri É nk §A y) - K." § 3 9 -

Ú ? f sat SG " Sa rzka EAKáÉNa zása A ÖN ms s - 4


et tk OTERAL EE Tag f

ERÖ ámst E REÁS AEOTEKÉLETÉL ONNEK Ke GE B db. z


s p, s 7. ve hi A ! c ké fs — ő é

€ ti é Bő zá Mi
j
e . m W A p ; k
mesz ; .
t
A Aa háy. a a d A Helgát pt " ; "a Tel ná hi 1119 b j , fm. reT 9 A pa ő 4 nadá 4 pé " b —
Kzd

a én a s j a
t g "e a éa ; e a 9 49
§ BT ; A

f a. "SI EN 7
h
e : áá il: j yi. j : rő . (
ök TS Aha 4ia . A mié f;
Áá a. a . . . j / AJ y" . pH j sa 1 j §, A $ éz [d a fa e . d ,
fi 3 "4 eg ag A ú]
ah 3 5) 4 É val
s 8 k JE

. képeket átléphetjük, haa képalkotás valami miattmegszakadt. (Így nem kel,


é


? k
a
a [999 .
j

. xy .§ Vá
e s.
e h vő A J ,
.
f
st
s:
a. fe
" .

folyam elölrat ot
ől kezde ni.) — d Úgynemketaz t egés
A rekurzió mélysége adja a visszaverődések, törések számát, vagyis a rekurzív
alkotás mélységét. (Fénytöréshez ez az érték legyen legalább 2, mert a törő test belsejé.
ből a fénysugár így tud kilépni) A kamera körbeforog a mega
lépéseit adhatjuk meg a lépések szármma m
d o t t p o n t k ö r ü l , e n n e k ezőben, a körbeforgás irányát pedig ezalan
állíthatjuk be.
A képalkotás elindítása (az első négy menüelem kiválasztása) után egy státuszablak ie.
tenik meg, mely az aktuális állapotot mutatja. (67. ábra.) A háttérben készül t.
backup t3d nevű fájl arra az csetre, ha a képalkotás valami miatt megszakadna, és a pg
használó elfelejtené elmenteni a modellteret. Ezt betöltve folytathatjuk a megj
elenítést
onnan, ahol abbahagytuk. A megszakítás gombra kattintva állíthatjuk meg a művele
tet
(Ekkor az aktuális kép tartalma elvész.)

Képalkotás

Üszög

501

Kép

67. ábra. Képalkotás ablak

A képalkotás során annyi /arga formátumú kép keletkezik, atnean


yit megadtunk a lépé-
pek száma mezőben (66. ábra.) Ezek az egyszerű antmáció egy-egy fázisát tartalmaz-
zák: egy-egy képet a modelltérről, csak mindig más szögben. Összelllesztésükhöz egy
egyszerű konve rtáló progr amot haszn álhat unk, és kész ís az animá ciónk jávegg ká
gge B-s
nézeg etni egyrn ás után a képeke t, össze sem kell illes ztenü nk őket ) ég
gyorsan tudjuk
68. ábra. A tesztprogram névjegye
a gy 1 a. leea 444" 2 mát ny ga a 4090", tv gú
ie fú
sRO, gv : ae

" a alstl JA,"


: t MA s É úk úg
e A 7

3
. a a
a 9 ára kt "e
úi

i
je é p, Ke

s
ve

C
f d "wz -. vi
Jar has p fr Tt A

t e k
É
ezet

l e
al

s z
)

é
Íte " .

r
ő 8.

d
bsaS)

F o r r á s k ó
n y e l v e n
Mt sem ér az elmélet a gyakor lat i alk alm azá s nél kül . Bár a tár gya lt pro gra mré sze k
nyelvezete oly an, hog y azo k egy kis gya kor lat i tud ás ism ere téb en kön nyű sze rre l le-
fordíthatók bár mel y obj ekt umo rie ntá lt fej les zté st tám oga tó pro gra moz ási nye lvr e,
mégis érd eme s egy es fon tos abb rés zek meg val ósí tás át kül ön kie mel nün k. Ez en fon -
rosabb részek között mi nd en ké pp en sze rep eln ek az osz tál yok fej léc et, val ami nt né-
hány bon yol ult abb füg gvé ny kód olá sa és egy egy sze rű pél dap rog ram a ren dsz er
has z n á l a t á r a .
A Ct-4 nyelv sajnos nem támogatja a nemz et kö zi ka ra kt er ek ha sz ná la tá t, ez ér t ké t
rossz közü l vá la sz th at un k: ék ez et ek né lk ül ír ju k ma gy ar ul a kó ds za va ka t, va gy le fo r-
dítjuk őket angolra. Mi a kisebbik rosszat, az ut ób bi es et et vá la sz to tt uk , de te le tű z-
de lt ük a so ro ka t me gj eg yz és ek ke l, íg y ne m ke ll na gy fo kú an go ln ye lv -i sm er et a me g-
értésükhöz. (Sze re nc sé re a me gj eg yz és ek be n má r sz er ep el he tn ek a ma gy ar be tű k. )

7.1. Osz t á l y d e k l a r á c i ó k
Az osztályok deklarációs részét kü lö n fej léc fáj lok ba he ly ez zü k, me ly ne k ne ve ált alá -
ó j á v a l . A d e k l a r á c i ó s r é s z e l e j e a p r i v á t a d a t t a -
ban m e g e g y e z i k a z o s z t á l y a z o n o s í t
b l i k u s t a g f ü g g v é n y e k k ö v e t n e k . E s e t e n k é n t a p r ó o p t i m a l i z á l á s t
gokból áll, amit a pu
k t u m p a r a m é t e r e i t i t t - o t t c í m s z e r i n t a d t u k á t ( r e f e r e n c i a -
S végrehajtot t u n k : a z o b j e
g e t n é m i k é p p n ö v e l v e , h i s z e n a v á l t o z ó k a t n e m k e l l e l ő s z ö r
ként), ezzel a sebe s s é o g r a m r é s z n e k .
át a hívott p r
lemásolni, hanem magát a változót adjuk

7. 1 s 1 . Vektor

osztály d e k l a r á c i ó j a
rt i 4 V E S S
// v e c t o
v e c t o r (
class §
u k ítt
frdatai t á r o l j
double o r d i n á t á i
v e k t o r k o
// A e
int d i m ; e
a i m e n z i ó j
n v e k t o r
//
JA dnttönb ím
eti ÉS Be € tén ,
a. (s szi n ta la .
sÉ 9 MT az 4 1
: 14 Í
t
kk 0 WV S ő
éz ő ma . " ? á MBdd4új 1, ti

44 FöeFölnknör CSE KBÁNES ús ű


jIbŐJÍZÁTTÓ
// Visszatérési értékek: 0 nem sike
rült, 1: sikerült
double get data( int);
// Megadja a paraméterben megadott
// dimenzióhoz tartozó koordinátaértéket
int set(vectorő) ;
int operator-(vectors v) íreturn set(v);)
// Értékadás. A paraméterben megadott
// vektor értékét veszi át az objektumunk
vecto(r) ;
// A legegyszerűbb konstruktor,
// csak nullázza az értékeket
vector (vector£) ;
// Másoló konstruktor
-vecto(r) ;
// Destruktor
vector additionívector6§) ;
// Összeadás
vector subtraction(ívectork);
// Kivonás
vector multiplication(double);
// Skalárral szorzás
vector minuc((s
);
// Ellentettképzés
double multiplicationívectore)
s;
// Skaláris szorzás
vector vectorial multiplication(vectores ) ;
// Vektoriális szorzás
double absolut() e;
// Abszolútérték-képzés
vector normaliz() e;
// Normalizálás, egységvektorképzés
bool egual(vectorf£) ;
// Egyenlőség
)a
áks e t si ze ( i n t , i n t ) ; a 4 z

á s magass á g x s z é l e s s 2 N K ron t

1 Mé r e t b e á l l í t
Md
int get w i d t h ( ) ;
// Széle s s é g l e k é r d e z é s
int get h e i g h t ( ) ;
// Ma g a s s á g l e k é r d e z é s
int set elem e n t ( i n t , i n t ,d o u b l e ) ;
// Elembeállítás: sor, oszlop,
double get element (int, int) ;
// Elemlekérdezés: sor, oszlop
f)

. tő. ságaltadt áb LARÉS a


int set row(int, vector£) ; 4 .z ÁB BNL ak
// Sorvektor-beállítás ( , JÉ ret
"td
ga
vector get row(int) ;
Á j;
// Sorvektor-lekérdezés
int set column(int ,vector£) ;
// Oszlopvektor-beállítás
álni
FE
15

vector get column(int) ;


méd
d // Oszlopvektor-lekérd i JD. vga

int set(matrixf) ; Ma és pe e
jét szd Al él .
int operatorz(matrix 6£m) ír k Li hé" y na nt . e

$. 643 Mi hi. ,
ha íj b

// Értékadás
,.

i
e e sát av
h..3 ay (s

mMatrix() ; kávsé
// A legegyszerűbb 5"
// amely minden Aa99F"
matrix(ímatrixő)? kedv
// Másoló konstF
"matrix(32 sie A
// Destruktor
matrix addát
Lölie
41 8
"vm a "
heork ak (to am Fwd
" "A Sy mis
9 1 ( . € TKI-c al s. pv
Ah

gyel enzztemáékgáneanet ly veizág ATŐ A kező tes ő1


// Ellentett-képzés £
matrix multiplication(matrixá
// Mátrixszorzás
vector multiplicationívectore£) ;
// Mátrix szorzása vektorral
matrix minor(init nt,
) ;
// Minormátrixképzés
double determinani (t);
// Determináns
matrix adjungate( );
// Adjungálás
matrix invert-();
// Inyerzképzés
bool egualí(ímatrixeé£);
// Egyenlőség
bool guadratic() ;
// Négyzetesség eldöntése
);

7.1.3. Transzformáció
// tarnsf.h A transzformációs osztály
class transformation (
matrix origo hold;
// Középponttartó transzformációknak
vector origo move;
// Középponteltoló transzformációnak
public:
transformatio ((n) ;
// Konstruktor - mindent a térvektorok terébe
vector transformívectorc );
// Vektor átalakítása
ray transformírayeő6);
// Sugár átalakítása
vector t ransform i n v e r s í vector£) ;
// V ektor f o r d í t o tt á t a lakítása
ray transform inversí(rayé£) ;
// Sugár fordított átalakítása
ff ei
n ay 11 §
T a

dts ő a ma Ta. s vn 3 3 3
rad ; A
F má ag
y pi Aa
4 [/ kb p f á

su
níj d
Ú

n g
t
eg

a
j pa

s
4

é e v i t
KC

á t e z e t t
Pe

g
é

sz
j

S
ka

Kt és
[j §

Ír §a4
4 5 a

TÉNES
um a a! j

s u g g e s t
e ndnazjégé ve az A M E N T É N
TÁL Á B O REE e
Í

— // s k á l á z á s , á t m é r e t e z é s
a t e l i n t , d ö u b l e ) ; e ö a t é g : . 1 7
void r o t
- g a t á s T E A R
c / Forg
a
ve ee, 9. ő e ak
ZH a WX 5 - t e t e

a t e ( v e c t o r f ) § é.
vo i d t r a n s l
// E l t o l á s dát
n s f o r m a t i o n f ) ;
vo i d c o n t a c t ( tra
Ö s s z e k a p c s o l á s
//
48.

7.1 . 4 . F é n y f o r r á s
// lightsrc.h Fényforrás
class light source (
vector position;
// Helyzet
color spectrum;
// Színkép
double intensíty;
// Fényerősség
public:
void set pos i t i o n ( v e c t o r ) ;
/ / H e l y z e t b e á l l í t á s a
vector get position();
// H e l y z e t l e k é r d e z é s e
void set spec t r u m ( c o l o r ) ;
// S z í n k é p b e á l l í t á s a
color get spectru(m
);
// Színkép lekérdezése
void set int e n s í t y ( d o u b l e ) ; 1 5-4,
// Fényerősség beállítása e A gl
double g e t i n t e n s í i t y ( ) ; Aée hé TV"
// In t e n z i t á s l e k é r d e z é s e ösnágyálzáata tél EE
light source(p) ; pj 1 izl
// Fehér lámpa felk a p c s o l á s a
a térben —.
);
arotected:

transformation position;
// A helyzetváltoztatás transzformác:.
shape "tsubshapes;
// Részca inekadk
ímel inam i
zat k u s t ö m b j e
int shape number;
// Részalakzatok száma
color basic. color;
// Alapszín
static int rendering mode;
// Képalkotás módja
double diffusion;
// Fényszórás
double refílexion;
// Tükröződés
double refraction;
// Fénytörés
double index;
// Törésmutató
double atmosphere;
// Atmoszféra
public:
void set positionítransformation) ;
// A helyzet beállítása
transformation get position(
);
// A helyzeti transzformáció lekérdezése
int get sub numbe(t) ;
// Részalakzatok számának lekérdezése
int add subí(shapeg) ;
//
Részalakzat-hozzáadás
int remove subí(shapeg) ;
// Részalakzat-eltávolítás
shape "get sub(int);
// Részalakzat címének lekérdezése
shap(e) ;
// Konstruktor
-shap(e) ;
// Destruktor
t t t e j é
s " e k é
z e y e
di
T Tn a p s s í n e
( ) s vén alj
ap",

l o r
rie

color g e t . c o k i i V k
A e
n
é s e a n c á a a a
,; a L a p s z í n l e k é r d e z 70
n i v o i d s e a r c h n e a r e s t
s á a p e " r a n s f o r m a t i o n g ,d o u b l e g ,r a y )
; — T Z E V E BkÁ h a g ?
vir (sh ,t
e s é s e 2 2
zi p e g k ö z e l e b b i al a k z a t ker
o r g e t . n o r m a l ( r a y ) ;
vir t u a l v e c t
1 Normá l v e k t o r e l ő á l l í t á s a
vir t u a l v e c t o r get ta r g e t í ( r a y ) ; j
// pöf é s p o n t e l ő á l l í t á s a unai s
virtual color r e n d e r ( w o r l d s , t r a n s f o r m a t i o n s ,ray, int) ;
/ / K é p a l k o t á s
void set mode ( i n t ) ;
// M ó d s z e r b e á l l í t á s a
int get mode ( ) ;
// Képal k o t á s h o g y a n j á n a k l e k é r d e z é s e
v i r t u a l
color render hide() ;
// Kép a l k o t á s takar á s s a l
a l r a n s f o r m a t i o n t
vir t u colo r r
rende camí t , ray]) ;
// Képal k o t á s egy s z e r ű árnya l á s s a l
vi r t u a l color render ligh t s ( w o r l d z , trans f o r m a t i o n k g , ray) ;
// Ké p a l k o t á s pont s z e r ű fényf o r r á s o k k a l
d o u b l e get diffus i o n ( );
// Fénys z ó r á s lekér d e z é s e
double g e t re f l e x i o n ( ) ;
// Tükrö z ő d é s l e k é r d e z é s e
double get ref r a c t i o n ( ! : ;
// Fény t ö r é s l e k é r d e z é s e
d o u b l e
get ind e x ( ) ;
t ó z é s e
// Tö r é s m u t a l e k é r d e
double g e t . a t m o s p h e r e ( ) ;
a te k é r d e z é s e
// A t m o s z f é r
o n j e g y e r t n á l s
s e t d i f f u s i
void l l
n y s z ó r á s b e á
// F é
f i e x t ő t i őd o s
u e
b l e ) ;
void s e t r e
Bi:
r ü k r ö z ő d é s
/ / t e á s
r e t r a c t áon
v o i d set.
n e k 1:
1 r é
void se€.
1 et t ő

78
A as E a,
281 ?
sal

7.1.6. Világ
// world.h A világ osztály
class world:public shape (
// Az a l a k z a t g y e r m e k e
light source "lights;
// Fé n y f o r r á s o k c í m e d i n a m i k u s tömb
int light source number;
Fényforrások száma
//
int recursion level;
// Rekurziós mélység
public:
int get light numbet ( ) ;
// Fényforrások számának lekérdezése
int add light(light sourceg£) ;
// Fényf o r r á s - h o z z á a d á s
int light(light sourcef£) ;
remove
// Fényfor r á s - e l t á v o l í t á s
light sourceg get light(int) ;
// Fényforrás címének lekérdezése
worl(d) ;
// Konstruktor
(;
-Wworld()
// Destruktor
int set level(int);
// Rekurziós mélység beállítása
int get level ();
// Rekurziós maximum lekérdezése
color renderí(ray);
// Képalkotás
color render(raiy ) ;
nt,
// Rekürzív képalkotás
v/ ad a" 1
1a1tr ? ; ha docAuthor ,
sa 4 ? e
pe f A 66 hetét
Ve

§ 11 Háromszög "aú ;vid


,

. A aki

EJ a
e : P p u b l i c s h a p e ( §. a j
er i a n g l
k z a t
lé kese ET
s z ö g egy al a
kill m a 8 három

// c s ú c s o k
public:
rriangle() ;
// Konstruktor
void set ver t e x ( i
venc t
t o ,
r ) ;
-1 // Csúcs beállítása
3 vector get vertex(int) ;
s // Csúcs lekérdezése
void search nearest (shape"ᣠ,transform,adt i o n g
oubleg , ray) ;
// Legközelebbi keresés speciális esete
virtual vector get normal íraáy) ;
// Normálvektor - m e g h a t á r o z á s
virtual vector get target(ray);
// Döféspont előállítása
b;

7.1.8. Kocka
// cube.h Kocka alakzat
class cube:public shape (
// A kocka egy alakzat
triangle sides[(6"2]:; egyenként két háromszög
// Oldallapok, 6 oldat:
Public:
Cub(e) ;
// Konstruktor
void set color (colot! :
// szín peállítás8
! : ni zed
tifdef optimize t
vev. ali arch. nearest gormationt , doubleg , ray) ;
(shapetá. tra vesés kicsit gyorsítva
M
// Legköze
tendif
24
ES ék
é—

55 sp h e r e : p u b l i c
c s h
t a
a p p
e e( e É N e gn a g y s e k a r
j os ztályfi pr C s.
VeM. heay a?
j
r-; 9. 1 2 gömb
a a. 8T

A La j zén sé bséstéájé
az A e nd
: ű , E HI 8.

á pr 4 ve pisze 544 kh"WA


a a ad g Med
ks E

ray old,nez ős ketír;


// Korábbi vizsgálósugár a gyorsabb működéshez
double old t;
// Paraméter tárolása - ne számoljuk ki kétszer
tendif
public:
void search nearest (shape? s, transformationc , doubles , ray) ;
// Legközelebbi keresés speciális esete
vector get normalí(ray) ;
// Normálvektor-meghatározás
vector get targetí(ray);
// Döféspont előállítása
);

7.1.10. Kamera
// camera.h A kamera osztály fejléce
class camera (
vector focus;
// Gyújtópont helyvektora
vector Up;
// Függőleges irány
vector view;
// Nézeti irány
double length;
// Képtávolság
world "watched;
// Megfigyelendő világ
film "plicturé;
// Képfelfogó film
int act. .Xx, a6tEzYI
// Aktuális képpont a feldolgozás alatt
public:
void set focus(vector);
// F ó kuszpont b e á l l í t ása
? v e c t o r ) ; oz VTes
s e z g ő l e g é s b e á l l í t á s a MLG S É "
a ?
get. up () ;
ee góleges irány lekérdezése
4 3 e .

is
ős K Ö [ . ő l a 2
g
void se t . v i e w ( v e c t o r ); 17
i r á n y b e á l l í t á s a úr a tzt e
j/ Néze t i
c z s ó g z á T á d é , b e é Í
v e c t o r g e t . v i e w ( ) ; i
k é r d e z é s e 5 gy ás d a j g a
/ / N é z e t i irá n y l e
eye áságő
void se t l e n g t h ( d o u b l e ) ;
b e á l l í t á s a té s z n é ő á g a Kis
// K é p t á v o l s á g
; úzöstt
double g e t l e n g t h - ()
o l s á g elérése egti A
// Ké p t á v
void set w a t c h e d ( w o r 1 l d k £ ) ;
// Megfigyelendő világ megadása
world get watched ) ;
// Megfigyelt világ címének vi s s z a k é r d e z é s e
void t
se pi c t u r e ( f i l m e f g ) ;
// Képfelfogó beállítása
film get picture(
);
// Képfelfogó film címének lekérdezése
Camer(a) ;
// Konstruktor
void render
-() ;
// Képalkotás
k é r d e z éésse
t e z í j i 8 koor d i n á t á j ;
á n a k . le
g e
"at // aktuális képpont
le k é r d e z é s e
Y koordin á t á j á n a k
Hé / / p l A
b k
e rtűu á l i s képpont

4
ő I
mt
§ . p i z z á k gő Á
// f i l m . h gilm I B l i s s
cla s s f i l m (
w i d t E t e g é n t
d o u b l e
7 s z é l e s esség
et ] I öli
ús 4 BASA Ca jő Tów aAikiöe ké ze
// ce
Kt ne tI16 et LT s.
neight ; nát
s Ta e ég 9 mal s k- Jé
doubie i ü m-a e fe 28 s

[7 te f á mőikick ml a ői
§ 9.4apsa ja . kat a kai Lé k

public:
void set width(double);
// Szélesség beállítása
double get width() ;
// Szélesség lekérdezése
void set height(double) ;
// Magasság beállítása
double get heigh-t
() ;
// Magasság lekérdezése
ELMŰ);
// Konstruktor
-film(
);
// Destruktor
void set size(init nt,
) ;
// Kép méretének beállítása
int get column() ;
// Oszlopok számának lekérdezése
int get row() ;
// Sorok számának lekérdezése
void set pixel(int, int, color) ;
// Képpont átszínezése
int save(chart);
// Kép mentése
j
g9

7.1.12. Képpont
// pixel.h Képpont osztály
class pixel (
unsigned char color component [3] ;
// Színösszetevők
public:
void set(color);
// Képpont beállítása
ő :§

ő
al

é z á s á s l t
a

ei l
a

P E S j É k"
jéaa . 46.
éa
.
, S!
§ §
e nd e

2
s, j

t
I

és é
4 4 §
Ft,
a. dat 9A5 Te his d sé s
j . L

.
a. 49d ún 1
dr dhvés 9
a ,
/§ ú 99 . a e.
; ; Né gy A ,

jr 8
át í u

Me us pites
3
ús pá ői vő
had j i
ey
..-

í 4 ! t [sg LB
h /
2. kép atés
hi

S u g á r
.
11 . 4 3
g á r o s z t á l y
j r r a y . h B s u
clas8 T a Y (
vector start;
// k i i n d u l ó p o n t
vector d i r e c t i o n ;
eti
// I r á n y
8 ve a
public:
star t ( v e c t o r £) ;
void set :
// K i i n d u l ó p o n t beá l l í t á s a
i al
vector get st a r t ( ) ;
i i n d u l ó p o n t vis s z a k é r d e z é s e
// K
void set dire c t i o n ( v e c t o r £ ) ;

/ / I r á n y m e g h a t á r o z á s a
ve c t o r g e t d i r e c t i o n ( ) ;
// Irá n y l e k é r d e z é s e
bool egualí(í r a y f £ ] ) ;
// Egy e n l ő s é g elle n ő r z é s e
)

7.1.14. Szín
h Szín osz t á l y
// col o r .
vectot kre s új ad ttag
class c o l o r : p u b l i c
szín egy ve k t o r ,
// A
P u b l i c :

c o l o(r) ;
// Konst r u k t o r
doub l e g e t d a t a ( i n t t ő
n ö s s z e t e v ő
é

[// s z í
d o u b l e ge t . r g b $ E ekre
// B R G B ö s s z e t e v ő
a si; í
mask( olor) : e
c o l o r
77 v a s a k o l ó a Sá 2MET
tosvessző vagayz értékadásjel.)
— .

age
különösebb képességet, ez is az oka, amiért értelmetlen az összes
létező függvényt itt
közölni. Mert többnyire csak egy nyúlfarknyi progtamsorról van
szó, esetleg egy egy-
szerű értékhatár-ellenőrzéssel kiegészítve. Ez igaz például az alakzat diffúziós
együtthatójának beállítására és lekérdezésére,
void shape::set diffusion(double d) (
d20 ? diffusion-d : diffusion-0;
// Fényszórás beállítása
)
double shape:
:get diffusion() (
return diffusion;
// Fényszórás lekérdezése
)
Az áttekinthetőség érdekében a kód ismertetésénél megszegtük
az egy sor — , egy
művelet" szabályt, hiszen a papírról vagy lelógnának a sorvégek,
vagy a következő
sorba kerülnének.65 Ezt a módszert mellesleg célszerű
programírás közben is alkal-
mazni, bár a fejlesztőkörnyezetek többsége nem törde
li a sorokat. Viszont éppen
emiatt a hosszú sorok átláthatatlanok lesznek.

7.2.1. Kamera képalkotó függvénye


void cam:e
:rr
enda
er() (
vector center, horizontal, vertical, inner, outer, start;
// Középpont, vízszintes, függőleges,
// belső, külső, start
ray examiner;
// Vizsgálósugár
centf ocur
e s()-.gsubt r a
eton( c t i
get view() .normalize() .multiplicati on
e (get: ength)()() ;
// A film középpontjának meghatározása

5 A Ct4 lehetőséget ad a sorok tetszőleges tördelésére, a struktúrát a kapcsos


zárójelek hatá-

i
rozzák meg.
— HNK
ben
af

my ba ;
ha
, T€Eed ai
a... 4

4 s t
.

E
P

$ 6: v vi e pt é
ENNNÉSAt Úk én
P,
j- hi

Nye
§
$
Cr
v

z
;

12
d 47
a. . 8
at bm 9 akt

ttéesv i e w l ] s r o a d pb .

n
sg
a r
o
i
n
z
t
o
á
n
l
t
t
j a l m i l t i p l i c a t i o n ( g e t . uPp O
( ) j
f i l " e g y i k o l d a l á v a lF
gyon
// v e k t o r e l ő á l l í t á s a
rejcal-h o r i z o n t a l .
(get v i e w ( ) ) . n ö r m i YT
HA v e c t o r i a l m u l t i p l i c a t i o n
m á s i k o l d a l á v a l p á r h u z a m o s g y j esrge
// A f i l m
i t i o n ( h o r i z o n t a l . N N É P e s t á j e s
star t z c e n t e r - a d d
(g e t . p i c t u r e ( ) . . g e t w i d t )h (
/ 2 ) ) s u b t r a c t i : i
i c a l . m u l t i p l i c a t i o n ( g e t p i c t u r e ( ) .
(ve r t
ge t . h e i g h t ( ) / 2 ) ) ;
// A k i i n d u l á s i p o n t a f i l m j o b b a l s ó s a r k a
o n t a l. m u l t i p l i c a t i o n (-get pi c t u r e ( ) .
:nnerz h o r i z
get w i d/tg e thp i(c t u)r e ( ) .get.co l u m n ) ) ;
// ví z s z i n t e s nö v e k v é n y be á l l í t á s a
m u l t i p l i c a t i o n ( g e t p i c t u r e ( ) .
outer z v e r t i c a l .
t ( ) / g e t . p i c t u r e ( ) . g e t . r o w ( ) ) .
ge t . h e i g h
n ( h o r i z o n t a l . m u l t i p l i c a t i o n
additio
c t u r e ( ) . g e t !w i d t h ( ) ) ) ;
(get pi
l e g e s n ö v e k m é n y k i s z á m o l á s a
// Fü g g ő
x a m i n e r . s e t s t a r t ( g e t . f o c u s ( ) ) : ;
e b e á l l í t á s a
k i i n d u l ó p o n t j á n a k
// V i z s g á l ó s u g á r r ) (
) . g e t . r o w ( ) j a c t y t
for tac t v s O ; . cg e t p i c t u r e (
act y-
á s a
Kei

o k vég i g p á s z t á z
// S o r S E K S E V E S T "
a0;act g e a g r a t e p í t t t ő t e t ű T a K E S
től TAB
act x t t ) (
p ö n g é s z é s e
// o s z l o p o k u s ( ).
B B ( g e t . f o c
g e t d é S E S H
exa m i n e r :
( s t a r t ) );
tr a c t 3 e 5 a
I u g á r ir á n y
ee. álós Y ,
p i x e l ( a c t x , a c t
set.
r ( e x a m i n e r ) ) ;
. r e n d e
l k o t á s egy képpo n t b a n
. k é p a
/1 , ( s t a r t : - a
a d á í t i o n (in n e r ] );
a r t yet k e z ő o s z l o p
s t

e . a d d i t i o n (ou t e r ) ) ;
)
v d eB
-

(ré ÉLÉRE Ú
// Nem lehet megnyitni
£putc (0,£J7; fputc (0,£); Epüte 2. £)s
/7A targa kép 0-0-2 karakterekkel kezdődik
for (int is3;izi2;yitt) Íputc (0.£f);
// Amit nullák követnek
Íputc (get column() Oxff,f); fputc (get -column(/2)56 ,£) .
,
// Szélesség beállítása
Íputc (get row() 5O0xff,f£); fputc (get row() /256 ,f);
// Magasság kiírása
teutc (24,£); tpute (32. f£);
// 24 bites kép
for (1-0;icget column() iget row() ;irr) (
// Képpontok sorfolytonos letapogatása
Íputc (picture[i)].get8 (2),f);
// Kék összetevő kiírása
Íputc (picture[i)].get8 (1),£);
// Zöld összetevő kiírása
Íputc (picture[i)].get8 (0),f);
// Vörös összetevő kiírása
)
felőse (f£);
return 1;
// Sikeres végrehajtás
);

7.2.3. Háromszog dőöfése vizsgálósugárral


void triangle::search nearest (shape ténearest,
transformation §position, double distance,
ray examiner) (
matrix factor;
// Együtthatók mátrixa
vector solution;
ro rr ás kó dr és zl et ek Cs t ny el ve n
Se hg

// Megoldásvektor
Fay my. examiner;
// Belső vizsgálósugár
my examiner- get position() trans form invers (
// Sugár transzformálása examiner ) ;
factor.set size (3,3);
// Mátrix mérete 3x3
solution.set dim (3);
// Minden háromdimenziós
factor.set column (0,get vertex ,JrÖV A
subtraction (get vertex (0) ));
// Első oszlop beállítása
factor.set column (1, ,get vertex (2):
subtraction (get vertex (0)));
// Második együtthatóoszlop
factor.set column (2,my examiner.
get direction()
.minus() ) ;
// Harmadik oszlop
i1£ (factor.determinant-()--0) return;
// Ha nincs megoldás, kilépünk
solution.set (factor.invert() .multiplicationímy examiner.
get start() . sudbtraction (get vertex (0) ) )) ;
// Lineáris egyenletrendszer megoldása
d Lf (solution.ge
data
t (2) c-0 I]
d solution.gdata et (2) distance I
solution.gdata et (0) §
solution.get.data (1):1) return;
távolabb i a háromszög ,
// Ha
nem találta el, kilépünk
// illetve
É 4z
ne a r e s t - t h i s ;
ez a k l p e r á b a k i
// Ta l á l a t esetén
ó l e k n
i ;
n t a c t (g e t . p
posi t i o n . co
kö z k á t e d tel
// H e l y z e t
tok e g e t s t t t l e e
dis t a n c e z s o l u t
// A tá v o l s á g
nala: 3

Te:
riös mójaorei v
dosökamaiözv FÖVEselkézeeve egy e
s gy
b; ENE stágGő Ezer hi $ a

double a-r. AGA körgát ákos:


multiplication(ír.get .direction() ) ;
// Másodfokú egyenlet 1. együtthatója
it (azz0) Ttreturn;
// Ha nem másodfokú az egyenlet, kilépünk
double b-2"r.get. start() .
multiplication (r.get directioni( ) ) ;
// Másodfokú egyenlet 2. együtthatója
double c-r.get start().
multiplication (r.get start())-1;
// Másodfokú egyenlet 3. együtthatója
double d-b"b-4"fra"c;
// Diszkrimináns
í1£ (d-0) return;
// Ha a diszkrimináns negatív,
a másodfokú egyenletnek nincs
// megoldása -
// a gömböt nem metszi a sugár
double t1l- (-bisart (d))/ (27a);
// Másodfokú egyenlet első megoldása
double t25 (-b-sart (d))/ (2"a);
// Másodfokú egyenlet második megoldása
double t; tíist22tst2étstii
// A számunkra fontosat kiválasztjuk
Si (t-s0) tiíirt2z?tsti:etst2:
// Ha nem jó, még mindig lehetünk a gömb belsejében
if (t:distancelÍ[tc5c0) return;
// Ha nem a legközelebbi,
// vagy rossz oldalon van, vissza
distance-t;
// Az új távolság
nearest-this;
// Találat esetén ez a legközelebbi
position.contact (g et po si ti on () );
// Helyzet ko nk at en ác ió ja
$tifdef optimized
old examiner-r;
——— é g r é s z l e t e k C t t n y e l v e n
)ag aovet

r t á r o l á s a
4)

[7 v i z s g á l ó s u g á
old t5rC;
// T á v o l s á g tá r o l á s a
tendif

A l a k z a t o s z t á l y l e g j o b b m e g j e l e n í t ő j e
7.2.5.
color sh a p e : : r e n d e r all (whorldg all,
t i o n gposition, ray e x a m i n e ri,n t l e v e l ) (
t r a n s f o r m a
// képalkotás árnyékokkal, fé n y t ö r é s s e l , tükrözéssel
color temp;
// Ideiglenes szín a v i s s z a t é r é s i
// érték el ő á l l í t á s á h o z
temp.set (temp.mu l t i p l i c a t i o n (0]);
// Kezdetben fekete
ray ny r;
// Saját vi z s g á l ó s u g á r
ny. rzpos i t i o n . t r a n s f
i o
n r
v emr s (examiner);
// Be t r a n s z f o r m á l á s
v e c t o r t a r g e t - g e t t a r g e t íÍny Fr);
/7/ Döféspont
vector normal-get normal (my
Fr) ;
// Felületi normálvektor
if (get di f f u s i o n ( ) 5 0 ]] get atm o s p h e r e ( ) 5 0 )
for (int i1- 0 ; i c a l l .
light number();itt) g e t (
// Ci k l u s az ös s z e s f é n y f o r r á s r a
vector my light;
// A fényforrás helyzete belülről nézve
my light.set (position, ,transform invers (all.
get light (1) .get position()) );
// A fényforrás transzformációja
d o u b l e dist a n c e z t a r g e t . s u b t r a c t i o n (my light).
absolut(e) ;
// Aktuális fényforrás távolsága
ray nearest examiner;
// Ideiglenes vizsgálósugár
nearest examiner.set direction (my light,
subtraction (target) .normalize ( ) ) ;
// Irány beállítása a fényforrás felé
nearest examiner.set start (target.
5)e adot
MÉ Ér
0 6 é le

5 Képes
070 mt:
ek dké - b:ek vsz al
. azé
: T i ;
— j/ e t mt a .
úr A : 1 mi ra w -

NEAZESÉ examiner-position.transform szírstgeez


4

[ 27 Sugár visszaslakítása edjlss


double nearest distance-distance;
// Változó a távolságkereséshez
transformation nearest position;
// Változó a távolságkereséshez
shape "nearest shape;
// Változó a távolságkereséshez
all.search nearest (nearest shape, nearest position,
nearest distance, nearest examiner) ;
// Árnyékok ellenőrzése
color my color;
// Az árnyéknak is van színe
my color.set (all.get light (1) .get spectrum( ) ) ;
// Ha nincs árnyék,
// csak a fényforrás határozza meg
if (! (distance--nearest distance ££ distance50)
)
my color.set (my color.
multiplication (get atmosphere (() ) ) ;
// Egyébként az atmoszféra is
temp.set (temp.addition (my color.multiplication
( (get diffusion()tget atmosphere() ) " all.get light
(1) .get intensity()r fabs (normal.normalize() .
multiplication (target.subtraction ímy light).
normalize ( ) ) ) /pow (distance, 2) ) ) ) ;
// Fényhatások összegzése
)
temp.set (get color().mask (temp) .addition
(get color() .multiplication (get atmosphere ( ) ) ) ) ;
// Maszkolás és atmoszferikus beállítások
if (level:s-all.get level()) return temp; else levelt-;
// Rekurziós mélység ellenőrzése, illetve növelése
double index í( ) ;
temp index-get
// Aktuális törésmutató
if (temp index--0) temp index-Il1;
// Nullával nem lehet osztani

múl
aa
pb v vaj ji A
"£ a alá aid Fú jó:
; ti pp 4 JAY
.pb . ) , x t idjú ! AÉl
él ( § g - [/ p
BE
ag . 5d a ni ; 4) . j- "aki a ő .d 4 ő c)
9.4 das "e. i A
2DAD- sz a pá e 6 7
6 a. lŐ
95eal A d veg b.
1 ind Tr ú a 4
ad tí a ? 4.. i 4;
; l pi
§ . i
NK .
o. pija Ket atti ;

o s s z i r á n y b a m u t a t a n o r m á l v e k t o
"aréd // H a r
normal. s e t ( n o r m a l . m i n u s ( ) ) ;
követ i Mi.dd
// Akkor megfor d í t j u k
i n d e x , - 1 ) ; (EM
pow (te m p .
// D e i l y e n k o r a t e s t b ő l kifelé megyü
)
normal . set (normal .normalize( )) ;
// Egy s é g v e k t o r kell
if (get reflex i o n ( ) : 0 ) (
// Vis s z a v e r é s
ray r e f l e x i o n ;
// A v i s s z a v e r ő d ő s u g á r
n . s e t d i r e c t i o n ( n o r m a l . m u l t i p l i c a t i o n
reflex i o
(-2my r . g e t d i r e c t i o n ( ) . m u l t i p l i c a t i o n
(nor m a l ) ) . a d d i t i o n ( m y . r . g e t d i r e c t i o n ( ) ) ) ;

// vVi s s z a v e r ő d é s i i r á n y m e g h a t á r o z á s a
reflexion. s e t s t a r t ( t a r g e t . a d d i t i o n
(ref l e x i o n . g e t d i r e c t i o n ( ) . m u l t i p l i c a t i o n ( 1 e - 1 0 ) ) ) ;

// K e z d ő p o n t - b e á l l í t á s - e g y k i c s i t
// arré b b m e g y ü n k , m e r t a p o n t a t l a n s á g miatt
// elm e t s z h e t i s a j á t m a g á t
reflexio n - p o s i t i o n . t r a n s f o r m (re f l e x i o n ) ;
// Sugár vis s z a a l a k í t á s a a k ü l v i l á g b a
temp.s e t (tem p . a d d i t i o n
(a l l . r e n d e r í( r e f l e x i o n , level) ) ) ;
// Re k u r z í v ké p a l k o t á s
)
if (get refract i o n ( ) 5 0 ) (
// Fénytörés
ray re f r a c t i o n ;
// A törő sugár
double alfa-acos (-my r.get direction() .normalize( ) .
multip l i c a t i o n (normal) ;
// Beesési szög
double beta-sin (alfa) /temp index;
// Törési szög szinusza
if (betac1) (
// Valóban van törés
b e t a - z a s i n (beta);
// Törési szög
éa vak 11
S
dr
1
a
ve"
d
y
4
e
al e
é
a
a ék
a
öl
4.
ák
.
yea
ha
et 4
b. ő
2
7.
KTM
tai (9reT
4 A né
hav) sz A Él ela , —É. ee
hamár tg)ezgjini Al 1 0) A e fi.

4 JI er

; 06 TA A. Ér

7 £rincőó e rés síkjában 9. e

refraction.set direction (tangent.multiplicat úg


(sin (beta)) .subtraction (normal. .multiplication
(cos (beta) ) )) ;
// Törési irány meghatározása
)
else refíraction.set direction (normal.multiplication
(-2"my r.get direction() .multiplication
(normal) ) .
addition (my r.get direction() ) ) ;
// Egyébként teljes visszaverődés
refraction.set
start (target.addition (refíraction.
get direction()
.multiplication (1e-10) ) ) ;
// Kezdőpont-beállítás - egy kicsit
// arrébbmegyünk, mert a pontatlanság miatt
// elmetszheti saját magát
refíraction-zposition.transform (reíraction) ;
// Sugár visszaalakítása a külső világba
temp.set (temp.addition (all.
render (refraction,level) ) ) ;
// Képalkotás a törési irány felé
)
return temp;
)

7.3. Egyszerű példa a rendszer


használatára
Rendszerünk használata nem jelent különösebb nehézséget. Csupán a megfelelő osz-
tályokból kell létrehozni a kívánt objektumokat, valamint a paramétereiket, tulajdon-
ságaikat tetszés szerint beállítani. Es aztán indulhat a képalkotás! (Az eredményt a
végén célszerű eltárolni, hogy legyen ís valami értelme.)
; [

. a e
st a ,

É-a JI 1 4
sad LA) A (Al
/ at 45
12

11ggegyűklááó a 30
"3dgraph A" tj
. ginclude
/7/ A fejléc fájlo
main() (
// Belépési pont, itt indu;
ELL HT
// A képfelfogó játestozásái e
f. set. Size (320,240) 5
// Vízszintes és füg g ő l e g e s f e l b o n t á s a
camera cam;
// Kamera l é t r e h o z á s a 17 AZA ÉSE
vector vec; "a 3
// Se g é d v e k t o r a k a m e r a p a r a m é t e r e k
// n e h é z k e s b e á l l í t á s a m i a t t
vec.set data (0,-1.5);
t X t e n g e l y e n mért helye -1,5 É27ts
// f óAk u s z p o n
vec.set da t a ( 1 , 0 ) ;
// A f ó k u s z p o n t Y t e n g e l y e n mért helye 0

vec.set data (2,0);


A f ó k u s z p o n t Z tengelyen mért helye 0
//
cam.set focus (vec);
// A f ó k u s z p o n t beállítása
cam.set picture (f);
// Film behelyezése a kamerába, ide kerül a kép
world w;
// világ lé t r e h o z á s a
sphere S;
// Gömb létrehozása
colLoi 60;
színének beá l l í t á s á h o z használt szín objektum
// Gömb
co.set data (0,0.5);
// Vörös összetevő féli n t e n z i t á s ú
co.set data (1,1.0);
ö s s z e t e v ő teljes int e n z i t á s ú
// Zöld
co.set dat a ( 2 , 0 . 7 ] ) ;
// Kék ö s s z e t e v ő 7 0 $ - o s
s.set c o l o r ( G c 0 ) ;
a d á s a 7 GAÓÉK
// Gömb s z í n é n e k m e g
w.add sub (S$);
// Gömb beh e l y e z é s e a v i l á g b a
cam.set watched (w);
// A sikeres végrehajtás visszatérési értéke egy
[1] Abbott, Joe: Software testing technigues, NCC Publ., Manchester, 1986
0] Ábrahá m Gy ör gy : Op ti ka , Pa ne m, Bu da pe st , 19 97 . hee
3] Akenine-Möller, Tomas : R e a l - t i m e r e n d e r i n g , P e t e t s , N a t i c k , 2 0 0 2 .
4] Ames, Andrea L.: V R M L ( V i r t u a l R e a l i t y M o d e l i n g L a n g u a g e ) 2 . 0 a l a p -
könyv, P a n e m , B u d a p e s t , 2 0 0 0 .
B] Angster Erzsébe t : O b j e k t u m o r i e n t á l t t e r v e z é s é s . p r o g r a m o z á s , G á b o r
Dénes Főisk o l a , B u d a p e s t , 2 0 0 5 .
í6] Arany Sá n d o r : L i g h t W a v e 3 D , A u t u m D P I S t ú d i ó , S z o l n o k , 1 9 9 6 .
(7) Bárány N á n d o r : A l á t á s , F e l s ő o k t a t á s i j e g y z e t e l l á t ó , B u d a p e s t , 1 9 6 5 .
í(8] Barzel, Ron e n : P h y s i c a l l y - b a s e d modeling for computer graphics,
Academic P r e s s , B o s t o n , 1 9 9 2 .
(9) Benkő T i b o r n é , P o p p e A n d r á s , B e n k ő L á s z l ó : B e v e z e t é s a B o t l a n d
C-4--4 prog r a m o z á s b a , C o m p u t e r B o o k s , B u d a p e s t , 1 9 9 5 .
[10] Be n k ő T i b o r n é : O b j e k t u m - o r i e n t á l t p r o g r a m o z á s C t - t n y e l v e n ,
Compute r B o o k s , B u d a p e s t , 2 0 0 2 .
1] Benkő Tiborné: Objektum-ori en tá lt pr og ra mn oz ás Tu rb o Pa sc al ny el ve n
7.0, ComputerBooks, Budapest, 1997.
[12] Billmeyer, Fred W.: Principles of colot technology, Wiley-Intersc., New
Yotk, 1981.
[13] Booch, Grady: The unified modeling language user guide, Addison-
Wesley, Reading, 1999.
(14] Budai Attila: A számítógépes grafika, LSI Oktatóközpont, Budapest,
1999.
(15] Budd, Timothy: An introduction to object-oriented programming,
Addison- Wesley, Reading, 1991.
ló] Carman, Robert Archibald: Programozott vektoralgebra, Tankönyvki-
adó, Budapest, 1969.
[17] Cecil, Thomas E.: Lie sphere geometry, Springer, New York, 1992.
18] KNZÉE h Thomas H.: Algoritmusok, Műszaki Könyvkiadó, Budapest,
2001.
19] Evans, A., Kent, S., Selic, B.: Special issue on unified modeling language,
Elsevier, Amsterdam, 2002.
2 UJ] baison, led: Botland Ci--t 4 object-otiented progtamming,
Indianapolis, 1994.
a kt )?
; v §. ; "44 a j ; É
Í LN ; ő úg , S And A " A s ! ii z
.. bead1 szt Jizzdzedset átea mzijszszís
. 8 A §
VA 8. és dudáks ra .A 7 uiml ,k§ 0 / i /
Fe:SE A. ű AY TA tv;
4 . í —ss d p 9 a s;h ur
u.
2 aga
zel , a $y mm s met 4 , eyes § ; .- tú "
— 3 he 883 24 mat kJ 16 va vi " 4
e ra! ik€.
-jó VAA .. ú 1dy 4 1)
vö a IPC té a CE ez
8
"4 - §
szá ad
Mb
aA ét
sz N
URATA: te a
ét
4. 9.
niaTratta
s A u
19 ett elle
BéSS 1 MESSZE érti e. 4 més ata szált 9 És ő "91 Ji
4 a ui ai "atk.J AN

EZER 1991.
Ören W., Petty, J. L., Cotton T. A.:SÉG n optitnization system,
Oak Ridge National Vabattory; Oak Ridge, 1989.
Hanrahan, Pat, Salzman, David, Auppetle Larry: A Rapid Hierarchical
Radiosíty Algorithm, Coömputér Graphics Proceedings 25.4, Las Vegas,
1991. VII
[27] Hans-Martin, Brandt: The photographic lens, Focal Press, London,
1968.
[28] Hay, Alfred: Handbuch der wissenschaftlichen und angewandten
Photographie, Lindemanns, Stuttgart, 1989.
[29] Hidegkuti Gergely: Digitális képalkotás, Vivicom, Budapest, 2002.
[50] Holics László: Fizika 1. kötet, Műszaki Könyvkiadó, Budapest, 1986.
51] Horton, Ivor: Visual C4--t 6, Eytolles, Paris, 2003.
52] Horváth Árpád: Camera obscura, Táncsics, Budapest, 1965.
53] Jánossy Lajos: Vektorszámítás, Tankönyvkiadó, Budapest, 1989.
54] Kajiya, James T.: Anisottopic Reflection Models, Computer Graphics
Proceedings 19.3, San Francisco, 1985. VII.
[55] Kajiya, James T.: The Rendering Eguation, Computer Graphics
Proceedings 20.4, Dallas, 1986. VIII.
56] Kárteszi Ferenc: A kocka, Otszágos Neveléstudományi Intézet, Buda-
pest, 1949.
[57] Kingslake, Rudolf: Lenses in photography, Barnes, New Yotk, 1963.
58] Kit, Edward: Software testing in the real world, Addison-Wesle
y,
Hatlow, 1999.
[59] Kok, Adrianus Johannes Franciscus: Ray tracing and radiosíty
algorithms for photorealistic image synathesis, Techn. Univ. Delft, Delft,
1994.
[40] Komáromi Zsombor: Videokamera-kézikönyv, B--V Lap- és Könyvki-
adó, Bud ape st, 2001 .
[41] Kondorosi Károly, László Zoltán, Szitmay-Kalos László: Objektumori-
entált szof t v e r f e j l e s z t é s , C o m p u t e r B o o k s , B u d a p e s t , 1 9 9 7
Pa
[42] Lafortune, Eric gs
A l v o
Willems,
t , P o r t u g a l , 1 9
Yves
9 3 , X T
D.:: Bi-Directional
th Tracing,
Proceedings o f C o m p u g r a p h i c s ,
for Spatial Interaction na d ö s e s d o á s e t V E N 1 9 9 9 .
Márton Gábor: A sugárkövetés (ray tracingé)s
BME Fo l y a m a t s z a b á l y o z á s i T a n s z é k , B u d a p e s t 11999 97 7
. d ő
[47] Max, Nelson:
on
O p
Vi
t i
su
c a
al
l
iz
M
at
o d
io
e
n
l s
a n d
f o

r
ör
Di
nj jü
re
te
ct
t G a p
Ze
1
nd
2
er
, 1
in
9
g,
9 5 . VI .
Transactions
[48] McGregor, J o h n
A
D
d
. ,
d i
Sy
s o
ke
n
s, D
W e
a
s
v
k
i d
ö j
A.
t B
:
o s
A
t
pr
o n
ac
,
ti
2
ca
0
1l
0 1
g
.
u i d e t t
o e s t i n o
g b j e c t .
oriented software,
[49] Nagy Sánd o r , P e r j é s L á s z l ó : A s z á
á mmií t ó g é p e s g
pont, Budapest
Nassau, Kurt: Col o r f o r s c i e n c e , a r t a n d t e c h n o l o g y , E l s e v i e r , A m s t e r -
DO]
dam, 1998.
Petzold, Ch a r l e s : P r o g r a m m i n g W i n d o w s , M i c r o s o f t P r e s s , R e d m o n d ,
1999.
Pir k ó J ó z s e f : P e r s p e k t i v i k u s g r a f i k a I B M P C - n T u r b o P a s c a l b a n , L S I
Oktatóközpont, 1988.
Pirkó J ó z s e f : T u t b o P a s c a l 6 . 0 é f o r W i n d o w s , L S I O k t a t ó k ö z p o n t ,
Budapest, 1995.
Pritulenko, P. V.: Plane f i g u r e s a n d s e c t i o n s , M i t , M o s c o w , 1 9 8 0 .
Raffai Mária: O b j e k t u m o r i e n t á l t al ka lm az ás fe jl es zt és , N o v a d a t , G y ő r ,
2002.
Richter, Claus: Op t i m i e r u n g s v e r f a h r e n u n d B A S I C - P r o g r a m m e , A k a d . -
Verl., Berlin, 1988.
Rózsa Pál: Line ár is al ge br a és al ka lm az ás ai , T a n k ö n y v k i a d ó , B u d a p e s t ,
1991.
[58] Scharnitzky V i k t o r : M á t r i x s z á m í t á s , Műszaki K ö n y v k i a d ó , B u d a p e s t ,
1986.
[59] Scharnitzky Viktor: V e k t o r g e o m e t r i a é s li ne ár is a l g e b r a , T a n k ö n y v k i a d ó ,
Budapest, 1985.
160] Schildt, H e r b e r t : A W i n d o w s 95 prog r a m o z á s a C é s C t t nyelven,
Panem, Budapest, 1995.
[61] Shammas, Namir Clement : O b j e c t - o r i e n t e d p r o g "amint

Pascal 7, Sams, Carmel, 1995.


é
e "7" fi d
" , bálás ka pg sál up! a ép 49
9" a 4 8 A Éj sé pt .. § Fa ; 47 vv ? ; ! Í dé a 4 1 j i őgr
PE) Á
o. 8 6 tv La d A fi " § , s , tés édi m. . Ke ml ft ezt tud ő - d ? h
: 14 í tú
te , a .
G
ba aal al as ááa
A
. v t
sül,
2 éw.
/
Lp" 41
ST
11]
ae
a a Ea s

1 be Ae a
p
hl
Aa
y s
"
7
í
4
hi
véd m a
.
CYOKS a lk jazz
/ u ." ád

S znes gr AA 4 d ST E ve "s P.s ún Ká 4 d


ár HAT: aeüjpát vé E. , égei 2 ete ds ém. VE
f anzcari A h ga e V n e AN a41
ctos he ) "29A
: J A
§ , D§CCd I ( V I I L d V Uáat ali $ dd
, s A" ő uri égi
nad hd He 1 (S d
All b. rt mis trd MH É a c. 4 kand :
jee 8 méz ja

zt terv s
A .. te e. ay za yi fű

Láb. ETAds erzett (1767


, f úg!
£, ő 4 47 a 8
9 b p ő3 (E. e 4 adá
1
Az
!

"1

or: Szoftvertechnológia és UN
s r-rel, he
li fi a ga dt a. a e

A JJ 7 - . c ( u 0 a se "7 (511 Jane a


a b AK a
v . p A d r
AT 14

[64] ir ;, Steve: Using the view camera, AmphoNt


ewoYo,rk, 1987.
[65] Solt György, Bárczy Barnabás: Geometria, Műszaki Könyvkiz
pest, 1966.
[66] Stüper, Josef: Die photographische Kamera, Lindemanns, Stuttgart,
1999.
[67] Szabó Tibor: Fényképezés, SYCA, Budapest, 2000.
[68] Szal ay Béla : Fizi ka, Műs zak i Kön yvk iad ó, Bud ape st, 197 3.
[69] S z i r m a y - K a l o s Lá sz ló : S z á m í t ó g é p e s grafika, ComputerBooks, Buda-
pest, 1999.
[70] Szirmay-Kalos László: Theory of three-dimensional computer graphics,
Akadémiai Kiadó, Budapest, 1995.
[/1] Tevan György: Vektor- és tenzoralgebra, NME, Miskolc, 1968.
[/2] T r a v i s , D a v i d : E f f e c t i v e c o l o r d i s p l a y s, Academic Press, London, 1991.
[/3] V a r g a M á r t o n : J á t é k p r o g r a m o k k észítése, ComputerBooks, Budapest,
1998.
[/4] Vörösmarthy Dániel: A szem optikája, Medicina, Budapest, 1974.
[/3] Ward, Gregory J.: The Radiance Lighting Simulation and Rendering
System, Computer Graphics Proceedings, Annual Conference Series,
Orlando, Florida, 1994. VII.
[76] Widdel, Heino, Post, David L.: Color in electronic displays, Plenum
Press, New York, 1992.
[/7] Young, Michael: Visual Ct-t 6 mesteri szinten, Budapest, 1998.
[/8] Zollinger, Henrich: Color, VHCA, Zürich, 1999.
ég mén tha zi

B ra "Pp
ő
tendal me

ZZ addití v a l a p s z í n , 9 6
ML additív s z í n k e v e r é s , 1 6 3
u szt adju n g á l á s , 5 1

7. alakzat, 67, 105


Ie h e l y z e t e , 6 9
jr h i e r a r c h i a , 1 0 5
a kon s t r u k t o r , 7 1
osz t á l y , 6 9 , 1 0 8 , 1 1 0 , 1 2 2 , 1 3 9 , 1 4 6
alapszín, 107
algorit m i k u s n y e l v , 1 8
animáció, 169
árnyalás, 124
fényforrásokkal, 126
árnyékolás, 136
array, 51
asztallap, 135
átalakítás, 95 5 et.arnjááti
átméretezés, 57, 166 47.
34, : , ák ÁT
értékadás,
atmoszféra, 165
1 AT ő

; s E e A B a si
F
azonosság, 56
felbo n t
8 á
3 s
, ,
1 6 8 — ez ir A j é " f t
felfelé mut a t ó i r á n y , 7 9
backup.t3d, 163, 168 É s M e t z A k i
gyerm etessal
bájt, 87 sz netet
fény, 95 si ee"HWíáT
beesési szög, 124, 127, 1357 ez age
belső pont, 130
bit, 87
biue, 96
BRDF 161
u A
Í

fókusztávolság, 79
forgatás, 58, 166 képpont, 83, 86
szöge, 58 osztály, 87
fotometria képtávolság, 79
első alaptörvénye, 126 kivonás, 37, 48
második alaptörvénye, 125 kocka, 76
függvény, 22 osztály, 77, 117, 156
virtuális, 30 konkatenáció, 54, 60
konstruktor, 29, 35, 47, 55
G
másoló, 35, 47
gömb, 78, 117 konverzió, 21
döféspontja, 120, 157 koordinátaérték, 34
normálvektora, 120 koordináta-rendszer
osztály, 78, 118, 158 Descartes, 40
virtuális, 155 poláris, 40
green, 96 középpont, 167
kvadratikus, 51
H
felület, 78
háromszög, 74, 110
döféspontja, 115 L
normálvéktora, 115 legközelebbi keresés, 106
osztály, 75, 113, 116 gömb, 119
hierarchia háromszög, 113
öröklés, 28
tartalmazás, 25 M
hiperboloid, 78 maszkolás, 98
hivatkozás, 22 mátrix, 42
destruktor, 47
IÍ egyenlő, 52
ideális tükör, 135 elem, 45
identitás, 56 ellentett, 48
indexváltozó, 21, 23 értékadás, 47
inline, 32 inverze, 52
inverz, 52, 56 kivonás, 48
konstruktor, 47
TOT

sorve k t o r , 4 2
szorzás, 4 8 , 4 9 , 5 0
matt , 1 3 2
max i m u r n , 2 2
megoldásvekt o r , 1 1 2
megv i l á g í t á s e r ő s s é g e , 1 2 6
mé r e t , 4 4 , 8 2
metódus, 24
mező, 24
rminorm á t r i x , 5 0
m o d e l l e z é s , 1 5
modellté r , 1 5 , 1 6 , 6 3
részalakzat, 69
művelet, 18
részművelet, 19
N RGB, 96, 97
négyzetes, 53 rotáció, 58
nézeti irány, 79
S
normalizálás, 40
k t o r , 1 0 9 , 1 1 5 , 1 2 0 self, 40
normálve
skálázás, 57
OÓ Snellius Descartes-féle törv
objektum, 25 sorvektor, 42, 45
spektrum, 96 ele ál
objektumorientált, 23
operátorátdefiniálás, 48 static, 123
optimalizálás, 153, 154 statikus adattag, 125 G
oszlopvektor, 42, 46 sugár, 93 szbaki
osztály, 25 osztály, 94 s dádllé
osztálydiagram, 64, 146 sugárkövetés, 91 KER Még
rekurzív, 92
ÖŐ
öröklés, 146 Sz rerdvnlátatib,
öröklődés, 28 szám n-esek, 42 A
Ős, 29 szín, 95
Összeadás, 36, 48 additív, 96
összefűzés, 60 osztály, 97
összekapcsolás, 60
színkép9,6
Cave
v/

9. B
me Töt gat Lt ag

vV
változó, 20
visszaverődési, 133
szubtraktív szín, 96
vektor, 31
T abszolút érték, 40
destruktor, 35
tagfüggvény, 24
takarás, 123 dimenzió, 33
targa, 85, 168 egyenlőség, 41
tartalmazás, 146 ellentett, 37
tartósík, 115 eltolási, 54, 60
téglatest, 76 értékadás, 34
teljes visszaverődés, 134, 143 kivonás, 37
térvektor, 35 konstruktor, 35
tesztelés, 153, 161 koordinátaérték, 34
textúra, 160 másoló konstruktor, 35
this, 40 osztály, 33
típus, 19, 21 összeadás, 36
továbbfejlesztés, 153, 159
szorzás, 37, 38
tömb, 21, 31
vektoregyenlet, 118
dinamikus, 32 vektortömb, 44
törési irány, 138 világ, 71, 105
törési szög, 134 osztály, 71, 148
törésmutató, 134 165 virtuális függvény, 30
abszolút, 139 virtuális gömb, 155
relatív, 139 visszatérési érték, 20
transzformáció, 53 visszaverődés, 133
konstruktor, 55 iránya, 136
mátrixa, 54 szöge, 133
osztály, 55, 94 teljes, 134, 143
transzformálás vizsgálósugár, 93
inverz, 56, 95
Z
sugár, 95
zoom, 79
vektor, 56
.

"új f 4 4

3 d y é

9 ad És
f a , 1
ká ap
; ha m ad
r
b. ff
[/ ?
2 4 Ps a Re § § o.
, a. ; / .
ni .
, i
4 § Hao " Úk :ő
jö? /,
cz
;

Ma
E a e gy Mft vm hane 9 a § a

5D grafi Ha H a ke dv et ér
képek alkotásáhozü nk az eh he z ha so nl ó
z, az érre szolgáló 3D

tárt k. Hiszen kiderül, ho égntás


. megtanulnunk akkor, ha az itt szerzett tudást a gyakorlatba
s. S s ee ont elég
bet A fiatal szakíró, Varga Márto (aki nem is
n m e r e t l e n a s z a k k ö n y v í t e r é n ) ú g y v e z e t i
. A VÉN
bea vállalkoz szelle o l v a a p r
r á s
ó m s ó og ala h
veg
a
ű t ramozás pjaiba, ogy az közben szórakoz-
£ e ve tanul. Nem száraz, unalm i s mereteken kell átrágnia magát, hanem szemlé
as -
takes: té , ötletes, a v-száágsáptátásá; élethez kapcsolódó példák segítségével gyarapítha
tja

Vem is kell nagy kitartás ahhoz, hogy az alapok elsajátítása után lerakhassuk rend
-
szerünk matematikai pilléreit, majd ezt felhasználva képesek legyünk megalkotn
i a
meg e enítendő virtuális világok vázát képező statikus modellteret. Így máris a
rend-
szer lényegi részéhez juthatunk: a képalkotáshoz. Négyféle módját ismerhetjük meg
"annak, hogy a virtuális világunkról képfelvételt készítsünk:

Kezc etben az egyszerű takarást alkalmazzuk (1), amelynek során sem a fényhatások.
sema térbeliség nem játszik szerepet, csak a testek körvonala, színe és helyzete.
Ezután egyszerű árnyalással már olyan eljárást modellezhetünk (2), mintha a
felvevőkészülék egy fényforrással lenne ellátva. Így már szép térhatású ábrákat
készíthetünk. Később bevezetjük a tetszőleges fényforrásokat (3), ami a megvilágítás
szabadságát tárja elénk: például modellezhetjük az oldalról jövő fényt. Majd olyan
. bon olult feladatokat is képesek leszünk megoldani (4), hogy a testek árnyékot
..——— vessenek, illetve megtörjék vagy visszatükrözzék a fényt. Így juthatunk el az alapok-
Ni —— tól a teljesen valósághű képek alkotásáig.
tj

3 ató . Akötetet internetes mel lék let egé szí ti ki, am el ye n elé rhe tő a ren dsz ert tes zte lő- mo-
a
! af e

Wa

lvű vál -
w

. — de ll ez őm od ul a fo rr ás kó dd al egy ütt — ak ár cs ak a ren dsz er egy kés z, C:- nye


h.AA

— — tozata. A m e l l é k l e t b e n k é p e k e t é s a n i m á c i ó k a t is t a l á l h a t u n k , a m e l y e k a k ö n y v
. alapján készültek. Rl o lTg a i t
TT T E
TTTa l
T á

Ára: 3000 Ft áfával


a

7
! ]
9 (89639 131613
I A SZAK Kiadó a w e
http://www.szak.hu
b e n Ay
Pa"

You might also like