Ricksmuseum

Awards for Globe4D at Laval Virtual 2007

Rick and Globe4DWe released a brand new version of Globe4D and presented it at the great Laval Virtual 2007 Conference. This very special event in the west of France attracted over 10.000 people with all kinds of backgrounds: scientists, engineers, museum directors, school teachers, children from all ages, parents and grandparents.

Exhibiting at Laval Virtual gave us the opportunity to test our four dimensional globe on a really big user group. Thousands of people enjoyed playing with Globe4D and learned about the history of the earth. Their happy faces and the feedback we got from them were incredibly useful for us.

Globe4D at Laval 2007, over 10.000 people with all kinds of backgrounds

More good news is that Globe4D received two awards this week and got a special invitation for the ACM SIGGRAPH Conference 2007 in San Diego, California in August. We received one award in the category ‘Education and Virtual Entertainment’ and another one in ‘Emerging Technologies’.

The Globe4D team would like to thank Laval Virtual for the wonderful organization, the Laval School of Tourism for their help and support and all the friendly people we met during this week. It was a great experience!

Globe4D (Pays-Bas) Ce globe terrestre interactif apporte une toute nouvelle dimension à la découverte géographique, à la fois ludique et pédagogique.

Globe4D on Flickr
http://www.flickr.com/photos/lavalvirtual/
laval virtual 450.png

Emerging Technologies Award for Globe4D at Laval Virtual 2007 (=invitation for ACM SIGGRAPH 2007, San Diego)
Globe4D wins Emerging Technologies Award for ACM Siggraph 2007 at Laval Virtual 2007- DSC_0201.jpg
Photo Sébastien Kuntz

Education et Entraînement Award for Globe4D at Laval Virtual 2007
Globe4D-wins-Laval-Virtual-2007-Education-et-Entrainement-virtuel-award
Photo Sébastien Kuntz

Movie

Danica, Nico and Globe4D
globe4d-danica-nico.jpg

12 wetenschapsmusea in 2 maanden

Category: Museums, Filosofie, Globe4D, Science, School, Stories, General — Rick Companje — 18 December 2006 @ 22:00

De laatste twee maanden heb ik twaalf wetenschapsmusea bezocht. Drie in Nederland en negen in Amerika. En ik moet zeggen, ik kan er geen genoeg van krijgen! Of ik niet bang ben voor ‘hordes verveelde derdeklassers die door het gebouw sjokken’ en voor ‘knopjes, kleurtjes, oplichtende kaarten en hippe proefjes?’ Nee, geen probleem voor mij. Ook word ik niet moe van ‘drukke, populair geklede gidsen’ waar anderen een ochtendhumeur van krijgen. Zelfs vind het niet gek wanneer een museum zich vestigt in een hedendaags pand zonder uit te kijken misschien wel te ‘modern over te komen’.

Zoals je ziet ben ik een klein beetje geschrokken van het feit dat niet iedereen het blijkbaar zo naar zijn zin blijkt te hebben in een wetenschapsmuseum. Ik zal proberen uit te leggen waarom ik het daar wél leuk vind.

Toen ik een kleine jongen was werd ik door mijn klasgenootjes Willi Wortel genoemd. Dat vond ik een eer, want ik was altijd aan het knutselen met tandwieltjes, veertjes en elektronica. Ik deed iedere week wel weer een nieuwe uitvinding. ‘Pas maar op’, zeiden mijn klasgenootjes, ’straks wordt je nog een studentje!’, ‘Ja, en dan moet je de rest van je leven dikke boeken lezen en krijg je zomaar zwart haar’ ,’Ja, met een zijscheiding en een rond brilletje!’ Mijn klasgenootjes en ik waren nog nooit naar een wetenschapsmuseum als NEMO geweest, laat staan in bijvoorbeeld het Exploratorium in San Francisco. Je kunt wel zeggen dat wij nogal een vreemd beeld van wetenschappers hadden.

Pas heel veel later en via een hele omweg kwam ik terecht op de universiteit. Ik had mij aangemeld toen ik op reis was in Nieuw Zeeland en daar een vierdimensionale wereldbol had bedacht na een bezoekje aan een basisschool. Ik verzon een echte globe die je van alle kanten kon bekijken en waarmee je door de tijd zou kunnen reizen. Ik wist namelijk dat de continenten van de aarde nogal hadden liggen schuiven in de loop der miljoenen jaren. En ik wist ook dat mijn neefje en velen met hem, die nu dezelfde leeftijd hebben als ik tijdens mijn Willi Wortel fase, absoluut geen weet hebben van Continental Drift of andere wetenschappelijke ontdekkingen.

