A fiú, aki imádta a matekot

squaredsquare

A_fiu_aki_szerette_a_matekot_cimlapA 85. Ünnepi Könyvhétre és 13. Gyermekkönyvnapokra jelent meg A fiú, aki imádta a matekot – Erdős Pál hihetetlen élete c. mesekönyv magyar kiadása. Az amerikai szerző, Deborah Heiligman, és az illusztrátor, Le Uyen Pham Erdős Pál munkatársaival, barátaival is felvette a kapcsolatot, hogy a világhírű magyar matematikus életét még hitelesebben mutathassák be. Le Uyen Pham Budapestre is ellátogatott, hogy anyagot és ihletet gyűjtsön. A könyv a legkisebb gyerekek számára is érdekfeszítő, a kíváncsiak pedig a könyv függelékében tudhatnak meg többet a főszereplőkről, a matematikusokról és az általuk vizsgált matematikai problémákról.
Az e heti Wikipédia-illusztráció (l. a bejegyzést a forráskóddal és közvetlenül az SVG vektorgrafikát) a könyvben szereplő egyik, Erdős Pál által is népszerűsített probléma, a négyzet különböző méretű négyzetekre való darabolásának legegyszerűbb megoldását ábrázolja. Az 55 résznégyzetből álló első megoldást, és ezzel Erdős sejtésének – miszerint nincs ilyen feldarabolás – cáfolatát Roland P. Sprague német matematikus közölte 1938-ban, Zbigniew Moroń lengyel matematikus korábbi téglalap-feldarabolásait felhasználva megoldásában. A képen látható, mindössze 21 négyzetből álló megoldást Adrianus J. W. Duijvestijn találta 1978-ban számítógép segítségével, bizonyítva azt is, hogy ennél nincsen kevesebb négyzetből álló, vagy ugyanennyi négyzetből álló, de másmilyen felosztás. Az általa alkalmazott számítógépes algoritmusokról bővebben a doktori disszertációjában olvashatunk, amelyet, a problémakör részletes kifejtésével, a Squaring.net oldalon találni meg.
A forráskód a múlt heti tangramrajzolásnál már bemutatott leképezést és rácsrajzoló eljárást használja, kiegészítve egy „rész” névre hallgató eljárással, amely négyzetet rajzol a megfelelő színben (tetszőleges, de 50%-ban átlátszó, a LibreOffice 4.3-ban megjelent TÖLTŐÁTLÁTSZÓSÁG segítségével beállítva), és felirattal (a betűméret a legkisebb négyzet esetén annak méretével egyezik meg, különben pedig egy kicsit kisebb, mint a négyzet oldalhossza): A fiú, aki imádta a matekot bővebben…

Tangramrajzolás

drawtangram_previewA hamarosan megjelenő LibreOffice 3-ban a LibreLogo már képes SVG animációkat is elmenteni. A mellékelt kép a tangramrajzolás Wikipédia SVG animáció animált GIF előnézete, lásd az SVG eredetit a böngészőben.
Az animált SVG képek elmentéséhez elég csak a VÁR parancsot hozzáadni a KÉP blokkhoz. Ha a KÉP blokk VÁR paranccsal végződik, akkor az eredmény egy ismétlődő SVG animáció lesz, úgy mint a példában.

EZ menj x y
HELY [200+x*40, 400-y*40]
VÉGE

EZ vonal x y x2 y2
TOLLATFEL menj x y
TOLLATLE menj x2 y2
VÉGE

EZ rács x y x2 y2
ISMÉTLÉS y2-y+1 [
    vonal x y+HÁNYADIK-1 x2 y+HÁNYADIK-1
]
ISMÉTLÉS x2-x+1 [
    vonal x+HÁNYADIK-1 y x+HÁNYADIK-1 y2
]
VÉGE

KÉP „tangramrajzolás.svg” [
TOLLVASTAGSÁG 2 ELREJT
TOLLHEGY „KEREK”
TOLLSZÍN „VILÁGOSSZÜRKE”
rács 0 0 4 4 VÁR 1000
TOLLSZÍN „FEKETE”
vonal 0 4 4 0 VÁR 1000
vonal 2 4 4 2 VÁR 1000
vonal 1 3 2 4 VÁR 1000
vonal 0 0 3 3 VÁR 1000
vonal 3 3 3 1 VÁR 1000
TÖLTŐSZÍN „PIROS” vonal 0 0 0 4 menj 2 2 TÖLT
TÖLTŐSZÍN „KÉK” vonal 0 0 4 0 menj 2 2 TÖLT
TÖLTŐSZÍN „ZÖLD” vonal 0 4 2 4 menj 1 3 TÖLT
TÖLTŐSZÍN „LILA” vonal 2 4 4 4 menj 4 2 TÖLT
TÖLTŐSZÍN „VILÁGOSZÖLD” vonal 3 1 2 2 menj 3 3 TÖLT
TÖLTŐSZÍN „BÍBOR” vonal 2 4 1 3 menj 2 2 menj 3 3 TÖLT
TÖLTŐSZÍN „SÁRGA” vonal 3 1 3 3 menj 4 2 menj 4 0 TÖLT
VÁR 2000
]

Megjegyzés: a kód tetszőleges koordináta-rendszer használatára mutat példát: a menj eljárás az adott koordinátába viszi a teknőcöt, leképezve azt a LibreOffice/LibreLogo PostScript-szerű koordinátáira. A vonal eljárás kétszer hívja meg a menj eljárást, hogy vonalat húzzon. A vonal és a menj kombinációjával pedig meg lehet rajzolni a tangram színes kitöltött alakzatait is.
A tangram népszerű kirakós játék (lásd a LibreLogo teknőcét!). Fu Traing Vang és Csuan-cse Hsziung kínai matematikusok 1942-ben bebizonyították, hogy 13 konvex alakzatot lehet kirakni a tangramból. Érdemes megpróbálkozni ezek kirakásával:
convex_tangram_shapes_black
[A megoldás (bővített LibreLogo forráskóddal, a koordináta-rendszer origójának egyszerű áthelyezésével, hogy egyszerű koordináták megadásával lehessen megrajzolni több alakzatot is): konvex tangram alakzatok (SVG).]