10/11/2013 Avedøreværket. Matematik og IT. Mikkel G, Erik, Alexander og Mathias ROSKILDE HTX KLASSE 3.4

Relaterede dokumenter
Avedøre-værket i rotation

VEKTOR I RUMMET PROJEKT 1. Jacob Weng & Jeppe Boese. Matematik A & Programmering C. Avedøre-værket. Roskilde Tekniske Gymnasium 3.4. Fag.

Projekt: Avedøre værket

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet

Michael Jokil

Vektorer i 3D. 1. Grundbegreber. 1. Koordinater. Enhedsvektorerne. Vektor OP. De ortogonale enhedsvektorer kaldes for: Hvis punkt p har koordinaterne:

Hvis man ønsker mere udfordring, kan man springe de første 10 opgaver over. , og et punkt er givet ved: P (2, 1).

Hvis man ønsker mere udfordring, kan man springe de første 10 opgaver over. 1, og et punkt er givet ved: (2, 1)

Dokumentation af programmering i Python 2.75

Matematik A-niveau 22. maj 2015 Delprøve 2. Løst af Anders Jørgensen og Saeid Jafari

Vektorregning. Vektorer som lister

VEKTORGEOMETRI del 2 Skæringer Projektioner Vinkler Afstande

Vektorer og lineær regression

Vektorer og lineær regression. Peter Harremoës Niels Brock

Visualiseringsprogram

Kommentarer til den ægyptiske beregning Kommentarer til den ægyptiske beregning... 5

Vektorer og rumgeometri med. TI-Interactive!

Opgave 1 - Lineær Funktioner. Opgave 2 - Funktioner. Opgave 3 - Tredjegradsligning

Aalborg Universitet - Adgangskursus. Eksamensopgaver. Matematik B til A

Du skal lave en tegning af bordet set lige på fra alle sider (fra langsiden, den korte side, fra oven og fra neden - 4 tegninger i alt).

Bedste rette linje ved mindste kvadraters metode

Matematik A, STX. Vejledende eksamensopgaver

Matematik A 5 timers skriftlig prøve

Geometri i plan og rum

Matematik A. Prøvens varighed er 5 timer. Alle hjælpemidler er tilladt. Ved valgopgaver må kun det anførte antal afleveres til bedømmelse.

Matematik A STX december 2016 vejl. løsning Gratis anvendelse - læs betingelser!

Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 8. Juni 2015

Delmængder af Rummet

Klasse 1.4 Michael Jokil

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

Projekt 3.1 Pyramidestub og cirkelareal

Undervisningsbeskrivelse

HTX, RTG. Rumlige Figurer. Matematik og programmering

Vinkelrette linjer. Frank Villa. 4. november 2014

IT og Programmering eksamens projekt

Matematik A. Studentereksamen

Undervisningsbeskrivelse

Projekt Beholderkonstruktion. Matematik - A

Undervisningsbeskrivelse

Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT.

Løsning til øvelse 7.8, side 272: Københavns Politigård

Matematik A. Højere teknisk eksamen

Q (0, 1,0) MF(161): y a( x) y b( x) har løsningen: y e b( x) bx ( ) e dx e e dx e dx e. y e 8e. Delprøve uden hjælpemidler: kl

Undervisningsbeskrivelse

Matematik A og Informationsteknologi B

Delmængder af Rummet

Undervisningsbeskrivelse Mat A

GUX. Matematik. A-Niveau. Torsdag den 31. maj Kl Prøveform a GUX181 - MAA

Matematik A. Studentereksamen. Skriftlig prøve (5 timer) Fredag den. december kl... STX MAA LQGG

er et helt tal. n 2 AB CD AC BD (b) Vis, at tangenterne fra C til de omskrevne cirkler for trekanterne ACD og BCD står vinkelret på hinanden.

Eksponentielle modeller

Ting man gør med Vektorfunktioner

Matematik A. Højere teknisk eksamen

Computerspil. Hangman. Stefan Harding, Thomas Bork, Bertram Olsen, Nicklas Thyssen og Ulrik Larsen Roskilde Tekniske Gymnasium.

