– den guddommelige brøk De divina proportione – den guddommelige brøk DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Referencer Jesper Frandsen, De(t) gyldne snit – i kunst, natur og matematik, Systime, 1991. http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Fibonacci.html http://www.ee.surrey.ac.uk/Personal/R.Knott/Fibonacci/fib.html http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/fibBio.html#roman DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Fibonacci-tal f1 = 1 f2 = 1 fn = fn-1 + fn-2 1, 1, 2, 3, 5, 8, ? int fib (int n) { // pre: n >= 1 // post: fib(n) = fn (det n’te Fibonacci-tal) if ( n==1) return 1; else if ( n==2 ) return 1; else return fib(n-1) + fib(n-2); } DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Fibonacci (1170-1250) Leonardo af Pisa, også kendt som Fibonacci, der er en forkortelse af Figlio di Bonacci, søn af Bonacci. Han skrev i 1202 bogen ”Liber abaci” der nu kendes i en håndskrevet afskrift fra 1228. ”Liber abaci” er en omfattende bog og var især beregnet for mennesker der skulle udføre praktiske beregninger, f.eks. Handelsmænd. Den indeholder den aritmetiske og algebraiske viden man havde på den tid og kom dermed til at spille en afgørende rolle for matematikkens udvikling i Europa i de følgende århundreder. Mod den tids sædvane er der i bogen overalt benyttet arabertal hvorfor den ofte opfattes som ”skyldig” i at vi i dag anvender arabertal. Det menes også at det var Fibonacci der indførte brøkstregen. DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Kaninpar En kaninbestand består fra begyndelsen af et kønsmodent par. Hver kønsmodent par føder et nyt par hver måned, og kaninerne bliver kønsmodne en måned efter fødslen. Hvordan vokser antallet af kaninpar efterhånden som månederne går? DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Hanbiers stamtræ Betragter vi en bidronning er det sådan at den ret tidligt i sin karriere – som det kendes fra en anden og mere nærliggende art – ”går i byen en lørdag aften” og giver den hele armen idet den på denne ”tur” samler sæd fra et meget stort antal hanbier. Når dronningen så (godt udmattet?) er vendt tilbage, begynder den at producere æg, og reglen er at et ubefrugtet æg bliver til en hanbi, mens et befrugtet æg bliver til en hunbi. Da dronningen er i stand til at gemme den indsamlede sæd i flere år, kan den på grundlag af oplysninger fra arbejderne (det er de ufrugtbare hunner) regulere kønsfordelingen i bikuben så den imødekommer det akutte behov. DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Det gyldne snit a b A C B C deler liniestykket AB i det gyldne snit netop når DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Om “det gyldne snit” Navnet “det gyldne snit” stammer formentlig fra 1835 hvor en tysk matematiker måske blander to ting, nemlig regula aurea (den gyldne regel) secho divina (guddommelig snit) Den gyldne regel var en metode der blev brugt i handelsregning. Siden er det i Tyskland og Norden blevet kaldt det gyldne snit, mens det andre steder oftest kaldes den guddommelige brøk. DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Udregning af det gyldne snit er måske valgt fordi det er forbogstavet i Phidias, den græske billedhugger som ledede den skulpturelle udsmykning af Parthenon DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Lidt om 1 Et liniestykkes gyldne snit ligger 38% inde på liniestykket. 1,6182 = 2,618 dvs. 2 = - 1 1 / 0,618 = 1,618 dvs. 1 / (-1) = 0,618 x 2,618 = 1,618 dvs. (-1) (+1) = 0,6182 = 1 - 0,618 dvs. (-1)2 = 1-(-1) 2,618 x 1,618 = 2,618 + 1,618 dvs. (+1) = +1+ 1 / 1,6182 = 1 - 0,618 dvs. 1 / 2 = 1-(-1) DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Det gyldne snit i hverdagen DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Som kompositorisk princip Billedet viser en religiøs handling med en ældre herre og en ung pige i centrum. Billedet udstråler en mørk og sørgmodig stemning der underbygges af af ansigterne hvor især den unge pige ser betænkelig ud. Grunden til dette finder vi i det venstre lodrette og nederste vandrette gyldne snits skæringspunkt. De skal giftes, og pludselig forstår man bedre pigens ansigtsudtryk. Brudgommens udtryk er mere uigennemskueligt, men det kan se ud som om han har svært ved at skjule en vis appetit ved situationen. Lyset og blikkene er med til at føre beskuerens blik mod højre hvor det dog delvis bremses af brudens næsten tomme blik og hendes stearinlys der peger tilbage. Herved får det højre lodrette gyldne snit en større betydning, og da det går ned midt mellem de to hovedpersoner, er det med til at understrege den afstand der er mellem dem. Et ulige ægteskab (1862) DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Andre eksempler DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Et gyldent rektangel Et gyldent rektangel er et rektangel hvor forholdet mellem den længste og den korteste side er . DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Billedformater (beskæring) Når man søger det hemmelige trylleri i et ægte kunst-værk, antages det altid at der er en sammenhæng mellem billedformat og indhold. Der findes således billeder hvor formatet og billedets udstråling og indhold er så tæt knyttet sammen at en forskydning på ganske få cm af forholdet vil give en væsentlig ændring. Hans Vollmer ”Zur Aesthetik des Bildformats” (1908-9) En kostald i en bondegård i Vejby J. Th. Lundbye (1844) DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Logaritmisk spiral Hvis man fra et gyldent rektangels ene ende fjerner det størst mulige kvadrat, er det tiloversblevne rektangel gyldent. Den logaritmiske spiral har overalt samme form DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Nautilus pompilius Gennemskåret blæksprutteskal DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Gyldne snit hos bløddyr DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Gyldne rektangler i arkitektur Ivar Bentsens forslag til musikhus i København (1918) På taget anes en balustrade, dvs. en en slags rækværk hvor staverne er små søjler, balustre. Afstanden mellem balustrene blev anvendt som enhed, og hver baluster er 3 enheder. De øverste vinduer er kvadratiske med en side på 5 enheder. Alle vinduerne har samme bredde, men de næste er 8 enheder høje, de næste 13, og de næste 21 – de spænder over to etager. Altså en bygning hvis facade er præget af Fibonaccital. Forslaget kan være en følge af de bestræbelser der på dette tidspunkt – som en slags opgør med romantikken i arkitekturen – var for at lave klare æstetiske regler. DAIMI, AU, December 1999 Introducerende objektorienteret programmering
le Corbusier Villa i Garches (en forstad til Paris) tegnet af le Corbusier; prøver man efter, passer den præcist i et gyldent rektangel DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Norgesporten i Kastellet Om det er bevidst at Norgespor-ten i Kastellet i København kan indskrives i et gyldent rektangel, vides vistnok ikke, men da hele fæstningsværket er udformet efter renæssancens idéer, er det nærliggende at tro. DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Nybrogade 8 i København DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Litteratur Digtsamlingen ”alfabet”, Inger Christensen (1981) 1. abrikostræerne findes, abrikostræern findes Som det ses, er stroferne fortløbende bygget op over alfabetets bogstaver, og antallet af vers (linier) i stroferne er hhv. 1, 2, 3, 5 og 8 – Fibonaccitallene. Det betyder at ’å-digtet’ skal have f30 linier (der er 29 bogstaver i alfabetet, og f1 bruges ikke). Nu er f30 = 832040 hvilket selvfølgelig er umuligt, og digtene fortsættes da også ’kun’ til og med n hvor de pludselig afbrydes. Digtet er et såkaldt systemdigt; det lader sig styre af to systemer, nemlig alfabetet og Fibonaccitallene. Med valget af disse to systemer har Inger Christensen pålagt sig selv nogle meget stramme begrænsninger. 2. bregnerne findes; og brombær, brombær Og brom; og brinten 3. cikaderne findes; cikorie, chrom og citrontræer findes; cikaderne findes; cikaderne., ceder, cypres, cerebellum 4. duerne findes; drømmene, dukkerne dræberne findes; duerne, duerne; dis, dioxin og dagene; dagene findes; dagene, døden; og digtene findes; digtene, dagene, døden 5. efteråret findes; eftersmagen og eftertanken findes; og enrummet findes; englene, enkerne og elsdyret findes; enkelthederne findes, erindringen, erindringens lys; og efterlyset findes, egetræet og elmetræet findes, og enebærbusken, ensheden, ensomheden findes, og edderfuglen og edderkoppen findes, og eddiken findes, og eftertiden, eftertiden DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Botanik Vi skal nu se nærmere på hvordan en plantes blade er placeret på stænglen. Et stykke nede på stænglen vælges et blad som vi giver nr. 0. Fra dette blad bevæger vi os den korteste vej op til det næste blad, og det får nr. 1. Således fortsættes, og det viser sig at det giver en spiralformet bane op ad stænglen som vi standser når vi første gang møder et blad der sidder præcis lodret over nr. 0. På tegningen ses det at ske ved blad nr. 5 som vi møder efter 2 omgange ad den spiralformede bane på stænglen. Hvis vi havde valgt et andet blad, ville vi have fået samme resultat, dvs. 5 og 2. Dette var et tegnet eksempel, men ... DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Gummiplanter m.m. Det er klart at ovenstående planter er valgt ud, men de er ikke så specielle som man måske ville tro; mange planter følger dette mønster. DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Naturen er rationel For botanikere er det vel ikke umiddelbart interessant at der er tale om to Fibonacci-genboer og at dette forhold går mod 2 = 2,62. For dem er det nok mere interessant at forholdet ligger mellem 2 og 3, altså at der er fra 2 til 3 blade pr. omgang. Dette fortæller at bladene er placeret på stængler i spiraler på en sådan måde at de er skilt fra hinanden med mellem 1/2 og 1/3 omgang. Hermed opnår planten optimale muligheder for lys og luft for det enkelte blad samtidig med at det giver mulighed for et stort antal blade da den korteste vej på en cylinderflade er en spiral. Nu er det jo ikke muligt at spørge hverken naturen eller skaberen om hvorfor dette mønster er så almindeligt. Derimod er det muligt at undersøge hvad der gør det til et for naturen fornuftigt princip. Hertil ser vi på de forhold der – som i skemaet – består af to Fibonacci-genboer: 2/1 3/1 5/2 8/3 13/8 21/13 ... Udregnes disse brøker fås 2,0 3,2 2,5 2,667 2,600 2,625 2,615 ... Tallene konvergerer mod 2. DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Blomster, blade og spiraler Hvis vi tæller de spiraler der går mod og med uret på en solsikke, ser vi at der er hhv. 21 og 34, altså to nabo-Fibonaccital. Ved store solsikker kan der også være 34 og 55, ved små er der færre spiraler, men det er altid nabo-Fibonaccital! En anden forbindelse mellem planter og Fibonaccital findes undertiden ved at tælle blomster og blade horisontalt på en stilk. DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Optimal pakning DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering Og det bliver ved… For rosenkål, artiskok og fyrrekogle gælder noget tilsvarende. Rosenkål Artiskok Fyrrekogle Grankogle Ananas For grankogler og ananas gælder noget tilsvarende som for solsikker; grankoglen har 5 spiraler den ene vej og 8 den anden, mens ananasen har hhv. 8 og 13, altså igen nabo-Fibonaccital. DAIMI, AU, December 1999 Introducerende objektorienteret programmering
Introducerende objektorienteret programmering (Trivial) Pursuit DAIMI, AU, December 1999 Introducerende objektorienteret programmering