<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"> <title>Master Thesis Jonathan</title> <description/> <generator>Python Pages</generator> <link href="http://www.slenders.be/jonathan/master-thesis/atom"/> <author> <name/> </author>
 <entry> <title>Eerste test met servo's</title> <link href="/jonathan/master-thesis/news/2007-02-11"/> <updated>2007-02-11</updated> <summary type="xhtml"> 

<p>
	Vandaag heb ik een test gedaan met de <a href="http://www.phidgets.com/">Phidgets</a> servo controller. Alles is zeer eenvoudig om te gebruken
	langs de software zijde. Hieronder een stuk van mijn code:
</p>


<br/><a href="/jonathan/master-thesis/news/2007-02-11">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Nog een paper</title> <link href="/jonathan/master-thesis/news/2007-02-17"/> <updated>2007-02-17</updated> <summary type="xhtml"> 

<p>
	<a href="http://rtds.cs.tamu.edu/publications/conferences/06%20ASEEMarionette.pdf">The
	Dancing Marionette</a> - An Interdisciplinary Capstone Design Experience for Engineering
	Technology and Computer Science Students.
</p>
<p>
	Verder ben ik begonnen aan een inhoudsopgave. Hier moet echter nog veel aan
	gebeuren. Ook zou ik nog een paar schetsen on-line plaatsen, dat is voor
	volgende dagen.
</p>

<br/><a href="/jonathan/master-thesis/news/2007-02-17">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Schets</title> <link href="/jonathan/master-thesis/news/2007-02-19"/> <updated>2007-02-19</updated> <summary type="xhtml"> 

<img href="../images/schets-opstelling-1.jpg" title="Schets van de opstelling"/>
<p>
	Dit is een eenvoudige schets van de opstelling. De drie wielen in het
	bovenste gedeelte draaien in het horizontale vlak en zijn gemonteerd
	op de servo-motors. Afhankelijk van de draaihoek zal hierdoor de
	lengte van de draden verschillen.
</p>

<br/><a href="/jonathan/master-thesis/news/2007-02-19">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Een gerichte projectie</title> <link href="/jonathan/master-thesis/news/2007-10-04"/> <updated>2007-10-04</updated> <summary type="xhtml"> 

<p>
	De projectierichting van een baemer kan op ruwweg twee manieren
	gemanipuleerd worden:
</p>
<ol>
	<li>door de projector zelf te laten bewegen, of</li>
	<li>door de projectiestraal te manipuleren.</li>
</ol>
<p>
	In het EDM zijn reeds experimenten uitgevoerd waarbij
	de projector door middel van een motor kan laten
	rondgedraaid worden. Het gewicht van de baemer vormt
	hier echter een bottleneck waardoor het ronddraaien niet
	erg snel en nauwkeurig kan gebeuren.
</p>

<br/><a href="/jonathan/master-thesis/news/2007-10-04">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Enkele ideeen</title> <link href="/jonathan/master-thesis/news/2007-10-27"/> <updated>2007-10-27</updated> <summary type="xhtml"> 

<p>
	Door gebrek aan tijd heb ik nog niet veel kunnen werken aan de thesis.
	Wel heb ik hier regelmatig aan gedacht en enkele van de ideeen welke ik
	nu heb schrijf ik hier even neer.
</p>

<br/><a href="/jonathan/master-thesis/news/2007-10-27">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Nieuwe papers</title> <link href="/jonathan/master-thesis/news/2007-11-22"/> <updated>2007-11-22</updated> <summary type="xhtml"> 

<p>
	Gisteren heb ik een kopie ontvangen van de paper
	<em>Towards Ambient Projection for Intelligent Environments</em>.
	Deze was interessant, maar bevatte minder technische details dan ik had
	gehoopt. Er wordt wel verwezen naar andere nuttige papers.
</p>

<br/><a href="/jonathan/master-thesis/news/2007-11-22">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Self correcting projector</title> <link href="/jonathan/master-thesis/news/2007-11-24"/> <updated>2007-11-24</updated> <summary type="xhtml"> 