Undervisningsbeskrivelse

Højere Teknisk Eksamen maj Matematik A. Forberedelsesmateriale til 5 timers skriftlig prøve NY ORDNING. Undervisningsministeriet

Undervisningsbeskrivelse

Sfærisk Geometri. Ikast Ib Michelsen

Geogebra. Dynamisk matematik. Version: August 2012

Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 3. Juni 2014

Undervisningsbeskrivelse

Matematik A. Studentereksamen

Kapitel 2 Tal og variable

Vejledende Matematik A

Det skrå kast, en simulation

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Julehjerter med motiver

Ting man gør med Vektorfunktioner

SPHERO 2.0 undervisningsforløb til mellemtrinnet i matematik Polygoner og vinkler

A U E R B A C H M I K E # e z. a z. # a. # e x. # e y. a x

Matematik A. 5 timers skriftlig prøve NY ORDNING. Højere Teknisk Eksamen maj 2008 HTX081-MAA. Undervisningsministeriet

Matematikken bag Parallel- og centralprojektion

Løsninger til eksamensopgaver på A-niveau 2017

Matematik A. Studentereksamen. Forsøg med digitale eksamensopgaver med adgang til internettet

Potensfunktioner samt proportional og omvent proportional. for hf Karsten Juul

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard

Sådan gør du i GeoGebra.

Lektion 7 Funktioner og koordinatsystemer

MATEMATIK A-NIVEAU. Kapitel 1

Differentialregning med TI-Interactive! Indledende differentialregning Tangenter Monotoniforhold og ekstremum Optimering Jan Leffers (2009)

Matematik A-niveau STX 24. maj 2016 Delprøve 2 VUC Vestsjælland Syd.

Temaopgave: Parameterkurver Form: 6 timer med vejledning Januar 2010

Lad os prøve GeoGebra.

Projekt 1.3 Design en optimal flaske

Besvarelser til Lineær Algebra og Calculus Globale Forretningssystemer Eksamen - 6. Juni 2016

Automatisering Af Hverdagen

Undervisningsbeskrivelse

STUDENTEREKSAMEN GUX MAJ MATEMATIK A-NIVEAU. Prøveform a. Kl GUX-MAA

Opgave 1 Opskriv følgende vinkler i radianer 180, 90, 135, 270, 60, 30.

Gratisprogrammet 27. september 2011

Problemløsning i retvinklede trekanter

Undervisningsbeskrivelse

VEKTORGEOMETRI del 2 Skæringer Projektioner Vinkler Afstande

Transkript:

1/11/213 Avedøreværket Matematik og IT Mikkel G, Erik, Alexander og Mathias ROSKILDE HTX KLASSE 3.4

Indhold Forord... 2 Matematik... 3 a) Bestem koordinaterne til punkt B i grundfladen... 4 b) Opstil en parameterfremstilling for den linje, der går gennem B og P... 4 c) Bestem koordinaterne til punkt D... 5 d) Opstil en ligning for planen α... 6 e) Beregn vinklen mellem en af pyramidestubbens skrå sider og grundplanen, xy... 7 f) Opstil en ligning for planen π... 8 g) Beregn vinklen mellem α og π... 1 h) Opstil en parameterfremstilling for skæringslinjen mellem α og π... 11 i) Beregn arealet af den del af planen, der afgrænses af punkterne F, G og H... 12 j) Beregn længden af storaksen til den ellipse, der udgør en udskæring til et af rørene i taget... 14 IT-del... 17 a) Begrundelse for valg af værktøj (Tools)... 17 b) Fremgangsmåde... 17 Beskrivelse af kode:... 18 Studieområde del af rapport... 2 Extreme programming... 2 Fordele ved pair programming... 2 Ulemper ved pair programmering... 2 Start på projektet... 21 Hvordan fungerede det i praksis?... 21 1