Met de wereldbol, die de naam Globe4D kreeg, gaat het erg voorspoedig. Er blijkt veel interesse vanuit diverse wetenschapsmusea. Velen van hen vertellen al iets over de geschiedenis van de aarde maar meestal beperkt zich dat tot een verzameling fossielen, een filmpje of wat stippen op een kaart van de aarde waarop breuklijnen worden aangegeven. Globe4D gaat een erg belangrijke rol vervullen bij de overbrenging van wetenschappelijke kennis op potentiële wetenschappers of andere breed-geïnteresseerden.

Door Globe4D ben ik me heel erg gaan interesseren voor wat er allemaal in wetenschapsmusea te zien en te ontdekken is. Je merkt dat het voor één museum onmogelijk is alle facetten van de wetenschap te belichten maar wat me opvalt, is dat ze samen een heel compleet verhaal vertellen.

Mijn advies aan iedereen is: bezoek in je leven zo veel mogelijk wetenschapsmusea, ook al weet je al heel veel! Laat ze samen hun verhaal vertellen en blijf je verbazen over wat we met z’n allen al te weten zijn komen en nog zullen ontdekken!

Bezochte musea
1. Los Angeles: Science Centre
2. Los Angeles: Museum of Natural History
3. Santa Barbara: Museum of Natural History
4. San Fransisco: Exploratorium
5. San Francisco: California Academy of Science
6. San Jose: The Tech
7. Ithaca: Museum of the Earth
8. New York Hall of Science
9. New York: Amerikan Museum of Natural History
10. Utrecht: Sterrenwacht Sonnenborgh
11. Utrecht: Universiteitsmuseum
12. Nemo Amsterdam

A big day for Globe4D!

globe4d-congrats.jpgToday, Monday the 3rd of July 2006 was really an amazing day! First, this morning RTV West visited our workspace for a documentary they make about our Globe4D project. And second, we got a positive response from the ACM Multimedia Conference 2006 in California!!! This means Globe4D will be part of the exibition in October!

WOEEEEHEEEEY!!!!

And by the way, our video demonstration has been viewed over 2000 5000 10000! times in the last five days! Awesome!

WordLife

Category: Making Art of Databases, Semester Project, Information Esthetics, Processing, Programming, School, Art, General — Rick Companje — 21 June 2006 @ 22:07

View source

Gardening

Category: Semester Project, C++, Gardening, Media Tech, Programming, Science, Tech, School, Art, General — Rick Companje — 27 May 2006 @ 22:29

GardeningDe projectsite van m’n Media Tech semester project staat online. Op die website valt de achtergrond en de voortgang te lezen over het project met als codename ‘Gardening’ waaraan ik samenwerk met Sonja van Kerkhoff en Loren Roosendaal.

Webster’s 1913 Dictionary
\Gar”den*ing\, n.
The art of occupation of laying out and cultivating gardens; horticulture.

http://companje.nl/gardening

3D Plasma Sphere - Plasmabol

Category: Processing, Globe4D, Physical Computing, Making Art of Databases, Programming, Science, Tech, School, Interaction, Art, General — Rick Companje — 22 May 2006 @ 19:18

View source

Language Systems

Category: Processing, Language & Text, Programming, Science, School, Art, General — Rick Companje — 8 May 2006 @ 08:44

L-Systems used to create visualizations from language

By Ralph Kok, Hanco Hogenbirk and Rick Companje.
Supervised by Crit Cremers, Leiden University

Abstract
In this paper we present a concept for using language characteristics in generating artistic visualizations. It describes how the recursive nature of L-Systems can be used to create visual representations of sentences created by the language generating and parsing computer program Delilah.

Keywords: L-Systems, Delilah, Language, Visualizations, Language and Text, Media Technology

Download PDF

L-Systems and the Delilah System