<p>
	Over de paper: <a href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings/&amp;toc=comp/proceedings/cvpr/2001/1272/02/1272toc.xml&amp;DOI=10.1109/CVPR.2001.991004">A self correcting Projector</a>, Ramesh Raskar en Paul Beardsley
</p>
<p>
	Hierin wordt uitgelegd hoe een projectie schuine softwarematig gecorrigeerd
	kan worden om toch een rechthoekig beeld te projecteren.
</p>

<br/><a href="/jonathan/master-thesis/news/2007-11-24">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Op zoek naar hardware</title> <link href="/jonathan/master-thesis/news/2007-12-11"/> <updated>2007-12-11</updated> <summary type="xhtml"> 

<p>
	Na mijn laatste afspraak met de begeleiding ben ik op zoek gegaan
	naar geschikte hardware. Als eerste heb ik contact opgenomen met
	<a href="http://videocenter.be">Videocenter.be</a>. Zij raadden me
	aan om &quot;R&amp;D international in Landen&quot; te contacteren.
	Rndinternational.com antwoordt met de volgende e-mail:
</p>

<br/><a href="/jonathan/master-thesis/news/2007-12-11">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Op zoek naar hardware (2)</title> <link href="/jonathan/master-thesis/news/2007-12-15"/> <updated>2007-12-15</updated> <summary type="xhtml"> 

<p>
	Enkele dagen terug ben ik ook nog eens in een sound en light winken in Hasselt geweest
	(in de straat van de provinciale bibliotheek).
</p>
<p>
	Hier kreeg ik het volgende advies:
</p>

<br/><a href="/jonathan/master-thesis/news/2007-12-15">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Op zoek naar hardware (3)</title> <link href="/jonathan/master-thesis/news/2007-12-22"/> <updated>2007-12-22</updated> <summary type="xhtml"> 

<p>
	Met dank aan Dominique heb ik nu informatie gekregen
	over de pan/tilt sturing welke in bewakingscamera's wordt gebruikt.
</p>
<p>
	Volgens <a href="http://www.videotec.com/en/page_198.html">de website</a>
	is de draaiingssnelheid eerder klein.
</p>
<quote>
	<p>
		Horizontal fixed speed 6 degrees/s, vertical fixed speed 3 degrees/s
	</p>
</quote>
<p>
	Mogelijk zijn er ergens betere camera mounts beschikbaar.
</p>
<p>
	het merendeel van deze motoren zou aanstuurbaar zijn met behulp van het Telco
	protocol (wat vrij te gebruiken zou zijn), dit protocol werkt via een seriele
	verbinding (RS 485).
</p>
<p>
	<a href="http://www.deweerd-emst.nl/catalog/product_info.php?cPath=72_98&amp;products_id=2169&amp;osCsid=b58dc1af30b59ea670a1e69bccc38486">Pan/tilt motor voor binnencamera - 24V AC</a>
</p>

<br/><a href="/jonathan/master-thesis/news/2007-12-22">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Custom hardware (de doe het zelf methode)</title> <link href="/jonathan/master-thesis/news/2007-12-26"/> <updated>2007-12-26</updated> <summary type="xhtml"> 

<p>
	Laat me eerst even uitleggen hoe ik nu denk zelf een spiegel te laten kunnen
	draaien. We hangen een spiegel op aan drie draadjes welke in een gelijkzijdige
	driehoek bevestigd zijn aan de achterkant van de spiegel. Het spiegeloppervlak
	wijst naar onder. Door de lengte van de draden te wijzigen kunnen we dan de
	spiegel een bepaalde hoek laten aannemen. <br/>
	Deze drie draden worden elk verbonden met een soort cylinder. Door die cylinder
	rond te draaien zullen dan de touwen op- of afrollen. Dat ronddraaien gebeurt
	door een servo motor (geen stappenmotor). Servomotors kunnen erg nauwkeurig
	gepositioneerd worden (En kunnen sterk en snel zijn).
</p>

<br/><a href="/jonathan/master-thesis/news/2007-12-26">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Ok, laten we even de lengte van die draden berekenen</title> <link href="/jonathan/master-thesis/news/2007-12-27"/> <updated>2007-12-27</updated> <summary type="xhtml"> 