Forord Denne rapport er udarbejdet i slut september, start oktober 213 i to ugers tværfagligt projekt med fagene Matematik og Informationsteknologi på Roskilde Tekniske Gymnasium under vejledning af Mette Frost Nielsen og Karl G Bjarnason. Projektet beskæftiger sig med vektorer i tre dimensioner med fokus på det danske Avedøreværk. I dette projekt har vi løst en række opgaver der beskriver arkitekturen bag værket. Disse opgaver har skabt forståelse for den tredje dimension med henblik på vektorregning. I informationsteknologi har vi lavet en 3-D model af kraftværket i python udvidelsen Visuel Python. Desuden har vi eksperimenteret med farver samt animationer i forbindelse af denne model af værket. Formålet med denne IT del var at få forståelse for python programming samt forståelse for sammenspillet mellem matematik og IT. I forhold til den tværfaglige del af projektet har vi fået indblik i arbejdsmetoden pair programming. Samt generelt gruppearbejde. 2

Matematik På figur 1 ses et billede af Avedøre-værket ved København, der bl.a. producerer fjernvarme. Brændslet afbrændes i den pyramideformede kedelbygning som ses bagerst til venstre. Figur 1 På figur 2 ses en lignende kedelbygning. Bygningen er en pyramidestub med kvadratisk grundflade, hvis kantlængde AB=BC=4 cm. Pyramidestubbens 4 sider danner samme vinkel med grundplanen. Pyramidestubben er placeret i et 3-dimensionalt koordinatsystem med grundfladen i xy-planen, hvor hjørnepunkterne A=(4,,) og C=(,4,). Figur 2 Forlængelsen af pyramidestubbens skrå kanter ender i en spids, P=(2,2,8). Pyramidestubbens øverste flade er skrå. På den kant, der er parallel med stykket AB, er punkt D=(xD,yD,38). På den modsatte kant er punkt E=(xE,yE,42). 3

Punkterne A, B og D er beliggende i planen α. På pyramidestubben ses en kasseformet udbygning. En af skæringslinjerne mellem denne og pyramidestubben udgøres af stykket FG. Punkterne F=(4,28,) G=(xG,28,25) H=(4,28,22) er beliggende i planen π. To udluftningsrør, som går gennem en udskæring i taget, har samme diameter, D=7 mm a) Bestem koordinaterne til punkt B i grundfladen Da vi for at vide at pyramidestubben består af en kvadratisk grundflade og alle pyramidestubbens 4 sider danner samme vinkel med grundplanen, må grundplanen af pyramiden også være et kvadrat. Vi kender desuden to punkter i grundplanen: A=(4;;) og C=(;4;). Når man så kigger på figur 2 og vurdere placering af B må koordinaterne være følgende: B = (4; 4; ) b) Opstil en parameterfremstilling for den linje, der går gennem B og P Vi kender de to punkter B=(4; 4; ) og P=(2,2,8) fra henholdsvis opgavetekst og forrige opgave. For at opstille en parameterfremstilling for en linje skal der kendes et punkt og en retning. Vi vælger at lade B være vores punkt. Vi finder en retningsvektor ved at trække de to stedvektorer fra hinanden. BP = P B 2 4 2 BP = ( 2) ( 4) = ( 2) 8 8 På baggrund af kendt punkt på linjen samt retningsvektoren, kan vi opstille parameterfremstillingen for linjen, vi vælger at kalde den for L. x 4 2 L = ( y) = ( 4) + t ( 2) z 8 4

c) Bestem koordinaterne til punkt D Vi ved fra opgave teksten af punktet D er placeret på følgende måde: D=(xD,yD,38). Desuden kan vi se at punktet D ligger på vores linje L. Vi vil derfor opstille en ligning for at finde T-værdien på vores linje hvor punktet eksistere. Vi indsætter vores z-værdi fra punktet på linjen: x 4 2 ( y) = ( 4) + t ( 2) z 8 38 = + t 8 Ligningen løses for T T =,475 Med T-værdien kan vi finde de resterne punkter ved at indsætte T i parameter fremstillingen: 4 2 L = ( 4) +,475 ( 2) 8 x = 3,5 V y = 3,5 V x = 38 D = (3,5; 3,5; 38) 5

