Till KTH:s startsida Till KTH:s startsida

Ändringar mellan två versioner

Här visas ändringar i "Tracing rays" mellan 2015-02-02 12:29 av Johan Montelius och 2015-11-24 16:15 av Johan Montelius.

Visa < föregående | nästa > ändring.

Typers and abstractions

Erlang är ettis a dynamiskt typat språk vilket har sin för och nackdelar. Det är viktigat att förstå hur typsystem fungerar, vad de kan bidra till och varför man väljer att ge ett språk ett dynamiskt eller statiskt typsystem.¶ Vi skall titt på hur Erlangs "records" används i brist på bättrecally typed programming language; a property that has its pros and cons. It is very easy to write smaller programs in a dynamically typed programming language but ones systems grow larger one will benefit from a static type system och vad det innebär för en iwhere the compilementering. Som exempel skall vi implementera en lite "ray tracer" dvs ett program som generar en bild från en beskrivning av en tredimensionell värld. Om allt går vägen kanske det ser ut så här:¶ Ray tracing¶ Läs kapitel 7 i kursboken.¶
* tracer.pdf
Under föreläsningen Tanken är att vi under föreläsningen skall få klart en liten ray-tracer. Här är de moduler som vi skall arbeta med, en del är klara andra halvfärdiga. Vi kommer att generera bilder på ett format som heter PPM, ett tröstlöst voluminöst format där varje pixel kodas med ett RGB-värde men å andra sidan ett väldigt enkelt format att generera (kolla om du kan öppna och se bilden nedan).¶ De moduler som finns nedan kommer inte att generera bilden som syns ovan men det ä
r can help us to find bugs in our code. Erlang is a programming language that is targeting large systems and would benefit from a static type system but there are certain aspects when it come to concurrency and change to running systems that makes it very hard to implement a static type system.¶

We will discuss how a type system would have made things different by implementing a ray tracer. If everything works as expected you should be able to generate images as the one below.¶

Ray tracing¶

Read chapter 7 in the course book.¶


* tracer.pdf
Before the lecture You should before the lecture have completed a small ray trace
r ein början som vi kanske hinner komplettera under föreläsningen.¶
* ppm.erl
* tracer.erl
* camera.erl
* objects.erl
* vector.erl
* test1.ppm
* test.erl
Dessa moduler används för att komplett
Erlang following the tutorial below. During the lecture we will discuss different aspects of the program, how we have worked with data types and how things could have been different in anothera programmet.¶
* lights.erl
* world.erl
* tracer1.erl
* tracer2.erl
* tracer3.erl
ing language. ¶


* tutorial will be added