L-Systems (Lindenmayer-systems) have been developed by the biologist A. Lindenmayer [to describe the growth and development of algae and other botanic organisms. An L-System is basically a string-rewriting system, consisting of a starting value and a set of rules defining how it changes. The beauty of L-Systems is that they can be (and are) used to describe complex plantlike and fractal-like structures in a simple way. More on L-Systems can be found at Wikipedia [1].

“Delilah parses and generates complex Dutch sentences over a dedicated lexicon by applying a combinatory categorical grammar under graph unification.” [2]. The Delilah application is able to analyze given sentences to extract semantic and grammatical information, as well as to generate grammatically correct sentences when given a concept or subject.

A linguistic application of L-systems
Our concept is as follows: Delilah is given a concept and outputs a sentence along with all the information that describes this sentence, such as its grammatical structure. The grammatical information is used to generate visual output from, which will be interpreted by human viewers. Their reaction in turn will serve as input for Delilah, closing the loop and restarting the process.

The way we apply the grammatical information to L-Systems is to generate rules according to the structure of the sentence. Practically, this means our system reads word categories and translates them to symbols that compose the string-rewriting rule that will be used in generating the L-System structure. In this manner, every grammatically different sentence will lead to a different rule and will yield a new shape.

The shape is output visually and presented to the viewer as a kind of abstract ‘ink blob’, inviting the viewer to interpret the shape. The viewer is asked to enter his or her interpretation into the system again which serves as a new concept for Delilah to generate a new sentence from, which results again in a new visual shape.

Results
For example, the Dutch sentence “verwijder een aanpassingsproces en bestrijd dramatisch werk!” is a combined sentence of two Delilah clauses. When you replace the words by symbols using the following rules: verb = ‘+’, noun = ‘-‘, adjective = ‘|’, article = ‘[‘, conjunction = ‘]’, space = ‘F’; you will get the sequence: +F[F-F]F+F|F-. This sequence can be used as the string-rewriting rule that defines the L-System. This rule will be applied every iteration, resulting in complex visual shapes.

Programming code fragment used to generate string replacement rules, dependent on the words in a sentence.

Visualization made with L-systems resulting from the Dutch sentence: 'verwijder een aanpassingsproces en bestrijd dramatisch werk!'

There are some personal choices involved in building these rules, as the translation is based on a personal selection of symbols. These choices are influenced by our knowledge of what works and what doesn’t. For example, only the ‘F’ symbol yields visible output, so we need many ‘F’ symbols to see any interesting shape at all. Therefore, we chose to translate the space character to an ‘F’. However, this choice will result in every word being followed by a drawing command, and so each word will influence the actual shape directly and therefore this seems to be a logical choice.

One very important other occurrence of personal choice influencing the system is in how to treat the symbols to draw a shape on the screen. Different actions, colors, shapes and angles can be selected for this, which can also have its effect on which translations of words to rules work well. In short, the output depends very much on personal choices, but this does not make it less interesting.

Future work
An issue when using L-systems in this manner is of course that sentences with the same structure will yield the same results, as the translation to a L-system is not based on meaning or specific words, but on word types. This problem can be solved by using semantic structure instead of the grammatical structure of a text.

Furthermore, punctuation such as comma’s or exclamation marks could be used to effect the visualization.

Also, different variations can be thought of for different applications, such as tonal input to generate trees, so that people with speech impediments can try to “reach” a certain shape and thus learn to speak properly.

Finally, L-systems can be animated by already drawing a part of the visual shape during the iteration process. In this way, the system ‘grows’ during the generation of the L-system string. A finished visualization can also be animated by changing the way in which symbols are presented visually in real-time, for instance changing the angles of rotation or the length of the lines.

References

[1] Wikipedia about L-systems: http://en.wikipedia.org/wiki/L-system

[2] C. Cremers, The Linguistics of Delilah - Delilah demo cd-rom

Unreal en Lasergame

Category: Movies, Creative Research, Science, School, Projects, General — Rick Companje — 19 April 2006 @ 07:50

Meer info volgt, maar bekijk vast het filmpje van de Lasergame & Unreal-Competitie.

Basiscursus Elektrotechniek PDF

Category: Electronics, Physical Computing, School, Tech, General — Rick Companje — 10 April 2006 @ 19:14

Basiskennis Elektrotechniek 1996Lang lang geleden, in 1996, volgde ik een basiscursus elektrotechniek aan het ROC Oost Nederland in Hengelo van meneer van Veen… Nu tien jaar later heb ik de de reader die we bij dat vak gebruikten omgzet naar PDF formaat via een trialversie van het OCR programma Abbyy Finereader 8. Wat een ontzettend fijn programma is dat!

Ik heb van iedere pagina van de reader een foto gemaakt en in 1x alle 100 foto’s laten inlezen door Finereader. De meeste tekst ging al vanzelf goed, maar in sommige gevallen, vooral bij de formules en schema’tjes moest je nog even een kadertje trekken, zo van: hier staat geen tekst maar een plaatje. Ideaal! Binnen een uurtje was het voor elkaar. Een PDF van 100 pagina’s van maar 1.9 MB!

Dus…. zie hier het resultaat: de reader Basiscursus Elektrotechniek door R. van Veen.


Abby Finereader Professional

Abby Finereader Professional

Rick, nu ook voor al uw soldeerwerk

Category: Physical Computing, School, Tech, General — Rick Companje — 3 March 2006 @ 03:00

Nu Globe4D veilig in het zwaar beveiligde Naturalis pand staat heb ik weer even tijd voor andere dingen (hoewel ik ‘m wel mis hoor, die Globe in mijn werkplaatsje…. en dan is Dora ook nog ‘ns voor een maand in Leipzig! snif…) Maaaarrr… dan heb je opeens weer tijd om een jeugdhobby opnieuw op te pakken: Physical Computing, oftewel electronica. Naast “Rick voor al uw tijdslijnen en landkaarten” (wat trouwens ook alles behalve stil ligt) kan ik er nu ook bijgehaald worden wanneer er Microcontrollers geprogrammeerd moeten worden of schakelingen moeten worden gebouwd…. u zegt ‘t maar!

LED Display LTC571HR, PIC 18F4520, JAL 4.62

Op de bovenstaande foto zie je een 3 cijferig LED display. Eentje die ik waarschijnlijk 15 jaar geleden, dat moet in 1991 geweest zijn, uit een digitale weegschaal heb gesloopt die ik dan weer op een rommelmarkt in Kloosterhaar had gevonden… al die jaren lang kon ik er eigenlijk helemaal niks mee totjatot ik een erg leuke cursus Sensoren & Actuatoren aangeboden kreeg een paar weken geleden! De cursus wordt verzorgd door Paul Jansen Klomp. Het boek Physical Computing (O’Sullivan/Igoekan) is een echte aanrader.
Hier is m’n sourcecode voor het aansturen van het LED display (LTC571HR) met de PIC 18F4520 microcontroller geprogrammeerd in JAL 4.62 (Just Another Language).

Globe4D - Daar gaat ie!

Category: Multimedia, Programming, Globe4D, Science, Interaction, Tech, Projects, School, General — Rick Companje — 23 February 2006 @ 21:17

Globe4D naar NaturalisHet is zover! Maandag a.s. wordt Globe4D door het Naturalis museumbusje opgehaald!

Meer informatie volgt spoedig!

Globe4D in het diepe!

Category: Multimedia, Programming, Globe4D, Science, Art, Tech, Projects, School, General — Rick Companje — 10 February 2006 @ 13:20

Globe4DGlobe4D is zo goed als af! We hebben ‘m verstevigd waardoor ie nu kind-proof is. Hij is nog wel wat hoog voor iemand van acht, maar we vinden het te jammer om er een stuk af te zagen… dan maar een krukje erbij in Naturalis!

Sound, Space & Interaction

Category: Art, School, Tech, General — Rick Companje — 19 January 2006 @ 03:57

Op dit moment ben ik bezig met een Media Technology project voor Sound, Space & Interaction. Ik maak een spel in Max/MSP zonder grafische/visuele interface, enkel alleen met geluid…

Het spel wordt gespeeld door twee mensen in verschillende ruimtes. De een is de visser de ander is de vis. De vis wil het aas, de visser wil de vis. Beide spelers hebben een grote koffer voor zich staan. Uit de koffer komt geluid en op de bodem van de koffer ligt een plankje. Onder het plankje zit een wacom tablet. Aan de vishengel hangt een wacom pen als dobber en bij de vis zit er een wacom pen verstopt in z’n lichaam…

De expositie is op 30 januari a.s., ik probeer rond die datum de sourcefiles en een demo versie online te zetten.

Globe4D - Done!

Category: Programming, Multimedia, Processing, Movies, Globe4D, Science, Art, Projects, Tech, School, Interaction, Events, General — Rick Companje — 7 December 2005 @ 04:54

Globe 4D, a four dimensional globe“De wortel valt een beetje zwaar….” Dat waren de laatste woorden die er nog uitkwamen na lange dag knutselen aan Globe4D om er tenslotte ook nog een promofilmpje voor te maken. Maarrrr… het is gelukt! Het resultaat mag er wezen en we zitten nog steeds zo boordevol adrenaline maar tegelijkertijd willen we nu toch wel slapen… het is bijna 5 uur in de ochtend…

Globe4D - Nog twee dagen…

Category: Multimedia, Programming, Globe4D, Science, Art, Tech, Projects, School, General — Rick Companje — 5 December 2005 @ 20:42

De laatste loodjes en nog steeds goed nieuws! Globe4D is inmiddels binnengereden op de Universiteit van Leiden!

Globe4D, een kijkje in de binnenkant...Door de stromende regen verplaatsten we ons vandaag met een steekkarretje met daarop onze wereldbol middels tram, trein en bus. Veel fronzende gezichten, het was vandaag immers 5 december… een surprise van deze omvang en complexheid had treinreizend Nederland nog nooit gezien en al helemaal niet tijdens het spitsuur… sjonge wat was het druk in die trein en wat nam onze wereldbol veel ruimte in…

Hieronder zie je een klein testje van de wereldbol beschenen door een willekeurig beeld van de beamer. We hadden wat kleine probleempjes met de VGA kabel vandaar dat het beeld zo groen is.

Globe4D, de beamer beschijnt het oppervlak

A.s. woensdag is de presentatie, we zijn nog steeds positief en ik moet zeggen dat nog nooit zo weinig gestresst heb voor een project van deze omvang! Teamleden bedankt!

Metaphorless User Interfaces, Possible? Useful?

Category: Science, Interaction, School, General — Rick Companje — 14 November 2005 @ 00:28

For my study Media Technology at Leiden University we had to do a small literature study for the course Science Practice lectured by Bas Haring.

I decided to do some research on Metaphors in the Human Computer Interaction field, and especially the question if it is possible to think of a computer interface not based on metaphors.

Download my little essay about Metaphorless User Interfaces or read it below.

Metaphorless User Interfaces, Possible? Useful?

Companje, J.H. Rick. Science Practice Assignment 1
for MSc Media Technology, Leiden University, The Netherlands, November 2005

Metaphors are considered to be “powerful verbal and semantic tools for conveying both superficial and deep similarities between familiar and novel structures.” [Mountford, 1990]. It is “an invisible web of terms and associations that underlie the way we speak and think about a concept” [Erickson, 1990]. “Metaphors can provide cues to users how to understand products: to orient and personify.” [Saffer, 2005].

It seems that since computers made their entrance metaphors have always been used in computer interface design. Even before the introduction of the Graphical User Interface some parts off the well-known Desktop metaphor were already being used in the Command Line Interface: Files and Folders for example.

According to [Cooper, 1995], software designers often try hard to find ‘the right metaphor.’ Cooper thinks of this as a big mistake. “Searching for a good dinosaur on which to ride to work.” is what he says about it. The learnability doesn’t balance with the tremendous costs. Cooper recognizes several problems by using metaphors in software. The first problem is that metaphors represent old technology. They don’t scale well and this will limit the power of the software forever. Users will be unaware of the new features that aren’t reflected in the metaphor. Another thing is that there aren’t enough metaphors to cover all new technologies. The ability of users to recognize the metaphors is also questionable. Apart from that metaphors might help beginners understand a system, but they will probably hinder the experienced ones. More problems are described by [Saffer, 2005]. It can be that metaphors not exactly match the new technology. Therefore users may expect functions which are not available in the new technology but to which they were used in the known concept. Metaphors often are overused as a design tool. “When all parts of an interface have to be squeezed into one strong metaphor, however inappropriate” [Hutchinson, 1997] calls it ‘Metaphor trap’. An example of this is Microsoft BOB. It this case a better idea would have been to use multiple metaphors. A paper of [Akoumianakis & Stephanidis, 2003] advances the Multiple Metaphor Environment.

Despite the known problems it seems that people support metaphors more than they avoid them. One of the reasons for this can be concluded from Saffer’s thesis where he refers to the book Metaphor and Thought by [Antony Ortony 1993]. In the chapters by [Reddy and Lakoff and Johnson (et. al.), 1993] it says: “The first reason is that we as humans can’t help it, metaphors are part of our cognitive processing. We use them to make sense of the world; thus we use them to make sense of the things in our world and in the products we use and create.” Seeing that it says ‘use and create’ we can assume that also designers need metaphors to design a useful product.

It would be a nice attempt to think of a computer interface without any metaphors. Immediately a problem emerges. In his essay ‘Why Interfaces Don’t Work’, [Donald A. Norman, 1990] puts that “the real problem with the interface is, that it is an interface”. He thinks of an interface more as an obstacle than as a tool. The users’ aim is not to do work on a computer but to do their job. Leaving this out of consideration and trying again to think of a metaphorless interface, will probably result in nothing because we are constantly visualizing our new interface. By trying to visualize it, we’ll probably see unwanted metaphorical objects. [Averbukh 2001] explains why: “…there are no ‘metaphorless’ visualizations of computer models and program entities… Visualization is always a metaphor by its nature, since it associates concepts of the model to visual objects representing the former by means of the latter for proper interpretation by the user.” Saffer explains this in his thesis: “The programming ‘languages’ we ‘speak’ to computers are all highly metaphoric: hard drives (metaphoric themselves) are ‘written to,’ images are ‘loaded,’ ‘files’ are ‘saved’ or ‘moved’ to ‘folders,’ and so on, almost endlessly. ‘Mice’ ‘move’ a ‘cursor’ across a ‘screen.’ Code is ‘tested’ to find ‘bugs.’ Nearly everything one says about a computer is metaphoric.” Something interesting to notice is that we don’t see all of the above metaphors as a metaphor. We are so used to for example the ‘screen’ metaphor that we almost forget what a ‘real’ screen is. It is possible that once we will be so familiar with those terms for new technology that these concepts can be used again as metaphors.

It seems that at least until than we have to accept that metaphorless interfaces cannot exist. At least not with functionality we can understand, use and see. It cannot have direct benefit for us. If we would be able to understand, see or use it, we would directly start visualizing it and make a mental model of it by using metaphors…

References

  • Akoumianakis, D., Stephanidis, C., Multiple Metaphor Environments: designing for diversity, Ergonomics 2003.
  • Averbukh, V. L. “Visualization Metaphors” Institute for Mathematics and Mechanics, Urals Branch of Russian Academy of Science and Ural State University, 2001
  • Cooper, Alan. “The Myth of Metaphor”, June 1995, Originally Published in Visual Basic Programmer’s Journal
  • Erickson, Thomas D. “Working with Interface Metaphors”. The Art of Human Computer Interface Design (ed. B. Laurel). Addison-Wesley: 1990
  • Hutchinson, Andrew. “Empty Icons in the Metaphor Trap” Proceedings from Australasian Society for Computers in Learning in Tertiary Education, Perth, 1997.
  • Laurel, Brenda. “Computers as Theatre” Addison -Wesley Publishing Company, 1993
  • Mountford, S. Joy. “Tools and Techniques for Creative Design” in Laurel, Brenda (ed.), The Art of Human-Computer Interface Design, Addison-Wesley, 1990.
  • Norman, Donald A. “Why Interfaces Don’t Work” in The Art of Human-Computer Interface Design, Laurel Brenda (ed.) , Addison-Wesley, 1990.
  • Saffer, Dan. “The Role of Metaphor in Interaction Design” Master’s thesis Interaction Design at The School of Design Carnegie Mellon University, 2005
  • Reddy and Lakoff and Johnson (et. al.) in Ortony, Andrew (ed.), “Metaphor and Thought”, Second Edition, Cambridge University Press, 1993.

Van ellipse naar rechthoek in tien regels!

Category: Multimedia, Processing, Globe4D, Science, School, Tech, Projects, General — Rick Companje — 21 October 2005 @ 03:00

Daar is tie weer met een stukje vroege-ochtend-code…

Stel: We (Danica, Hanco, Nico en ik) hebben een plaatje van een wereldbol. Dat plaatje is getekend als een ellipse. In deze ellipse zie je alle continenten van de aarde zonder dat je er een bol voor nodig hebt. Maar… wij willen juist een een plaatje van de aarde die wel op een bol te leggen is, oftewel een texture. (Een texture is een plaatje die door een 3D pakket of zelfs door je videokaart over (in ons geval) een bol heen gelegd kan worden.)
Natuurlijk zijn er van de aarde honderden kant en klare textures te vinden op internet, vaak zelfs op hoge resolutie. Maar wij hebben net iets andere eisen… Daarover later meer.

Het komt er op neer dat wij perse dat ene plaatje willen gebruiken als texture… Dus moet er gerekend worden. Hoe transformeer je een plaatje in de vorm van een ellipse naar eentje die rechthoekig is.

Het eerste probleem waar je tegenaan loopt is dat er in een rechthoek meer pixels zitten dan in een ellipse… Dat betekent dus dat je plaatje er in kwaliteit op achteruit zal gaan….

Maar stel dat je het dan nog steeds erg graag wil… Dan ga je als volgt te werk.

Je weet hoe je een ellipse tekent:

for (float i=0; i<TWO_PI ; i+=.1) {
   x = centerX + radiusX * sin(i);
   y = centerY + radiusY * cos(i);
   point(x,y)
}

Daar maken we gebruik van, maar nu gaan we niet van 0 naar 2PI maar gaan we de ellipse over de y-as scannen.


for (float y=-radiusY; y<radiusY ; y+=1) {
   x = radiusX * sin(acos(y/radiusY));
   point(centerX-x,y);

De y loopt automatisch op, de x berekenen we met een sinus/cosinus functie.
Dit is wat er precies gebeurt:

  1. We rekenen eerste de verhouding tussen y en de maximale y uit, oftewel y/radiusY. Dit is altijd een getal tussen -1 en 1
  2. Dat getal is precies het getal wat we nodig hebben om de inverse cosinus functie aan te roepen. Want we willen zoiets als een hoek hebben waar we dan vervolgens weer een sinus van willen gaan trekken.
  3. De uitkomst van die sinus is weer heel fijn een getal tussen -1 en 1. Heel fijn want die kunnen we dan mooi vermenigvuldigen met de radius. Bij 1 en -1 is de radius maximaal, ligt de uitkomst er tussenin dan krijg je altijd een deel van de radius terug.
  4. Voor iedere Y berekenen we maar een X dus zou je maar een halve ellipse krijgen. Stel dat je nou heel graag een hele ellipse wilt (niet nodig wat mij betreft) maar dan zet je gewoon twee points: eentje (centerX-x,y) en eentje op (centerX+x,y)

Maar goed… nu kun je nog maar een ellipse tekenen… Wat het eerstvolgende is wat je wilt weten is hoeveel pixels er per Y positie binnen je ellipse liggen. Dat is heel erg makkelijk te berekenen! Je weet je x positie. Je weet dus het aantal pixels tot het nulpunt, dat is je x positie. Doe je die keer twee dan weet je precies hoeveel pixels er op de X-as liggen voor die speciefieke Y.

Eigenlijk wil je niet perse weten hoeveel pixels het zijn maar wil je ze gewoon een voor een langs lopen. Niet zelf, een computer kan dat beter.

for (float x=-xOnEllipse; x<xOnEllipse ; x++)

De xOnEllipse is het puntje dat nog net op de rand van je ellipse zit, oftewel de outline of de stroke. Je loopt lekker van -xOnEllipse tot xOnEllipse en dan ben je voor die Y alle pixels binnen je ellipse langs geweest op de X-as.

Wat wij graag wilden is die ellipse precies over een plaatje heenleggen (eigenlijk stiekum een filmpje maar ik zeg nu maar even plaatje.) Wij wilden dus onze zelfgemaakte ellipse langslopen pixel voor pixel maar stiekum een kleurcode uitlezen uit het plaatje waar de ellipse precies overheen ligt. Dat deden we in Processing met het volgende commando:

img.get(int(centerX-x),int(centerY-y));

Maar dat is nou typisch iets wat per taal verschillend is, als het uberhaupt al kan in alle talen (Flash MX 2004 kon het bijvoorbeeld niet eens.)

Wat we nu willen weten is hoe breed onze nieuwe pixels moeten zijn! Ik had al verteld dat de kwaliteit van ons plaatje er op achteruit zou gaan en nu zul je zien hoe dat komt.

pixelWidth = radiusX / xOnEllipse;

We berekenen de verhouding tussen de maximale radius en het aantal pixels binnen onze ellipse (is hetzelfde als de x positie op de rand van de ellipse bij een speciefieke y positie). Deze verhouding levert niet een getal tussen -1 en 1 op en dat komt omdat ik ‘de grootste door de kleinste deel’ ipv andersom. Ik wil namelijk een factor hebben waar ik m’n pixeltjes mee uit kan rekken. Er zou bijvoorbeeld een getal van zes uit kunnen komen. Dat betekent dan dat het aantal pixels binnen mijn ellipse 6 keer zo klein is als het aantal pixels binnen de rechthoek. Dus: moet ik of een lege ruimte van 6 pixels aanbrengen bij iedere getekende pixel of moet ik de pixels die ik teken gaan uitrekken. Hieronder zie je het verschil.

1 = Originele ellipse gevuld met een regenboog verloopje
2 = Ellips omgecat naar een rechthoek. Regelboog pixels zijn niet uitgerekt. Dus er is lege ruimte tussen de pixels.
3 = Ellips omgecat naar een rechthoek. Maar nu zijn de regenboog pixels wel uitgerekt.



Pixels niet uitrekken doe je zo:

point(centerX-xOnSquare,centerY-y);

Wil je ze wel uitrekken zodat de hele rechthoek gevuld is dan kun je lijnen gebruiken met een lengte zo groot als pixelWidth.

line(centerX-xOnSquare,centerY-y,centerX-xOnSquare-pixelWidth,centerY-y);

That’s all! De volgende stap voor ons is een filmpje op te hakken in frames en het bovenste truukje op alle losse frames toepassen en vervolgens opslaan als aparte afbeeldingen. Stiekum moet ik toegeven dat dat scriptje al lang af is… Maar nu moet ik slapen want het is al half 4.





De complete sourcecode kun je hier bekijken:/mediatech/mms/EllipseToSquare/

M’n muis is dood

Category: Multimedia, Globe4D, Science, School, Tech, Projects, General — Rick Companje — 19 October 2005 @ 12:04

Gisteren heb ik een muis vermoord. Ik weet niet precies hoe erg de muis geleden heeft, maar dat ie dood is weet ik zeker.

Het begon allemaal in Nieuw Zeeland. Daar kreeg ik een geweldig idee: een globe met als extra dimensie tijd. Vier maanden later nu ben ik dat idee samen met nog drie klasgenoten aan het uitwerken voor het vak Multimedia Systems.

Hoewel niet helemaal volgens de planning (sorry Danica), kreeg ik plotseling ernstig de behoefte om met een proof of concept te komen voor een sensor. Ik begon te knutselen. Benodigdheden: Een muis met scrollwieltje, een fietswiel en een computer. Op vernuftige wijze liet ik het scrollwieltje contact maken met het fietswiel. Ik bouwde snel een programmatje waarmee de scrollsnelheid van het muiswieltje uitgelezen kon worden en draaien maar. Harder en harder! Tegelijkertijd liet ik natuurlijk een camera meelopen voor het naaktgeslacht. Het werkte erg goed! Binnen de kortste keren was ik miljoenen jaren terug in de tijd. Met als bewijs het vers geschoten filmpje!

M’n experiment was geslaagd! Met fietswiel en muis terug gaan in de tijd!

Het wiel kwam langzaam tot stilstand. Ik bedankte de muis door hem vriendelijk over z’n bol te aaien. Maar waarom was ie zo warm en waar kwam die vreemde geur toch vandaan? Ik herhaalde het experiment in omgekeerde richting en werd geconfronteerd met hele vreemde meetresultate… Ik kon niet meer vooruit in de tijd. Ik zat vast in het verleden. Soms ging ik een paar honderd jaar in de goede richting, maar telkens viel ik ook weer duizenden jaren terug…

M’n muis had het begeven en ik zal uitleggen waarom. Aangezien het fietswiel 56 keer zo groot is als het muiswiel (fietswiel: 28″, muiswiel: 0.5″) draait het muiswiel ook 56 keer zo snel rond. Stel dat het fietswiel er 1 seconde over doet om rond te gaan dan betekent dat, dat het muiswieltje in die ene seconde al 56 keer rond is gegaan. Dat vind een muis niet leuk. In een muis zit namelijk een spoeltje (eigenlijk 2, een voor vooruit en een voor achteruit). Dit spoeltje wekt een stroompje op wanneer je het muiswieltje ronddraaid, net als een dynamo van een fiets. Stel nou dat je 56 keer zo hard gaat fietsen als je normaal doet (1120 i.p.v. 20 km/h), vraag je dan af wat er met je fietslampje zou gebeuren… Uhm… zoiets zal er ook binnen in die muis gebeurt zijn… pijnlijk.

Gelukkig was het maar een Trust-muis en geen lief grijs dierenwinkel muisje… Zie hier mijn eerste alternatief voor dierproeven…

A new version of the Spiral

Category: Programming, Processing, Science, School, Tech, General — Rick Companje — 10 October 2005 @ 03:29

Here is the result of my first compulsory assignment for the course introduction to programming.

Watch the demo and view the sourcecode

Make a program with one “graphical element” (circle, square, squiggle, or whatever) that behaves autonomously (by itself). It might respond to the mouse pointer, but if the mouse doesn’t move or click, it should stay “behaving” somehow. Be creative in what your object’s behaviour is, and try to use the Processing knowledge that you have learned so far. You can do this assignment in teams of two students if you wish; not three, however. Have your assignment validated by the lab assistent on October 11th at the latest. [http://www.maartenlamers.com/IP2005/]

If you have installed click on the image below to see a working version of the Rainbow Spiral including the sourcecode.

Dutch Design Week

Category: Art, Events, School, General — Rick Companje — 7 October 2005 @ 15:32

Anyone interested in the Dutch Design Week in Eindhoven?
www.weekvanhetontwerp.nl
15 till 23 october.

I think we should go together, maybe on friday 21st of october?

Read Silvain’s message below.

Full of design, art and lots of fun. Last year there were some great parties, although they are hard to find. But the rest is also lots of fun. Favorite is always the graduation show of the Design Academy, TAC and this year De Fabriek. And of course visit one of the galleries. It is a great event to get some inspiration.

From the site:

We cordially invite you to visit Eindhoven, which from October 15 through October 23 will be the inspiring platform for the fourth large-scale annual design event Dutch Design Week. The theme of this edition of Dutch Design Week is ‘Design in Progress’, targeted to offer the public a ten-day opportunity to visit exhibitions, attend lectures and get acquainted with the latest products and developments in the field of design. Both established designers and newcomers are focussed on Design Week to show their work and introduce their ideas to the public.

Program can be found here: http://www.weekvanhetontwerp.nl/

Next Page »