Author name: dr. Dobreff Csaba

Sokszög forgatása és tükrözése vizuálisan grafikus alkalmazással – 1. rész

Az előző két bejegyzésben (itt és itt) egy pont adott forgáspont körül, megadott szöggel való forgatását és tengelyes tükrözését megvalósító függvények előállításával foglalkoztunk. Ha tudunk egy pontot forgatni vagy tükrözni, akkor lehetőség nyílik egy sokszöget is forgatni, vagy tengelyesen, illetve középpontosan tükrözni, hiszen ilyenkor nem kell mást tenni, mint a sokszög csúcspontjaira elvégezni az említett …

Sokszög forgatása és tükrözése vizuálisan grafikus alkalmazással – 1. rész Read More »

Hogyan valósítsuk meg egy pont tengelyes tükrözését?

Az előző bejegyzésben egy adott pont megadott szöggel történő elforgatásával kapott pont meghatározásával foglalkoztunk, és erre három különböző számítási módszert alkalmazó függvényt definiáltunk. Most egy adott pont tengelyes tükrözéseképpen előálló pont meghatározása lesz a cél. Ahogy a forgatásnál tettük most is két megközelítést alkalmazunk a tükörpont származtatására. Az egyik a koordinátageometriai. Ekkor eltolás, forgatás és …

Hogyan valósítsuk meg egy pont tengelyes tükrözését? Read More »

Hogyan forgassunk el egy adott pontot adott szöggel, adott forgáspont körül?

Grafikus alkalmazásoknál alapvető funkció egy pont adott szöggel való elforgatása, az origó vagy egy megadott forgáspont körül. A forgatás megvalósítását egy olyan függvénnyel oldhatjuk meg, amelynek argumentumai a forgatandó pont, a forgáspont és az elforgatás szöge, visszatérési értéke pedig az elforgatott pont. A kérdés, hogy a függvény törzsében milyen képletet megvalósító kód kerül. Ennek megválaszolásához …

Hogyan forgassunk el egy adott pontot adott szöggel, adott forgáspont körül? Read More »

Hogyan tudhatjuk meg, hogy mely beépített típusokból nem lehet örökölni?

Az előző két bejegyzésben egy egyéni igényekre szabott Range osztályt készítettünk mint kompozíciót a beépített range típust felhasználva. Azért nem a range alosztályaként hoztuk létre a Range osztályt, mert a beépített range típusból nem lehet örökölni. Egyben jeleztük azt is, hogy nem csak a range az egyetlen ilyen beépített típus. A kérdés, hogy milyen más …

Hogyan tudhatjuk meg, hogy mely beépített típusokból nem lehet örökölni? Read More »

Egyéni Range típus definiálása összeadás, kivonás és szorzás műveleti képességekkel – 2. rész

Az előző bejegyzésben egy feladat kapcsán olyan specializált Range osztály definiálását kezdtük el, amely példányai a beépített range típushoz hasonlóak, de a cél, hogy a következő képességekkel is rendelkezzenek: 1) két azonos elemszámú Range, vagy azonos elemszámú Range és range objektum összeadható a + operátorral, vagy egymásból kivonható a – operátorral. Az eredményül kapott új …

Egyéni Range típus definiálása összeadás, kivonás és szorzás műveleti képességekkel – 2. rész Read More »

Egyéni Range típus definiálása összeadás, kivonás és szorzás műveleti képességekkel – 1. rész

Tegyük fel, hogy egy nagyvállalat piaca fokozatosan nő, és ezért több részlegében egy adott időn keresztül évente egyenletesen növelik a létszámot, vagyis minden évben azonos fővel növekszik a dolgozói állomány. A részlegekben mind az induló létszám, mind pedig az éves növekedés eltérő. A kérdés, hogy a növekedési időszak alatt a részlegben együttesen évente hogyan alakul …

Egyéni Range típus definiálása összeadás, kivonás és szorzás műveleti képességekkel – 1. rész Read More »

MVC programfelépítés GUI alkalmazásban megfigyelő minta használata nélkül

Az előző két bejegyzésben az MVC architektúrára épülő programfelépítést szemléltettük. Elsőként egy nem grafikus felhasználói felületű alkalmazásban, majd pedig grafikus felhasználói felületet (GUI) kínáló alkalmazásban. Mindkét esetben a megfigyelő programtervezési mintát (observer design pattern) alkalmaztuk a megjelenítést végző objektumok értesítésére, hogy a modell állapota megváltozott, és ennek megfelelően módosuljon a megjelenítés. Most ugyanezt a mintapéldát …

MVC programfelépítés GUI alkalmazásban megfigyelő minta használata nélkül Read More »

MVC programfelépítés megfigyelő minta használatával GUI alkalmazásban

Az előző bejegyzésben az MVC szerkezetre épülő, nem grafikus felhasználói felületű alkalmazásra adtunk egy szemléltető példát, ahol a megfigyelő programtervezési mintát (observer design pattern) alkalmaztuk a megjelenítést végző objektumok értesítésére, hogy a modell állapota megváltozott, és ennek megfelelően módosuljon a megjelenítés. Mindazonáltal az MVC architektúra leginkább a grafikus felhasználói felületet (GUI) kínáló alkalmazásokban használatos, ezért …

MVC programfelépítés megfigyelő minta használatával GUI alkalmazásban Read More »

MVC programfelépítés megfigyelő minta használatával nem GUI alkalmazásban

Az előző néhány bejegyzésben azért jártuk körül részletesen a megfigyelő programtervezési mintát (observer design pattern), mert ezt a mintát lehet használni az MVC betűszóval jelölt programszerkezet megvalósítására is. Az MVC a Model, View és Controller angol szavakból ered, és egy olyan programfelépítésre utal, aminek lényege, hogy a modellt, vagyis az adatfeldolgozást, annak szabályait és logikáját …

MVC programfelépítés megfigyelő minta használatával nem GUI alkalmazásban Read More »

Megfigyelő minta attribútumleírók használatával

Az előző néhány bejegyzésben a megfigyelő tervezési minta (observer design pattern) alkalmazásával és megvalósítási változataival foglalkoztunk. Láthattuk a push és pull változatok közötti elvi különbséget, majd pedig az üzenetküldés feladatát kiszerveztük egy külön objektumba. Legutóbb megnéztük, hogy öröklés helyett hogyan lehet dekorátorokkal biztosítani a publikáló és feliratkozó objektumok azon képességeit, hogy a publikáló, vagy más …

Megfigyelő minta attribútumleírók használatával Read More »