<p>
	Als we verder gaan met de uitvoering van mijn idee van gisteren
	zullen we de lengte van elke draad moeten berekenen aan de hand
	van een gegeven pan en tilt hoek.
</p>

<br/><a href="/jonathan/master-thesis/news/2007-12-27">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Terug in actie</title> <link href="/jonathan/master-thesis/news/2008-10-09"/> <updated>2008-10-09</updated> <summary type="xhtml"> 

<p>
	Na een lange grote vakantie begin ik nu terug aan mijn thesis.
	Ik ben net terug begonnen met de implementatie.
</p>

<br/><a href="/jonathan/master-thesis/news/2008-10-09">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>DML-1200 en Ellipscan</title> <link href="/jonathan/master-thesis/news/2008-10-10"/> <updated>2008-10-10</updated> <summary type="xhtml"> 

<p>
	Barco maakt <a href="http://www.lightsoundjournal.com/viewnews.php?id=16405">
	een stuurbare projector</a> welke ideaal zou zijn
	voor onze opstelling, alleen kost die een beetje te veel. (Foto na de break.)
</p>

<br/><a href="/jonathan/master-thesis/news/2008-10-10">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Everywhere Display Software status</title> <link href="/jonathan/master-thesis/news/2008-10-18"/> <updated>2008-10-18</updated> <summary type="xhtml"> 

<p>
	De laatste dagen ben ik bezig geweest met het bruikbaar maken van een rendering engine
	om de projectors te besturen en een goede abstractielaag voor de applicaties die de
	projectie moeten kunnen gebruiken.
</p>



<p>
	Lees verder om de uitwerking te zien.
</p>

<br/><a href="/jonathan/master-thesis/news/2008-10-18">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Rendering Windows in 3d space</title> <link href="/jonathan/master-thesis/news/2008-10-20"/> <updated>2008-10-20</updated> <summary type="xhtml"> 

<p>
	Het is gelukt om een standaard .NET venster in de 3d ruimte
	van de everywhere display projectie te renderen.
</p>




<p><img src="/jonathan/master-thesis/images/2008-10-20_screenshot_everywhere_display_thumb.png"/></p>


<br/><a href="/jonathan/master-thesis/news/2008-10-20">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Pong</title> <link href="/jonathan/master-thesis/news/2008-11-10"/> <updated>2008-11-10</updated> <summary type="xhtml"> 

<p>
	Vandaag heb ik nog wat vooruitgang gemaakt.
</p>
<p>
	Ten eerste kan een venster de focus vragen. Dit betekent
	dat alle beschikbare projectors naar de lokatie van dat
	venster gericht worden. Op dit te demonstreren heb ik
	een applicatie gemaakt die over alle muren in de ruimte
	kan bewegen, en de projector volgt altijd deze beweging.
</p>
<p>
	Mijn eerste 'nuttige' toepassing is ook klaar. Het is het
	spel Pong. De huidige configuratie maakt het mogelijk dat
	twee toetsenborden (lokaal of op een andere pc) verbonden
	worden via mijn TCP remotekeyboard client, en zo de de
	twee balkjes van de spelers kunnen besturen.
	Het balletje gaat net zoals bij het echte spel op en neer,
	en wanneer een speler er niet in slaagt om de bal te vangen,
	dan zal de bal via de aangrenzende muur verder vliegen.
	Op de linkermuur wordt de huidige score getoond.
</p>




<p><img src="/jonathan/master-thesis/images/2008-11-10_pong_thumb.png"/></p>
<p>Lees verder om een grotere screenshot te zien.</p>


<br/><a href="/jonathan/master-thesis/news/2008-11-10">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>WPF</title> <link href="/jonathan/master-thesis/news/2008-11-15"/> <updated>2008-11-15</updated> <summary type="xhtml"> 

<p>
	Bij het testen van de huidige implementatie op verschillende computers
	bleek dat de everywhere display lang niet overal evengoed werkte.
	Een computer gaf zelfs een totaal onbegrijpbare abstracte vorm.
	Terwijl ik op zoek was naar de reden hiervoor ontdekte ik dat Managed DirectX
	eigenlijk al verouderd is, en niet meer onderhouden wordt. Het alternatief is
	nu <strong>Windows Presentation Foundation</strong> (wat intern eigenlijk ook
	een laag bovenop DirectX vormt.)