d) Opstil en ligning for planen α For at opstille en ligning for planen skal der findes et punkt og en normalvektor. Normalvektoren findes ved at krydse to retningsvektorer for en parameter fremstilling for et plan. Et plan består af to retningsvektorer og et punkt. Vi kender tre punkter inden for planet: A, B og D. Vi vælger at B skal være vores punkt i planen. Men de to retningsvektorer BA og BD skal først findes inden et plan kan opstilles. 4 4 BA = r 1 = ( ) ( 4) = ( 4) 3,5 4 9,5 BD = r 2 = ( 3,5) ( 4) = ( 9,5) 38 38 Vi finder normalvektoren ved at krydse de to retningsvektorer n = r 1 r 2 n = ( 4 9,5 38, 38 9,5, 4 9,5 9,5 ) 152 n = ( 38 ) Med normalvektoren fundet er vi nu næsten i mål med at kunne opstille en ligning for planen. En ligning ser bekendt ud på følgende måde: a x + b y + c z d =. Vi mangler at finde D i vores ligning. D findes ved følgende formel: D = a x + b y + c z D = 152 4 + 4 + ( 38) 6

D = 68 Med D fundet kan en ligning for planen derfor opskrives α = 152 x + y 38 z + 68 e) Beregn vinklen mellem en af pyramidestubbens skrå sider og grundplanen, xy Hvis man sammenligner XY som et plan (vi kalder det β). Så kan finde vinklen de to planer ved at finde vinklen mellem de to normalvektorer for de to planer. Vi kender normalvektoren for α så vi skal bare finde normalvektoren for planen β. For at finde normalvektoren for β er det nødvendigt at finde to retningsvektorer og herefter krydse dem. Vi vælger at de retningsvektorer skal for β skal være BA og BC. Da de ligger på XY planen hvis vi kigger på figur 2. Fra tideligere opgaver kender vi BA og skal derfor bare finde BC. 4 4 BA = ( 4) & BC = ( 4) ( 4) = ( ) Nu krydser vi de to retningsvektorer for planen β for at finde normalvektoren. n 1 = BA BC n β = ( 4, 4, 4 4 ) n 1 = ( 4), ( 4), ( 4 4) n 1 = ( ) 16 Med de to normalvektorer kendt n1 for henholdsvis denne opgave og n2 fra forrige kan vi finde vinklen mellem de to planer ved at finde vinklen mellem de to normalvektorer ved følgende formel: Cos v = a b a b 7

Cos v = n β n α n β n α 152 + + ( 16) ( 38) Cos v = 2 + 2 + ( 16) 2 152 2 + 2 + ( 38) 2 Cos v = 68 256848,22 v = cos 1 (,242) v = 76 f) Opstil en ligning for planen π For at vi kan opstille en ligning for planet π er det nødvendigt at vi finder punktet G. Fra opgaveteksten ved vi at G=(x G, 28,25), desuden kan vi se at punktet er placeret på planen α. Vi indsætter derfor vores kendte værdier i planen for at finde x G. α = 152 x + y 38 z + 68 = α = 152 x + 28 38 25 + 68 = x G = 33,75 G er derfor placeret i punktet G = (33,75; 28; 25) Med punktet G kan vi opstille en ligning for π, da vi yderligere kender de to punkter F=(4,28,) og H=(4,28,22) fra opgaveteksten. Vi lader F være vores punkt i ligningen og FH og FG være vores retninger. 8

FH = H F 4 4 FH = ( 28) ( 28) = ( ) 22 22 FG = G F 33,75 4 6,25 FG = ( 28 ) ( 28) = ( ) 25 25 Med de to retningsvektorer på plads kan normalvektoren på baggrund af de to vektorer findes ved at krydse dem. n = FH FG n 1 = ( 22 25, 22 25 6,25, 25 ) n = 25 22, 22 ( 6,25) 25, 25 n = ( 137,5) Med normalvektoren fundet er vi næsten i mål. Vi mangler bare at finde D for at kunne udfylde følgende formel: a x + b y + c z d =. VI finder D ved at bruge denne formel: D = a x + b y + c z D = 4 ( 137,5) 28 D = 385 9

