dinsdag, december 04, 2007

Computer Graphics

Dit moet me toch even van het hart (de niet-nerds mogen rustig verder surfen)...

Donderdag moet ik een presentatie geven voor de graphics groep hier op Stanford. Tijdens de presentatie zou ik graag een "real-time demo" geven zoals wij dat hier noemen. Mijn demo heb ik natuurlijk in linux geprogrammeerd en om te veel gedoe tijdens de presentatie te vermijden zou ik dus graag mijn presentatie zelf ook in linux geven. De meesten onder jullie die wel eens een presentatie geven zullen waarschijnlijk powerpoint gebruiken (onder windows of macosx). Powerpoint is ook mijn presentatie programma, maar het draait natuurlijk niet rechtstreeks onder linux. Ik dus op zoek naar een alternatief dat onder linux draait. Als graphics onderzoeker moet dat programma natuurlijk aan een aantal voorwaarden voldoen. De voornaamste zijn:
  • Er moeten filmpjes in gespeeld kunnen worden.
  • Het moet mogelijk zijn om latex formules te gebruiken.
  • Je moet eenvoudig simpele schematische tekeningen kunnen maken.
  • De presentatie (figuren, tekst,...) moet mooi en haarscherp weergegeven worden.
Powerpoint voldoet mooi aan al die voorwaarden. In linux dacht ik dat openoffice impress daar ook wel zou aan voldoen. En inderdaad, aan de drie eerste voorwaarden voldoet het (met hulp van enkele hacks), maar, en hier komt mijn haar recht van te staan, de manier waarop impress simpele figuren weergeeft hou je niet voor mogelijk. Niet te geloven!

Even een vergelijkende studie. Op figuur 1 hieronder zie je een rechte lijn en een cirkel zoals die door powerpoint worden weergegeven. Op figuur 2 zie je dezelfde primitieven zoals die door openoffice impress worden weergegeven. Voor de graphics mensen onder ons: totaal geen anti-aliasing en dus blokkerige lijnen. Maar, o wee, daar blijft het niet bij! Als je wat inzoomt op de cirkel (zie figuur 3) dan zie je dat dat helemaal geen cirkel is! Miserie! Ik snap echt niet hoe iemand zo'n gedrocht kan programmeren. Volgens mij is het tien keer moeilijker om zo een free-form figuur te visualizeren, dan van een simpele cirkel te tekenen. Frustratie, frustratie... Ik snap niet dat iemand openoffice nu nog serieus kan nemen.

Figuur 1: een lijnstuk en een cirkel in powerpoint.

Figuur 2: een lijnstuk en een cirkel in openoffice impress.

Figuur 3: een lijnstuk en een cirkel in openoffice impress (zoom).

Ik heb het dus weer opgegeven en heb mooi gereboot in windows en ben mijn presentatie in powerpoint aan het maken. Opslaan als pdf (geen filmkes dus) en met acrobat onder linux afspelen.

Zo heb ik nog wel een hele reeks computer gerelateerde frustraties. Ik denk dat ik mijn volgende post aan de macosx "maximize button" ga wijden...

3 opmerkingen:

saskia zei

Hmmm,

k heb open office onder linux nu al gebruikt vor 2 presentaties en 1 poster. En ik had eerder het gevoel dat de filmpjes en latex spullen niet mogelijk waren. Ik herinner mij niet zo een slechte cirkel gezien te hebben op mijn poster en k heb mijn poster op 200% afgedrukt ...

Pieter zei

Op fullscreen ziet het er dikwijls beter uit. Gewoen lijnen zien er dan zeer goed uit bij mij.

Cirkel is een probleem. Transparantie op 10% zetten, en lijn dikte van 0.04" nemen helpt.

Ik geef toe dat het niet zo zou moeten en dat alles automatisch zou moeten. Welke versie heb je trouwens van open office? Want in versie 2 moet ik echt moeite doen om zulke slechte lijnen te krijgen.

Sofie & Bart zei

Dat is versie 2.3. Ik heb ondertussen ontdekt dat het sterk afhangt van welke video kaart en drivers je hebt. Als je export naar pdf, dan zijn alle lijnen, cirkels, etc. wel geconverteerd naar vector graphics, dus als je printer fatsoenlijk print, dan is alles mooi.

Ik heb ondertussen de persoon gevonden bij sun die verantwoordelijk is voor de rendering van die graphics primitieven. Blijkbaar is hij stilletjesaan alles aan het herimplementeren, dus er is verbetering in zicht...