</p>
<p>
	Ik heb dus beslist om de rendering engine te herschrijven en WPF in plaats
	van Managed DirectX te gebruiken. WPF werkt blijkbaar zelfs erg goed voor ons
	doel. Je kan elk <em>Visual</em> object als <em>Brush</em> gebruiken, zo is
	het mij gelukt om een tabblad als brush te gebruiken voor een 3d vlak.
	Hoewel lang niet alle low-level details van DirectX verborgen blijven, handelt
	WPF bijna alle details zelf af zodat het programmeren ook aangenamer blijft
	en de kans groter is dat het in een willekeurige opstelling werkt.
</p>
<p>
	<img src="/jonathan/master-thesis/images/2008-11-15_tabpage_in_wpf_3d.png"/>
</p>



<p>Lees verder voor de bron code achter dit tabblad.</p>


<br/><a href="/jonathan/master-thesis/news/2008-11-15">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Byebye Windows Forms</title> <link href="/jonathan/master-thesis/news/2008-11-17"/> <updated>2008-11-17</updated> <summary type="xhtml"> 

<p>
	Enkele dagen terug had ik besloten om Managed DirectX in te ruilen voor WPF.
	Nu kan ik vertellen dat alle functionaliteit die ik eerst al in de
	engine had, geport is naar WPF. Ook een testapplicatie voor de ED
	werkt hier al in.
</p>
<p>
	De interface voor applicaties is ook lichtjes aangepast. Applicates zijn nu geen
	Windows Forms meer, maar wel WPF UserControls. Dit heeft als grote voordeel dat
	elke applicatie over 3d versnelling beschikt voor zijn rendering. Om een voorbeeld
	te geven: nu kan ik een video speler maken die op een muur in de ED draait, door
	een WPF usercontrol aan te maken en deze te vullen met behulp van een VideoBrush.
</p>
<p>
	De komende dagen zal ik meer resultaten laten zien van de mogelijkheden van deze
	nieuwe engine. Maar eerst moet de 'Pong' kloon en enkele utilities nog geport worden.
</p>




<img src="/jonathan/master-thesis/images/2008-11-17_everywhere_display_in_wpf_thumb.png"/>
<p>Lees verder voor een grotere screenshot</p>


<br/><a href="/jonathan/master-thesis/news/2008-11-17">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Video brush</title> <link href="/jonathan/master-thesis/news/2008-11-18"/> <updated>2008-11-18</updated> <summary type="xhtml"> 

<p>
	Met een <em>MediaElement</em> control in WPF kan je video embedden in
	een WPF window. Volgende code gebruik ik om een Video applicatie te maken.
</p>
<code mime-type="text/xml">

&lt;UserControl x:Class=&quot;EverywhereExampleApplications.VideoWindow&quot;
        xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;
        xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;
        Height=&quot;600&quot; Width=&quot;800&quot;&gt;
    &lt;!-- This requires at least Windows Media Player 10 --&gt;
    &lt;MediaElement ScrubbingEnabled=&quot;True&quot; LoadedBehavior=&quot;Play&quot; x:Name=&quot;_media&quot; /&gt;
&lt;/UserControl&gt;

</code>
<p>
	Doordat de render engine een <em>VisualBrush</em> gebruikt waar deze 
	<em>UserControl</em> aan wordt gekoppeld, wordt de video op de muur
	geprojecteerd.
</p>
<p>
	Hier wordt &quot;Astérix et les Viking&quot; in high definition (720p) gespeeld,
	zonder merkbare vertraging in het beeld.
</p>




<p style="text-align: center; ">
	<img src="/jonathan/master-thesis/images/2008-11-18_videobrush_thumb.png"/>
</p>


<br/><a href="/jonathan/master-thesis/news/2008-11-18">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Widgets enter the third dimension: WolfenQt</title> <link href="/jonathan/master-thesis/news/2008-12-05"/> <updated>2008-12-05</updated> <summary type="xhtml"> 