Med D fundet kan vi nu opskrive ligningen for π g) Beregn vinklen mellem α og π π = x 137,5 y + z + 385 Vinklen mellem to planer findes ved at finde vinklen mellem de to normalvektorer for de to planer. Vi kender de to normalvektorer: 152 n π = ( 137,5) og n α = ( ) 38 Vi finder vinklen mellem dem ved at bruge følgende formel: Cos v = a b a b Cos v = n π n α n π n α ( 152) + ( 137,5) + ( 38) 2 + ( 137,5) 2 + 2 ( 152) 2 + 2 + ( 38) 2 Cos v = 2327424 v = cos 1 () v = 9 Vinklen er derfor 9 og hvis man tager et kig på figur 2. ses det også at det passer meget godt. 1

h) Opstil en parameterfremstilling for skæringslinjen mellem α og π Vi kender de to planligninger: α: a 1 x + b 1 y + c 1 z + d 1 = & π: a 2 x + b 2 y + c 2 z + d 2 = eller α: 152 x + y 38 z + 68 = & π: 4 137,5 28 + + 385 = Parameterfremstillingen for skæringslinjen mellem to planer er givet ved udtrykket: x (a 2 c 1 a 1 c 2 ) ( y) = z ( t b 1 c 2 b 2 c 1 t + c 1 d 2 c 2 d 1 b 1 c 2 b 2 c 1 (b 2 a 1 b 1 a 2 ) b 1 c 2 b 2 c 1 t + b 2 d b 1 d 2 b 1 c 2 b 2 c 1 ) t x ( 152 38) 68 38 385 t + ( y) = 137,5 38 137,5 38 z ( ( 137,5) ( 152)) 385 ( 137,5) 68 t + ( 137,5 38 137,5 38 ) x ( y) = ( t 28 ) z 16 4t Vi opstiller vores udregnede parameterfremstilling som en traditionel parameterfremstilling: L = ( 28 ) + t ( 1 ) 16 4 11

i) Beregn arealet af den del af planen, der afgrænses af punkterne F, G og H For at kunne beregne den trekant som de tre punkter danner, er det nødvendigt at vi kende afstanden mellem de to punkter F og G. Vi kender fra forrige opgaver FG, vi ønsker at finde længden af denne 6,25 FG = ( ) 25 FG = ( 6,25) 2 + 2 + 25 2 = 25,7694 Nu ønsker vi at finde den lodrette afstand i vores trekant. Denne kan findes takket være de informationer vi fået givet om punktet G=(33,75; 28; 25). Med punktet G kan vi nu altså opstille en linje (vi kalder den K) fra F til G. Retningen mellem F og G i forrige opgaver. x 33,75 6,25 k ( y) = ( z 28 25 ) + t ( 25 ) Vi ønsker nu på baggrund af denne linje at finde den kortese afstand til punkt H. Da denne afstand vil repræsentere højden i trekanten de tre punkter danner. Vi finder denne distance ved at finde længden af afstanden mellem G og H og ganger den med vinklen med den korteste afstand. dist = GH sin v dist = r GH r VI kender vektorerne (bemærk GH findes efter metoden for en vektor efter 2 punkter) 6,25 6,25 r = ( ) & GH = ( ) 25 3 Vi kan nu indsætte i formlerne men vælger at finde krydsproduktet for at får et mere overskueligt regnestykke først. r GH 12

n = ( 25 6,25, 25 3 3 6,25, 6,25 6,25 ) n = 3 3, 25 ( 6,25) 3 ( 6,25), ( 6,25) ( 6,25) n = ( 137,5) dist = r GH r Vi indsætter vores vektorer. dist = 2 + ( 137,5) 2 + 2 ( 6,25) 2 + 2 + 25 2 dist = 6,79 Med den lodrette afstand (højden af trekanten) fundet kan vi nu bestemme arealet trekanten findes. Areal =,5 25,7694 6,79 Areal = 87,5 m 2 13

