Ábrák

Ábrák

Az ábrák nem részei a Haskell Platformnak. Azért szerepelnek a tananyagban, mert a segítségükkel könnyebb néhány alapvető dolgot elmondani.

A koordináta rendszer


A feladatsor minden feladatában ez lesz a koordináta rendszer.

Kör

circle :: Double -> Diagram
Test>

Függvénytípus, függvényalkalmazás.

Téglalap

rect :: Double -> Double -> Diagram
Test>
Test>

Kétparaméteres függvények típusa és alkalmazása.

Két ábra egymásra helyezése

(<|>) :: Diagram -> Diagram -> Diagram
Test>

Operátorok és alkalmazásuk.

Feladat: Behajtani tilos tábla

Készítsük el a következő alakzatot (a felhasznált hosszúságok 2, 5 és 8):

Test>

Eltolás

move :: Diagram -> Point -> Diagram
Test>

A move operátorként erősebben köt mint a <|>.

Feladat: Ajtó

Készítsük el a következő alakzatot (a felhasznált hosszúságok 2, 6, 10, 14 és 20):

Test>

Sok ábra egymásra helyezése

union :: [Diagram] -> Diagram
Test>

Halmazkifejezés

Test>

Feladat: Pénzoszlop

A kör sugara 4.

Test>

Feladat: Lépcső

Készítsük el a következő alakzatot!
A felhasznált számok: -5, 1, 2, 5

Test>

Feladat: Ketrec

A felhasznált számok: -5, 1, 2, 4, 20

Test>

Feladat: Körök

Test>
Test>
Test>

Feladat: Gömbök

A gömbök mérete 1.5x, ahol x∈{-5,-4,…,4,5}.

A hatványozás operátora: **

Test>

Feladat: Gyöngysor

A függvény x ↦ x2/10.

Test>

Feladat: Spirál

Új függvények: pi, sin, cos.

Test>

Színezés

fill :: Diagram -> Color -> Diagram
black :: Color
Test>

Előre definiált színek: black, gray, white, red, green, blue, yellow


Konstansok típusa.

Feladat: Színes behajtani tilos tábla

Készítsük el a következő alakzatot (a felhasznált hosszúságok 2, 5 és 8):

Test>

Forgatás

rotate :: Diagram -> Double -> Diagram
Test>

Feladat: Fekete csillag

A felhasznált hosszúság 10.

Test>

Feladat: Óralap

Test>

Szakasz

(>-<) :: Point -> Point -> Diagram
Test>

Feladat: Pitypang

Test>

Poligon

polygon :: [Point] -> Diagram
Test>

Feladat: Csillag

Test>

Skálázás

scale :: Diagram -> Double -> Diagram -- skálázás

Vonalstílus

stroke :: Diagram -> Color -> Diagram -- vonalszín megadás
strokeWidth :: Diagram -> Double -> Diagram -- vonalvastagság megadás

Razjtábla mérete

clip :: Point -> Point -> Diagram -> Diagram -- rajztábla mérete (bal alsó - jobb felső)

Példa:

Test>

Szövegek

textFrom :: String -> Point -> Diagram -- szöveg adott pozíciótól
textTo :: String -> Point -> Diagram -- szöveg adott pozícióig
fontFamily :: Diagram -> String -> Diagram -- betűkészlet megadás
link :: Diagram -> String -> Diagram -- html link megadása

Két példa:

Test>
Test>
Active.hs