<p>
	An alternative approach to .NET WPF what I'm using now is Qt, they have
	<a href="http://labs.trolltech.com/blogs/2008/12/02/widgets-enter-the-third-dimension-wolfenqt/">
	a really nice demo of rendering widgets in 3d</a>
</p>
<p style="text-align: center; ">
	

<object data="http://www.youtube.com/v/MXS3xKV-UM0" style="width:425px; height:355px;" type="application/x-shockwave-flash">
	<param name="movie" value="http://www.youtube.com/v/MXS3xKV-UM0"/>
</object>


</p>

<br/><a href="/jonathan/master-thesis/news/2008-12-05">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Recursive rendering and LCD output</title> <link href="/jonathan/master-thesis/news/2008-12-14"/> <updated>2008-12-14</updated> <summary type="xhtml"> 

<p>
	In deze post beschrijf ik twee zaken.
</p>
<p>
	Ten eerste heb ik een LCD schermpje gemaakt dat de huidige pan- en tilthoek
	van een bepaalde projector toont. Hiermee toon ik aan dat de output volledig
	geabstraheerd is. De microprocessor die dit schermpje bestuurt zou bijvoorbeeld
	net zo goed een servo motor kunnen besturen.
</p>
<p style="text-align: center;">
	<img alt="LCD display toont Pan en Tilt" src="/jonathan/master-thesis/images/2008-12-14_pan-tilt-lcd.jpg"/>
</p>
<p>
	Ten tweede heb ik vandaag de beeld-output van de renderer ook een klein beetje
	geabstraheerd. De renderer is nu zelf een <em>UserControl</em>. Applicaties
	die binnen de ED draaien, kunnen nu voor een projector uit het model een
	instantie van de renderer aanvragen. In de catergorie &quot;because it can&quot; heb ik
	dan een mini-applicatie gemaakt die die renderer terug aan het systeem aanbiedt
	als 'Window'. Hiermee verkrijg je een leuke recursive rendering zoals de mensen
	van QT in mijn vorige post demonstreerden. Als ik binnenkort mijn render engine
	uitbreid met de manipulatietools van de <a href="http://www.codeplex.com/3DTools">3dtools bibliotheek van Codeplex</a>, dan
	gaat het zelfs mogelijk zijn om deze geneste render engine te manipuleren met de muis.
</p>

<p style="text-align: center;">
	Renderen van de ene projector binnen de andere<br/>
	<img alt="Geneste rendering" src="/jonathan/master-thesis/images/2008-12-14_nested-renderer.png"/>
</p>
<p style="text-align: center;">
	Renderen van een projector binnen zichzelf<br/>
	<img alt="Geneste rendering" src="/jonathan/master-thesis/images/2008-12-14_nested-renderer2.png"/>
</p>

<br/><a href="/jonathan/master-thesis/news/2008-12-14">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry>  <entry> <title>Foto's finale opstelling</title> <link href="/jonathan/master-thesis/news/2009-01-26"/> <updated>2009-01-26</updated> <summary type="xhtml"> 

<p>
	Ondertussen is mijn thesis bijna gedrukt en helemaal afgeraakt.
	Dit zijn nog enkele foto's van de finale opstelling.
</p>
<p>
	Je kunt goed zien dat het beeld altijd overeenkomt met de positie waar
	geprojecteerd wordt. Alle foto's hieronder zijn genomen zonder de
	projector of spiegel handmatig te verdraaien. De calibratie is nog
	niet 100%, maar uiteindelijk ben ik daar maar een kleine namiddag mee
	bezig geweest.
</p>

<p style="text-align: center; "><img src="/jonathan/master-thesis/images/2009-01-26/img_0203.jpg" style="max-width: 90%; " title=""/></p>

<p>
	-&gt; <a href="http://lumumba.uhasselt.be/~jonathan/jonathan-thesis-filmpje1.avi">Bekijk een <strong>filmpje</strong> van de projectie in actie</a>
	(mpeg2, avi container)
</p>




<p>
	Lees verder om de rest van de foto's en een elektrisch schema te zien.
</p>


<br/><a href="/jonathan/master-thesis/news/2009-01-26">Read more...</a>
 </summary> <contributor> <name>Jonathan</name> </contributor> </entry> 
</feed>