j) Beregn længden af storaksen til den ellipse, der udgør en udskæring til et af rørene i taget For at kende rørenes storakse på taget er det nødvendigt at vi først finder en ligning for planen af taget. Fra tideligere opgaver kender vi kun punkt D. Det er en nødvendighed at vi kender tre punkter i dette tilfælde for at kunne opstille et plan. Fra opgaveteksten har vi opgivet punktet E = (x E, y E, 42). Vi kan finde de resterne værdier da vi ved at der går linje fra punktet C til P. Vi starter med at finde linjen. For at finde linjen er det nødvendigt at vi finde en retning fra C til P da kan vi gøre ved at trække de to stedvektorer fra hinanden (koordinaterne) P = (2,2; 8) og C = (; 4; ). 2 2 CP = ( 2) ( 4) = ( 2) 8 8 Vi vælger at punktet C skal være vores punkt på linjen med de fundne informationer kan vi opstille en parameter fremstilling for vores linje. 2 L = ( 4) + t ( 2) 8 Med linjen på plads kan vi finde de resterne koordinater til vores punkt E. Vi vælger at indsætte de givne koordinat på z-aksen ind på vores linje for at finde t-værdien til skæringen. + 8t = 42 t =,525 Den fundne t-værdi indsættes nu på formlen for linjen for at finde værdierne til x og y til punkt E. 2 L = ( 4) +,525 ( 2) 8 Punkt E = (1,5; 29,5; 42) Med to punkter kendt mangler vi bare et tredje for at kunne opstille en ligning for et plan. Fra tegning har vi ikke fået dette punkt givet eller nogle informationer om Punkt I 14

det. Vi har derfor valgt at tegne et ekstra punk tind på tegningen vi kalder det for I og det kan ses på billedet til højre. Vi kan finde L med den information vi har fået givet af opgave teksten. På den kant, der er parallel med stykket AB, er punkt D=(xD,yD,38). Vi ved at linjen mellem L og D er parallel med A og D. Denne information kan bruges til at finde punktet I, da vi kender D, A og B. Vi ved at Z og X koordinatet til punktet I er det samme som punktet D. Desuden kan vi finde Y-værdien ved at trække D s y-værdi fra B s y-værdi. Således kan vi skrive I s koordinat til at være: 3,5 4 = 9,5 I = (3,5; 9,5; 38) Med de tre punkter kendt kan vi opstille et punkt ved at opstille retningsvektorer fra D til I og fra D til E. 3,5 3,5 DI = ( 9,5 ) ( 3,5) 38 38 DI = ( 21) 1,5 3,5 DE = ( 29,5) ( 3,5) 42 38 2 DE = ( 1 ) 4 Nu skal vi finde normalvektoren på baggrund af krydsprodukt af de to retningsvektorer vi lige udregnede. n = DI DE n 1 = ( 21 1 4, 1 2, 21 1 4 ) n 1 = ( 21) 4 1, ( 2) 1, 4 1 ( 21) 15

84 n 1 = ( ) 42 Med normalvektoren kan vi nu næsten opstille planen for taget af bygningen vi vælger at kalde dette plan ε. På baggrund af af de to retningsvektorer vi valgte er punktet D nød til at være vores punkt i planens ligning det vælger vi derfor. Vores ligning på normalformen ser således ud vi behøver at finde D. ε: 84 x 42 y + D = Vi finder D efter følgende formel: D = a x + b y + c z d = ( 84) 3,5 3,5 42 38 d = 2562 + 1596 d = 18522 Med D fundet kan vi opstille en ligning på normalformen for ε et plan for taget af bygningen. ε: 84x 42 y 18522 Med denne information kan vi nu komme videre. Vi ved at normalvektoren fra planet β (XY fra opgavebeskrivelsen) går lige igennem den skrå flade som danner taget på bygningen. Vi kan opskrive en linje for den denne retning som denne normal vektor repræsentere da vi kender et punkt som retningen går i gennem nemlig toppen af pyramiden punktet P. x 2 Centerlinje: ( y) = ( 2) + t ( ) z 8 8 2a = D n r n r Vi indsætter vores kendte værdier, altså vores cylinders diameter, vores plans normal vektor og vores center linjes retningsvektor: 2a =,7 842 + 422 82 84 + + 42 8 2a =,7139m Det vil altså sige at vores storakse for ellipsen der udgør udskæringen til skorstenene er lig med,7139m. 16

IT-del a) Begrundelse for valg af værktøj (Tools) Vi har valgt at bruge Visual Python til at lave en simulering af avedøreværket. Vi valgte dette værktøj, da vi inden projektets start allerede var lidt kendt med programmering i python og dens syntaks. Desuden var der under projektet også mulighed for at finde hjælp til eventuelle problemer fra vores vejleder Karl. Visual Python tillader os at lave simple simulationer, uden den helt store viden om programmering. Dette er meget tiltrækkende idet vi ikke har alverdens tid til dette projekt, og i det vi ikke har meget erfaring med andre sprog end Python. Derudover er der også god dokumentation til Visual Python der yderligere giver os god mulighed for at programmerer et godt program i Visual Python. b) Fremgangsmåde Da projektet er meget kort beslutter vi os for ikke at gøre stor brug af pair programmering, men i stedet dele arbejdet for de forskellige emner ud, og hjælpe hinanden løbende. //Vi kalder det pair programmering light, og er principielt det samme som pair programmering, dog med én hoved programmør, og resten som semi-guider. Vi aftaler en indgangsvinkel til projektet og hvordan vi har tænkt os at løse opgaven. Vores primære mål er at konstruerer en model af Avedøreværket, så tæt på vores matematiske model som muligt, det sekundærer mål er at lave en form for animation på vores model, og det tredje mål er et grafisk user interface, således at en bruger kan ændre på diverse ting (Enten i animation, eller noget så simpelt som at genstarte en animation). Vi opstiller altså vores krav til prototyper således: Første prototype: Færdig model af Avedøre værket Anden prototype: Simpel animation af Avedøre værket Tredje prototype: GUI(Graphics User Interface) til Avedøre værket Vores første prototype vil blive kréeret vha. tri faces i Visual Python, i det at det tillader os at sammen sætte pyramide stubben som vi finder de forskellige punkter. Derudover vil vi lave vores skorstene som cylindere, da vi allerede fra starten af får givet deres diameter. Vores indgang er lavet af en box, da vi eventuelt komme til at kende HGF trekanten (planet π), og kan dermed finde ud af afstanden fra kanterne, og derudover også find ud af størrelsen relativt nemt. Kassen kommer 17

til at clippe igennem vores pyramidestump, da dette er den letteste måde at lave en lignende model af værket, og det samme kommer vores skorstene til at gøre i det vi aldrig får defineret deres højde. I forhold til animation af værket, tænker vi at den nemmeste fremgangsmåde er at få vores model til at skifte farve dynamisk, da dette kan gøres med nogle variabler og nogle få if-statements, og derudover vil vi også have vores skorstene til at bevæge sig op og ned. Vores GUI er lidt mere besværlig at konstruere, i det vi ikke har meget erfaring med denne del af programmering. Det mest simple ville være at få lavet en knap der kan starte / stoppe vores animation. Derudover mener vi også at det ville være muligt at lave en slider der kan bestemme hvilken farve vores model er. Beskrivelse af kode: I toppen af vores kode importerer vi visual python og tkinter. Samt sætter titel, center og synsvinkel på visual vinduet. I denne del af koden laver vi muligheder for størrelsen af vinduet, så brugeren selv kan vælge hvilken størrelse af vinduet han gerne vil have. Vi har valgt de her tre muligheder, men man kan nemt tilføje flere hvis dette blev efterspurgt. I denne del af koden tegner vi selve modellen, det første array er trekanternes hjørner og det andet array er deres farver. Vi har valgt at gange størrelserne med 1 da vi havde problemer med at få programmet til at acceptere floats. Til sidst i denne kodedel kalder vi funktionerne tri.make_normals og tri.make_twosided som er de funktioner der tegner selve trekanterne. Vi definerer variablerne t og p i toppen af kodedelen, som bruges til tid og farveskift senere i koden. Vi sætter også den hastighed som programmet skal køre med, dette gøres med rate funktionen. 18

Den anden del af while loopet, laver selve animationen hvor den skifter farve og skorstenen kører op og ned. Og samtidigt skifter vi tiden så animationen ikke kører for evigt. I denne del af koden laver vi vores GUI, med titlen menu og størrelsen 2x8 pixels. Vi laver også vores to knapper til start af programmet og indstilling af størrelsen på vinduet, under disse laver vi vores dropdown menu hvor man kan vælge mellem de forskellige størrelser. Vi havde også en tredje knap til at lukke programmet, men da den fik programmet til at crashe hos nogle brugere valgte vi at deaktivere den. 19

Studieområde del af rapport Extreme programming Extreme programming er en populær programmeringsmetode der har meget fokus på samarbejde og kommunikation med kunden. Det er derfor meget vigtigt at man hele tiden tester at små dele af ens software virker, så snart det er muligt. Og på den måde får response på om det er godt eller skidt. Extreme programming er bygget op sådan at kunden kan få en lille del af programmet så snart denne del er lavet. Da man har meget fokus på samarbejde foregår programmeringen også i par i form af pair programming, hvilket er beskrevet nedenfor. Den helt store fordel ved extreme programming er at kunden kan komme med input hele tiden som softwaren så hurtigt kan tilpasses hvis kunden får nye behov. Fordele ved pair programming Der er flere fordele ved at benytte sig af pair programming, f.eks. er det nemmere at spotte fejl i kildekoden, og man får mange flere forskellige idéer i løbet af en programmerings session. I længere projekter kommer man altså til at spare tid, i det at der ikke skal løses lige så mange problemer i sidste ende, da man allerede har løst dem. På samme tid er der bedre mulighed for forslag til forskellige løsninger til et problem i koden, eller forskellige forslag til hvordan man kan løse en opgave. Ulemper ved pair programmering I kortere projekter er det nemt at få brugt for meget tid på at to personer programmerer på en skærm i forhold til at to programmerer på hver sin skærm. Dvs. at vores effektivitet er afhængig af længden (Og størrelsen) af et givet projekt. Derudover kan der også opstå problemer hvis de to programmører ikke kan blive enige, eller hvis de to programmører ikke er på ca. samme niveau, kan det være frustrerende for den programmør med mest erfaring, idet han skal guide den uerfarne. 2

Start på projektet Vi organiserede projektet således at vi alle 4 startede med at arbejde på matematik delen af projektet da vi efter at have læst oplægget til opgaven kunne se at det var nødvendigt for os at have lavet en stor del af matematikken før vi kunne lave it-delen. Grunden til dette er at vores programmering i python er baseret på de punkter som vi kommer frem til i matematikdelen. Efter den første dag delte vi os ud som det kan ses på vores planlægning. Hvordan fungerede det i praksis? I praksis fungerede vores plan ganske fint da vi har overholdt den næsten hele vejen. Brugen af pair programming har dog fra vores side været begrænset da vi følte at it delen i projektet ikke var så stor at vi ville kunne få udbytte af pair programming. Dette er også beskrevet i afsnittet om pair programming at det i mindre projekter som dette ikke kan betale sig at bruge pair programming da den mængde kode der skal skrives hverken er speciel stor eller speciel kompliceret. Dette betød også at vi hoppede lidt væk fra vores plan omkring at Mathias skulle være med på python delen hele vejen igennem. I stedet hjalp Mathias med på matematik delen, og fik på den måde denne til at skride hurtigere frem. Vi havde som sagt vurderet at matematik delen var meget vigtig i starten af projektet da denne ligger til grund for vores IT. 21