<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8013449365440730050</id><updated>2012-02-17T01:56:34.340+01:00</updated><category term='2009'/><category term='Ambient Assisted Living'/><category term='Market'/><category term='Grafik'/><category term='Amazon'/><category term='Realtime'/><category term='3ds max'/><category term='Threads'/><category term='Teekanne'/><category term='Photoshop'/><category term='2012'/><category term='Rendering'/><category term='Super Mario'/><category term='Cow'/><category term='Darmstadt'/><category term='Fleckvieh'/><category term='Canon'/><category term='Nikon'/><category term='readLine()'/><category term='Nintendo'/><category term='3ds studio max'/><category term='Polygone.'/><category term='DSLR'/><category term='3DConnexion'/><category term='Android'/><category term='Animation'/><category term='Schach'/><category term='Wüste'/><category term='Photoshopshop CS5'/><category term='550D'/><category term='BufferReader'/><category term='App'/><category term='Artikelserie'/><category term='Blogger'/><category term='Java'/><category term='IGD'/><category term='Polygone'/><category term='Fass'/><category term='Wohnzimmer'/><category term='Fotokamera'/><category term='Teil 3'/><category term='SpaceNavigator'/><category term='Roboter'/><category term='AAL'/><category term='3D Modelle'/><category term='Nursing Service'/><category term='Fraunhofer'/><category term='Skizze'/><category term='Mario Kart'/><category term='Photoshop CS5'/><category term='Goomba'/><category term='D3100'/><category term='Fotografie'/><title type='text'>3-S-E's Developer Blog</title><subtitle type='html'>Graphik, Android, Java &amp;amp; D - Technologie und Entwickler Blog</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/07646398340097258899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Et1dpF-eLco/TN_CPs40DlI/AAAAAAAAAAQ/R8w4IuU-bqI/S220/3-S-E.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-494469920991311548</id><published>2011-04-29T23:01:00.002+02:00</published><updated>2011-05-16T08:16:00.643+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3ds max'/><category scheme='http://www.blogger.com/atom/ns#' term='Teekanne'/><category scheme='http://www.blogger.com/atom/ns#' term='Rendering'/><category scheme='http://www.blogger.com/atom/ns#' term='Roboter'/><category scheme='http://www.blogger.com/atom/ns#' term='Photoshop'/><category scheme='http://www.blogger.com/atom/ns#' term='Wohnzimmer'/><category scheme='http://www.blogger.com/atom/ns#' term='IGD'/><category scheme='http://www.blogger.com/atom/ns#' term='Skizze'/><category scheme='http://www.blogger.com/atom/ns#' term='Artikelserie'/><category scheme='http://www.blogger.com/atom/ns#' term='Teil 3'/><title type='text'>IGD - Meine Arbeiten Teil 3 -- "Intelligenter Helfer"</title><content type='html'>Der dritte Teil dieser Serie befasst sich mit der Arbeit an einem helfenden Haushaltsroboter. Die Ausbeute an Bildmaterial für diesen Artikel fällt leider recht mager aus und das hat folgenden Grund:&lt;br /&gt;&lt;br /&gt;Der genaue Einsatz dieser Arbeit ist mir nicht bekannt (gewesen), es hieß nur: "Wir brauchen einen Roboter, welcher nett aussieht und was 'sinnvolles' und hilfreiches macht" - so, oder so ähnlich war der Wortlaut. Der Roboter unterlag somit keinen technischen, oder optischen Vorgaben, was mir freie Hand bei der Gestaltung gab.&lt;br /&gt;Aus dem Grund entstand die Szene in einem so rapiden Tempo, dass ich damals nur zwei Renderings von dem hier gezeigten Roboter erstellt habe. Das eine Bild, welches den Roboter in einer Ausgangs- bzw. Idle-pose zeigte, hat nie die Festplatte gesehen.&amp;nbsp;Das andere Bild seht ihr jetzt.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-FnDjg4rtnTk/TbsabJEMfLI/AAAAAAAAARY/d-bGHkrB6lA/s1600/RoboScene.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-FnDjg4rtnTk/TbsabJEMfLI/AAAAAAAAARY/d-bGHkrB6lA/s400/RoboScene.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Die Wohnzimmerszene ist bereits aus den früheren Teilen dieser Artikelserie bekannt und wurde für dieses Rendering nicht weiter bearbeitet, sondern nur "recycelt". Man erkennt immer noch die recht leeren Regale, was darin begründet liegt, dass ich die Szene noch während der Entwicklung für verschiedene Nebenaufträge "missbraucht" habe.&lt;br /&gt;&lt;br /&gt;Der Roboter selbst entstand innerhalb von ca. zwei Stunden und erinnert nicht zufällig an Eve aus dem Pixar / Walt Disney Animationsfilm "WALL-E". Ich glaube ich habe den Film sogar noch am Vortag geschaut und fand das Design sehr passend.&lt;br /&gt;Somit skizzierte ich den Roboter kurzerhand in meinen Collageblock und bildete die symmetrische, runde Form des Roboters mit Splines in 3ds max nach, welche ich im Anschluss mit einer Dreh-Extrusion in ein Polygonmodell umwandelte.&lt;br /&gt;&lt;br /&gt;Die Skizze habe ich mir glücklicherweise aufgehoben!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-vPhDV0T8dWM/TbshStg0ZrI/AAAAAAAAARc/S1X1ssZO0CY/s1600/RoboterSkizze.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-vPhDV0T8dWM/TbshStg0ZrI/AAAAAAAAARc/S1X1ssZO0CY/s320/RoboterSkizze.png" width="302" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Die Teekanne ist jedem, der sich ein wenig mit Computergrafik befasst sicherlich bekannt. Die Tasse und das Tablett sind meine kleinen Kreationen.&lt;br /&gt;&lt;br /&gt;Der Roboter besteht außerdem noch aus den Armen, welche recht einfach aus Sphären und Zylindern zusammengesetzt und hierarchisch miteinander verbunden sind, so dass die Gestaltung der Pose leichter viel.&lt;br /&gt;Bones habe ich keine verwendet, denn für den gewünschten Zweck wäre die Arbeit damit zu aufwendig.&lt;br /&gt;&lt;br /&gt;Texturen besitzt der Roboter, bis auf sein freundliches Antlitz, keine.&amp;nbsp;Seine Oberfläche wurde durch Materialien definiert,&lt;br /&gt;&lt;br /&gt;Interessanterweise habe ich mit dem oben gezeigten Rendering auch auf Anhieb das Licht, die Kameraposition und die Gesamtstimmung nach dem Geschmack meines "Auftraggebers" eingefangen.&lt;br /&gt;Da die Render-Einstellungen durch die Parallelprojekte bereits fertig abgestimmt waren, war die Szene im ersten Durchlauf im Kasten.&lt;br /&gt;&lt;br /&gt;Ich hoffe sie gefällt euch!&lt;br /&gt;&lt;br /&gt;Bis zum nächsten Teil meiner Arbeiten am Fraunhofer IGD.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-494469920991311548?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/494469920991311548/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/04/igd-meine-arbeiten-teil-3-intelligenter.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/494469920991311548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/494469920991311548'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/04/igd-meine-arbeiten-teil-3-intelligenter.html' title='IGD - Meine Arbeiten Teil 3 -- &quot;Intelligenter Helfer&quot;'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/03995455961655398583</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Q6LjKIoKeD4/S-kiQnpLnhI/AAAAAAAAAA4/k7NibtVmZWs/S220/3-S-E.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-FnDjg4rtnTk/TbsabJEMfLI/AAAAAAAAARY/d-bGHkrB6lA/s72-c/RoboScene.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-8605089505583420205</id><published>2011-04-14T00:30:00.000+02:00</published><updated>2011-04-14T00:30:54.693+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2009'/><category scheme='http://www.blogger.com/atom/ns#' term='3DConnexion'/><category scheme='http://www.blogger.com/atom/ns#' term='Fleckvieh'/><category scheme='http://www.blogger.com/atom/ns#' term='Fraunhofer'/><category scheme='http://www.blogger.com/atom/ns#' term='Darmstadt'/><category scheme='http://www.blogger.com/atom/ns#' term='IGD'/><category scheme='http://www.blogger.com/atom/ns#' term='3ds max'/><category scheme='http://www.blogger.com/atom/ns#' term='Polygone.'/><category scheme='http://www.blogger.com/atom/ns#' term='Photoshop'/><category scheme='http://www.blogger.com/atom/ns#' term='2012'/><category scheme='http://www.blogger.com/atom/ns#' term='Cow'/><category scheme='http://www.blogger.com/atom/ns#' term='Animation'/><category scheme='http://www.blogger.com/atom/ns#' term='Realtime'/><category scheme='http://www.blogger.com/atom/ns#' term='SpaceNavigator'/><title type='text'>IGD - Meine Arbeiten Teil 2 -- "Was machen die Kühe?"</title><content type='html'>&lt;b&gt;E&lt;/b&gt;ines Tages beauftragte man mich für eine Ortungssystem-Demo eine Kuh zu entwerfen.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;"Martin, wir brauchen Kühe!"&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;Wie das Endergebnis geworden ist und welchen Problemen ich begegnet bin, möchte ich im heutigen Artikel schildern.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Trivia&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Da ich mit der Demo per se nicht viel zu tun hatte, kann ich auch nicht viel dazu sagen. Was ich weiß ist, dass eine Kuh für ein virtuelles "Bauernhof"-Szenario gebraucht wurde, bei dem der virtuelle Bauer immer seine Schäfchen bzw. in dem Fall Kühe auf der weitläufigen Weide im Blick hat - inklusive all ihrer Vitalzeichen.&lt;/li&gt;&lt;li&gt;Da die Demo eine Echtzeitsimulation sein sollte, ging es beim Modellieren auch darum einen optimalen Kompromiss zwischen Polygonanzahl und Detailgrad zu finden.&amp;nbsp;Die auf den Bildern sichtbare Kuh hat in der Summe rund 6.000 Polygone.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Die Modellierung, Texturierung und Animation habe ich mit 3ds max 2009 gemacht.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Für einige der Screenshots in diesem Artikel habe ich das brandneue 3ds max 2012 in der &lt;a href="http://www.autodesk.de/adsk/servlet/item?siteID=403786&amp;amp;id=3180094"&gt;"Education"-Version&lt;/a&gt;&amp;nbsp;genutzt. Absolute Empfehlung - beste Version seit 3ds max 2009.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Während der mehrwöchigen Arbeit an dem Modell (meine Wochenarbeitszeit als HiWi ist wegen der lächerlichen 400 Euro Grenze stark beschränkt - danke Vater Staat) wurde ich laufend mit einem herzlichen "&lt;i&gt;Was machen die Kühe?&lt;/i&gt;" begrüßt! ^_^'&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Modellierung und Texturierung&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-22Txxm0SD6E/TaTH8lgHUtI/AAAAAAAAAQk/u4uAezGQk6k/s1600/cow+%25284%2529.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/-22Txxm0SD6E/TaTH8lgHUtI/AAAAAAAAAQk/u4uAezGQk6k/s200/cow+%25284%2529.jpg" width="200" /&gt;&lt;/a&gt;Da ich vor diesem Modell nur recht technische Modelle bzw. Sach-Modelle erstellt habe, war so ein (relativ komplexes) organisches Modell durchaus eine kleine Herausforderung für mich. Zusätzlich kannte ich Kühe bestenfalls aus dem Fernsehen - als deutscher (Vor-) Stadtmensch laufen einem nicht so häufig Kühe über den Weg. Somit musste ich mir meine Referenzen erstmal zusammensuchen.&lt;br /&gt;Internet sei Dank kommt man aber auch ohne große Mühe an Referenzmaterial in Form von Bildern und Videos.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-PlfHdAApVCM/TaTH84DJpYI/AAAAAAAAAQo/AZxk8vujIEA/s1600/cow+%25285%2529.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/-PlfHdAApVCM/TaTH84DJpYI/AAAAAAAAAQo/AZxk8vujIEA/s200/cow+%25285%2529.jpg" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;Leider fiel mir viel zu spät ein, dass es auch Plastik-Modelle von Kühen im Spielzeug- und Modelleisenbahn-Laden gibt.&lt;br /&gt;Gestützt auf unzählige Fotographien und Videos von glücklichen Kühen fing ich somit an zu modellieren und arbeitete mich von der Schnauze zum Hinterteil "vor".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;/div&gt;&lt;a href="http://www.blogger.com/goog_460803427" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-yIKmjs3XHoM/TaTRx5NdBVI/AAAAAAAAAQs/BQRDrnqhmtU/s200/41Q38ZATQQL.jpg" width="193" /&gt;&lt;/a&gt;Eine wesentliche Neuerung für mich und eine absolute Wohltat zugleich war mein erstmaliger Einsatz einer &lt;a href="http://www.amazon.de/gp/product/B000LB7G00/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=3sedevblo-21&amp;amp;linkCode=as2&amp;amp;camp=1638&amp;amp;creative=19454&amp;amp;creativeASIN=B000LB7G00"&gt;3DConnexion SpaceNavigator 3D-Maus&lt;/a&gt;.&lt;br /&gt;Dieses schmucke Stück eines Eingabegerätes vereinfacht die Navigation im virtuellen Raum und macht es derart intuitiv, dass ich heut zu Tage gar nicht mehr ohne ein solches Gerät modellieren möchte.&lt;br /&gt;Die SpaceNavigator-Maus ist zwar eine "Einsteiger"-3D-Maus, doch für die meisten Zwecke absolut ausreichend und deutlich günstiger als eine &lt;a href="http://www.amazon.de/gp/product/B00283VWK4/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=3sedevblo-21&amp;amp;linkCode=as2&amp;amp;camp=1638&amp;amp;creative=19454&amp;amp;creativeASIN=B00283VWK4"&gt;SpacePilot Pro&lt;/a&gt;, oder &lt;a href="ttp://www.amazon.de/gp/product/B000LCHRX0/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=3sedevblo-21&amp;amp;linkCode=as2&amp;amp;camp=1638&amp;amp;creative=19454&amp;amp;creativeASIN=B000LCHRX0"&gt;SpaceExplorer&lt;/a&gt;.&amp;nbsp;Wer gerne und viel modelliert, dem kann ich eine 3D Maus absolut ans Herz legen. Nutzbar ist sie unter anderem auch mit Google Earth, Photoshop, Autodesk Maya und vielen anderen Programmen.&lt;br /&gt;&lt;br /&gt;&lt;table style="width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-DfqMmeO1PCw/TaTH5A2CpMI/AAAAAAAAAQY/Btx7oxFv19M/s1600/03.bmp" imageanchor="1" style="clear: right; margin: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-DfqMmeO1PCw/TaTH5A2CpMI/AAAAAAAAAQY/Btx7oxFv19M/s200/03.bmp" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-zW8kjrKm1Xk/TaTH8NohqeI/AAAAAAAAAQc/LM8N7M8sm4I/s1600/04.bmp" imageanchor="1" style="clear: left; margin: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-zW8kjrKm1Xk/TaTH8NohqeI/AAAAAAAAAQc/LM8N7M8sm4I/s200/04.bmp" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-tLJ0EiNpwUw/TaTH2Rq35NI/AAAAAAAAAQU/63wO3Uz6yws/s1600/02.bmp" imageanchor="1" style="margin: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-tLJ0EiNpwUw/TaTH2Rq35NI/AAAAAAAAAQU/63wO3Uz6yws/s200/02.bmp" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Die Kuh besitzt nur zwei Texturen: Eine für die Augen, eine für das fleckige Fell. Beide Texturen wurden mit Photoshop erstellt.&lt;br /&gt;&lt;br /&gt;Da das Modell für die Echtzeit-Renderumgebung des Fraunhofer IGDs exportiert werden musste, und das Export-PlugIn für 3ds max zum damaligen Zeitpunkt noch arge Probleme mit komplexen UVW-Maps hatte, musste ich etwas tricksen.&amp;nbsp;So habe ich das Fell mittels einer, um 45 Grad auf der Längsachse der Kuh verdrehten, Projektionsplane gemappt. Nicht gerade die eleganteste Lösung, doch eine, welche ein relativ angenehm asymmetrisch-organisches Ergebnis lieferte und dabei den Exporter nicht überforderte.&lt;br /&gt;&lt;br /&gt;Die Schnauze, die Hufe, sowie das Euter bekamen "per-vertex" Farben zugeteilt. Dadurch erreichte ich ein schnell gemachtes und trotzdem ansprechendes Ergebnis.&lt;br /&gt;&lt;br /&gt;&lt;table style="width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;   &lt;td&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-MprZYvObA6c/TaYTZavV1SI/AAAAAAAAAQ0/HiXDmcWYw7M/s1600/3dsmax_ScreenCap2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://3.bp.blogspot.com/-MprZYvObA6c/TaYTZavV1SI/AAAAAAAAAQ0/HiXDmcWYw7M/s320/3dsmax_ScreenCap2.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-64u9Oo0A8Oc/TaYTeAI2HaI/AAAAAAAAARA/qP0Ws5cbdOk/s1600/3dsmax_ScreenCap5.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://4.bp.blogspot.com/-64u9Oo0A8Oc/TaYTeAI2HaI/AAAAAAAAARA/qP0Ws5cbdOk/s320/3dsmax_ScreenCap5.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Rigging und Animation&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Nachdem das 3D Modell der Kuh fertig modelliert war, musste das nette Rind noch laufen lernen - die Kühe sollten schließlich in der Demo frei über die Weide traben und vom Ortungssystem überwacht werden.&lt;br /&gt;&lt;br /&gt;Mir wurde während der Arbeit bewusst, dass ich in Sachen &lt;a href="http://de.wikipedia.org/wiki/Rigging_(Animation)"&gt;Rigging &lt;/a&gt;und Animation noch viel dazulernen musste. Ich konnte zwar, wie im ersten Teil dieser Artikelserie gesagt, ohne Probleme fertige, organische Modelle anpassen, doch ein komplett jungfräuliches Modell selbst zu riggen und zu animieren, fiel mir doch reichlich schwer.&lt;br /&gt;Um menschenähnliche Gestalten zu riggen und zu animieren enthielt 3ds max 2009 zwar ein gut gemachtes Biped-Skelett, doch für eine Kuh, welche auf vier Beinen läuft, war das so nicht praktikabel. Aus dem Zweibeiner (Biped) musste ein Vierbeiner (Quadruped) inkl. Schwanz gebaut werden.&lt;br /&gt;&lt;br /&gt;&lt;table style="width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;   &lt;td&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-ihQJX8nlTKM/TaYTbdvDMkI/AAAAAAAAAQ4/WGfSVMDpqsM/s1600/3dsmax_ScreenCap3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://1.bp.blogspot.com/-ihQJX8nlTKM/TaYTbdvDMkI/AAAAAAAAAQ4/WGfSVMDpqsM/s320/3dsmax_ScreenCap3.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-Qwh0UvVkuFE/TaYTc6N6_0I/AAAAAAAAAQ8/muP986c1ssg/s1600/3dsmax_ScreenCap4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/-Qwh0UvVkuFE/TaYTc6N6_0I/AAAAAAAAAQ8/muP986c1ssg/s320/3dsmax_ScreenCap4.png" style="cursor: move;" width="320" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Nachdem diese Arbeit erledigt war, konnte dann schließlich und endlich das Skelett per Skin-Modifier an das Polygonmesh gekoppelt und die Kuh animiert werden.&lt;br /&gt;&lt;br /&gt;Auch hier zeigte sich: Der Umgang mit dem Skin-Modifier muss auch erstmal erlernt werden. Kaum dachte ich alle Vertices an die richtigen Bones mit der entsprechenden Gewichtung gemappt zu haben, schon wurde aus irgend einem Grund ein Polygon am Schwanz der Kuh verändert, wenn die Kuh ihren Kopf bewegte.&lt;br /&gt;&lt;br /&gt;Für die Bewegungsabläufe&amp;nbsp;(stehen, sitzen, laufen)&amp;nbsp;nutzte ich als Referenz verschiedene Videoportale, denn auch hier gilt: Normalerweise laufen keine Kühe durch Büroräume.&lt;br /&gt;Ich war sehr überrascht, wie viele Details&amp;nbsp;man&amp;nbsp;doch&amp;nbsp;an so einem unscheinbaren Tier entdeckt, wenn man es über einen längeren Zeitraum "intensiv" studiert. Sehr interessant fand ich die recht steife Vorwärtsbewegung der Hinterläufe (hat meiner Meinung nach Ähnlichkeit mit laufen auf Stelzen).&lt;br /&gt;&lt;br /&gt;Ob das Ergebnis überzeugt, könnt ihr euch in folgendem Video ansehen:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-bb4a656d8e85be19" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v20.nonxt4.googlevideo.com/videoplayback?id%3Dbb4a656d8e85be19%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1332815891%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D470DCF8C85D43FCC6BB8861DD1018F43030F5FFC.27E320D622034E99D05FBF5CFC639BFF05EC7CEE%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Dbb4a656d8e85be19%26offsetms%3D5000%26itag%3Dw160%26sigh%3Dmnvn2aJJw9akj2gvpI4pkj0inns&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v20.nonxt4.googlevideo.com/videoplayback?id%3Dbb4a656d8e85be19%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1332815891%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D470DCF8C85D43FCC6BB8861DD1018F43030F5FFC.27E320D622034E99D05FBF5CFC639BFF05EC7CEE%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Dbb4a656d8e85be19%26offsetms%3D5000%26itag%3Dw160%26sigh%3Dmnvn2aJJw9akj2gvpI4pkj0inns&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Die stehende und sitzende Kuh will ich an dieser Stelle nicht zeigen, da zum Einen die Stehpose recht langweilig und zum Anderen die Sitzpose eine Katastrophe ist! Bei letzterer zeigte sich, wie viel Know-How man doch für ein ansprechendes und wiederverwendbares Rigging-Ergebnis genötigt.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Das war Teil zwei der Artikelserie zu meinen Arbeiten am Fraunhofer IGD.&lt;br /&gt;Im nächsten Teil zeige ich dann mehr "technisches" Material.&lt;br /&gt;&lt;br /&gt;Kritik, Kommentare und Anregungen sind sehr willkommen!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-8605089505583420205?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/8605089505583420205/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/04/igd-meine-arbeiten-teil-2-was-machen.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/8605089505583420205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/8605089505583420205'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/04/igd-meine-arbeiten-teil-2-was-machen.html' title='IGD - Meine Arbeiten Teil 2 -- &quot;Was machen die Kühe?&quot;'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/03995455961655398583</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Q6LjKIoKeD4/S-kiQnpLnhI/AAAAAAAAAA4/k7NibtVmZWs/S220/3-S-E.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-22Txxm0SD6E/TaTH8lgHUtI/AAAAAAAAAQk/u4uAezGQk6k/s72-c/cow+%25284%2529.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-306240097073931803</id><published>2011-03-31T01:18:00.001+02:00</published><updated>2011-03-31T02:21:00.182+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3ds max'/><category scheme='http://www.blogger.com/atom/ns#' term='Grafik'/><category scheme='http://www.blogger.com/atom/ns#' term='Ambient Assisted Living'/><category scheme='http://www.blogger.com/atom/ns#' term='Photoshop'/><category scheme='http://www.blogger.com/atom/ns#' term='Fraunhofer'/><category scheme='http://www.blogger.com/atom/ns#' term='Nursing Service'/><category scheme='http://www.blogger.com/atom/ns#' term='IGD'/><category scheme='http://www.blogger.com/atom/ns#' term='Darmstadt'/><category scheme='http://www.blogger.com/atom/ns#' term='AAL'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Modelle'/><title type='text'>IGD - Meine Arbeiten Teil 1 -- Nursing Service</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;S&lt;/span&gt;&lt;/b&gt;eit August 2008 arbeite ich nun als Student beim &lt;a href="http://www.igd.fhg.de/"&gt;Fraunhofer-Institut für Graphische Datenverarbeitung (IGD) in Darmstadt&lt;/a&gt; und möchte euch nun einige meiner visuellen Arbeiten präsentieren.&lt;br /&gt;Dazu habe ich freundlicherweise die Erlaubnis erhalten einen Teil meiner Arbeit hier auf meinem Blog zu veröffentlichen und ein wenig über den Entstehungsprozess zu berichten.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Nursing Service - Storyboard-Actionsequenz&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Beginnen möchte ich die mehrteilige Präsentation mit einer in Bilderserie, welche für ein Projekt-Proposal ende des Jahres 2008 erstellt und genutzt wurde.&lt;br /&gt;&lt;br /&gt;Es handelt sich bei dieser Bilderserie um ein Aktionssequenz über fünf Bilder, welche einen eingehenden Anruf eines Altenpflegers bei einem älteren Herren, über die im Haus verfügbaren Multimedia-Geräte und die intelligente Lichtsteuerung, sowie die Absprache eines Termins zeigt.&lt;br /&gt;Speziell wird hier eine Videokonferenz über den Fernseher mit eingebauter Videokamera zwischen Altenpfleger und der zu betreuenden Person geführt.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Die Sequenz&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-N3h85Akcxa8/TZOVwarUd5I/AAAAAAAAAP4/7Hof3yPqp9Q/s1600/Szene01_01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-N3h85Akcxa8/TZOVwarUd5I/AAAAAAAAAP4/7Hof3yPqp9Q/s320/Szene01_01.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Ein älterer Herr sitzt zu Hause auf dem Sofa und liest bei gedimmtem Licht und eingeschalteter Leseleuchte ein Buch.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-bLyPv_muHeM/TZOVytYRbTI/AAAAAAAAAP8/8WtaY1iIPSk/s1600/Szene02_01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://3.bp.blogspot.com/-bLyPv_muHeM/TZOVytYRbTI/AAAAAAAAAP8/8WtaY1iIPSk/s320/Szene02_01.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Plötzlich schaltet sich der Fernseher ein und zeigt eine Nachricht an, welche einen Anruf vom Altenpfleger verkündet. Um die Aufmerksamkeit noch stärker auf sich zu lenken und die Art der aktuellen Situation zu verdeutlichen, wird zusätzlich ein blaues Licht hinter dem Fernseher aktiviert.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-0tKzWuPrnD4/TZOVz94t6hI/AAAAAAAAAQA/HnWP92AjlxM/s1600/szene03_02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/-0tKzWuPrnD4/TZOVz94t6hI/AAAAAAAAAQA/HnWP92AjlxM/s320/szene03_02.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Der ältere Herr ist mit dem Anruf einverstanden und tätigt eine Annahme-Geste, indem er seine Hand mit der Handfläche nach oben hochhebt. Dies hat zur Folge, dass die Raumbeleuchtung verstärkt...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-j1gd1RuLyX4/TZOV1MY10TI/AAAAAAAAAQE/i9x338ZYZz8/s1600/Szene04_01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-j1gd1RuLyX4/TZOV1MY10TI/AAAAAAAAAQE/i9x338ZYZz8/s320/Szene04_01.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;... und die Videokonferenz gestartet wird. Auf dem Fernseher sieht man den Altenpfleger (schönen Gruß an Felix! ;-) ), ein Bild des alten Herren, sowie die aktuelle Gesprächsdauer.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-vYXoDNxL_f8/TZOV2awyNEI/AAAAAAAAAQI/WxjM8gQYnuQ/s1600/Szene05_02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-vYXoDNxL_f8/TZOV2awyNEI/AAAAAAAAAQI/WxjM8gQYnuQ/s320/Szene05_02.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Irgendwann endet das Gespräch, der Altenpfleger legt auf und der ältere Herr kann sich in Ruhe eine Zusammenfassung der Gesprächsfakten ansehen. Da bei der Videokonferenz ein Termin verabredet wurde, wird auch diese Info angezeigt und der erfolgreiche Kalendereintrag mit einem grünen Licht bekräftigt.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Szenenaufbau / -information&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Die Erstellung der Inventarobjekte fing bereits kurz nach meiner Einstellung am IGD im Jahre 2008 an.&lt;br /&gt;Alle in der Szene befindlichen Inventarobjekte wurden von mir mit 3ds max angefertigt und wir werden sie noch in einem weiteren Post wiedersehen. Als Vorlage für die Schrankwand, den Tisch und die Couchgarnitur&amp;nbsp;diente mir&amp;nbsp;der damals aktuelle Katalog eines bekannten schwedischen Einrichtungskonzerns.&lt;br /&gt;Die Objekte bestehen aus über 200.000 Polygonen und sind durch den hohen Detailgrad auch für Nahaufnahmen geeignet.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-dwuBBzt58js/TZOjbuvrU-I/AAAAAAAAAQM/viRVoPCPDDI/s1600/Wohnzimmer_1440x900_20081105_01.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-dwuBBzt58js/TZOjbuvrU-I/AAAAAAAAAQM/viRVoPCPDDI/s320/Wohnzimmer_1440x900_20081105_01.png" width="320" /&gt;&lt;/a&gt;Als ich die Objekte angefangen habe zu modellieren, schien es mir, als hätte ich ewig Zeit zur Vollendung, da keine genauen Vorgaben getätigt wurden. Es wurden einfach "so viele Objekte wie möglich" gebraucht. Doch in der Branche sollte man sich auf so ein Gefühl nie verlassen, wie ich doch recht schnell merken sollte. Von jetzt auf gleich wurde mir Aufgetragen diese Storyboard-Szenen zu erstellen und plötzlich war die Ewigkeit sehr endlich. Ich hatte bis zu dem Augenblick zwar schon einige Objekte fertiggestellt, doch passten viele der Objekte thematisch nicht in diese Szene. Aus diesem Grund sieht man auch die doch recht leeren Regale in der Schrankwand. Eine wichtige Regel trat das erste Mal in mein berufliches Dasein: "Effizienz vor Perfektion". Jetzt hieß es schnell fertig werden, egal ob nun alle Details perfektioniert waren, oder nicht.&lt;br /&gt;&lt;br /&gt;Eines der wichtigsten Objekte in der Szene, das Modell des alten Herren, stammt im Original nicht von mir. Da die Entscheidung Szenen mit einer älteren virtuellen Person zu erstellen, relativ kurzfristige gefasst wurde, entschieden wir uns fertige Modelle aus einer gewerblich vertriebenen Modellsammlung zu lizenzieren.&lt;br /&gt;Dies sollte die Entwicklung des Strips beschleunigen. Da wir uns jedoch für eine recht günstige Modellvariante entschieden, war die Qualität nur suboptimal und ich musste noch viel Arbeit in die Optimierung investieren. Dadurch schrumpfte die erhoffte Zeitersparnis wieder stark zusammen.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-W3qh7WdZLpY/TZOks06_wcI/AAAAAAAAAQQ/fxPioXk3FaE/s1600/Feedback02.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-W3qh7WdZLpY/TZOks06_wcI/AAAAAAAAAQQ/fxPioXk3FaE/s320/Feedback02.png" width="320" /&gt;&lt;/a&gt;Die zwei größten Kritikpunkte waren:&lt;br /&gt;&lt;br /&gt;1. Das Mesh war wohl für Echtzeitanwendungen bestimmt und somit recht polygonarm, wodurch die Person etwas&amp;nbsp;deplatziert&amp;nbsp;in der Szene wirkte.&lt;br /&gt;&lt;br /&gt;2. Das &lt;a href="http://de.wikipedia.org/wiki/Rigging_(Animation)"&gt;Rigging&lt;/a&gt; war schlecht umgesetzt worden - das Skelett passte nicht richtig zum Mesh. Zusammen mit dem (zu) einfachen Mesh, zeigte unser armer Alter beim Bewegen nicht nur Anzeichen von Gicht, sondern auch schwere Frakturen in den Händen, Armen und Beinen auf. Das war jedoch nicht unsere Absicht!&lt;br /&gt;&lt;br /&gt;Es gab aber auch echte Vorzüge des gekauften Modells: Ich lernte nicht nur neue Kniffe beim ausbessern des&amp;nbsp;&lt;a href="http://de.wikipedia.org/wiki/Rigging_(Animation)"&gt;Riggings&lt;/a&gt;, sondern hatte auch die Erleichterung keine Texturen für das Modell anfertigen zu müssen - diese waren, im Kontrast zum Modell, erstaunlich gut.&lt;br /&gt;&lt;br /&gt;Die Komposition der Szene war dann der einfachste Teil. Mein Betreuer musste als Altenpfleger vor die Fotokamera und schließlich als Teil der Fernsehtextur herhalten. Die Objekte wurden platziert und es blieb sogar noch ein wenig Zeit dem alten Herren ein offenes Buch zu spendieren, anstelle ihm nur die geschlossenen Buchattrappen&amp;nbsp;in die Hand zu drücken.&lt;br /&gt;&lt;br /&gt;Für die Texturen kam eine Mischung aus selbst in Photoshop angefertigten und aus opensource Quellen stammenden Bilddateien zum Einsatz.&lt;br /&gt;&lt;br /&gt;Die Szene wird ausschließlich von&lt;a href="http://cg-india.com/tutorials/3dsmax-materials-adv.html"&gt; MR.Area Omni-Lights&lt;/a&gt; beleuchtet und mit MentalRay gerendert.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Damit wäre auch schon der erste Exkurs zu einer meiner Arbeiten am IGD Darmstadt beendet. Weitere werden folgen. Ich hoffe es gefällt euch. Falls ihr Kritik und / oder Anmerkungen habt, hinterlasst mir doch einfach einen Kommentar. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-306240097073931803?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/306240097073931803/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/03/igd-meine-arbeiten-teil-1-nursing.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/306240097073931803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/306240097073931803'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/03/igd-meine-arbeiten-teil-1-nursing.html' title='IGD - Meine Arbeiten Teil 1 -- Nursing Service'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/03995455961655398583</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Q6LjKIoKeD4/S-kiQnpLnhI/AAAAAAAAAA4/k7NibtVmZWs/S220/3-S-E.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-N3h85Akcxa8/TZOVwarUd5I/AAAAAAAAAP4/7Hof3yPqp9Q/s72-c/Szene01_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-8391598270379490202</id><published>2011-02-04T14:55:00.001+01:00</published><updated>2011-02-04T15:04:56.667+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='App'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Market'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Googles Blogger-App jetzt im Android-Market verfügbar!</title><content type='html'>&lt;div&gt;&lt;p&gt;Seit kurzem d&amp;#252;rfen sich Android-User auch unterwegs per Smartphone auf bequeme Weise ihrem Blogger-Blog widmen.&lt;/p&gt;&lt;p&gt;Google hat jetzt die hauseigene Blogger-App &amp;#252;ber den Android-Market freigegeben. Wie sie sich im Alltag schl&amp;#228;gt probiere ich gerade mit diesem Blogeintrag aus!&lt;/p&gt;&lt;p&gt;Die App ist sehr &amp;#252;bersichtlich und einfach aufgebaut. Beim ersten Start w&amp;#228;hlt man sein Google-Konto aus und die App holt sich die damit assoziierten Blogger-Blogs.&lt;/p&gt;&lt;p&gt;Die App von oben links nach unten rechts:&lt;/p&gt;&lt;p&gt;- Blogger-Logo&lt;br&gt;- Stift-Symbol zum erstellen eines neuen Blogeintrags.&lt;br&gt;- Listen&amp;#252;bersicht alles (mobiler!!!) Blogeintr&amp;#228;ge und -entw&amp;#252;rfe&lt;br&gt;- Darunter ein Dropdown-Men&amp;#252; zur Auswahl der Blogs&lt;br&gt;- Ein Eingabefeld f&amp;#252;r die &amp;#220;berschrift des Posts&lt;br&gt;- Das Post-Eingabefeld an sich.&lt;/p&gt;&lt;p&gt;Jetzt beginnen die Goodies, welche hoffentlich mit weiteren Versionen reicher ausfallen.&lt;/p&gt;&lt;p&gt;Momentan haben wir:&lt;/p&gt;&lt;p&gt;- M&amp;#246;gleichkeit zur Aufnahme von Bildern &amp;#252;ber die Kamera&lt;br&gt;- M&amp;#246;glickeit zur Auswahl eines Galleriebildes&lt;/p&gt;&lt;p&gt;Dann folgt noch ein Label-Feld, sowie die M&amp;#246;glichkeit den eigenen Standort frei zu geben, an dem man den Blogeintrag erstellt hat. Gr&amp;#246;sstes Manko welches mir eben aufgefallen ist:&lt;br&gt;Man kann nur aus einer vorhandenen Liste aus Vorschl&amp;#228;gen den Standort ausw&amp;#228;hlen, aber diesen nicht direkt hier editieren bzw. Alternativen suchen. Hoffentlich wird das noch erweitert.&lt;/p&gt;&lt;p&gt;Letztendlich folgt noch ein Button zur Ver&amp;#246;ffentlichung, welchen ich gleich mal bet&amp;#228;tigen werde, ein Speichern-Button zum manuellen sichern eures Entwurfes und ein L&amp;#246;sch-Button.&lt;/p&gt;&lt;p&gt;Die App speichert euren Fortschritt auch automatisch, sobald die App bzw. die Editor-Activity den Fokus verliert - man z.B. in die Listenansicht wechselt, oder auf den Homescreen, etc.&lt;/p&gt;&lt;p&gt;Noch ist die App komplett auf Englisch, aber aufgrund der wenigen Bedienelemente auch f&amp;#252;r Leute ohne Englisch-Kenntnisse in meinen Augen leicht bedienbar.&lt;/p&gt;&lt;p&gt;Die App kann man im Android-Market &amp;#252;ber euer Smartphone, oder ganz neu, &amp;#252;ber die Android-Market-Website auf dem Computer direkt auf das Smartphone schicken lassen und ist auch komplett kostenlos - wie alle Apps direkt von Google.&lt;/p&gt;&lt;p&gt;Hier gehts zum Market: &lt;/p&gt;&lt;p&gt;http://market.android.com/details?id=com.google.android.apps.blogger&lt;/p&gt;&lt;p&gt;- Edit: URLs werden leider nicht automatisch in Links konvertiert... Ich versuche es mal mit HTML-Tags (leider habe ich in der App noch keine Text-Edit-Werkzeuge gefunden, somit sind zur Zeit nur ganz formatlose Texte ohne grossen Aufwand erstellbar)&lt;/p&gt;&lt;p&gt;- Edit #2: Auch HTML wird nicht erkannt, sondern direkt als Text ausgegeben... :-(&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-8391598270379490202?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/8391598270379490202/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/02/googles-blogger-app-jetzt-im-android.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/8391598270379490202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/8391598270379490202'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/02/googles-blogger-app-jetzt-im-android.html' title='Googles Blogger-App jetzt im Android-Market verfügbar!'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/07646398340097258899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Et1dpF-eLco/TN_CPs40DlI/AAAAAAAAAAQ/R8w4IuU-bqI/S220/3-S-E.png'/></author><thr:total>0</thr:total><georss:featurename>Stadtmission, Merckstraße 24, 64283 Darmstadt, Germany</georss:featurename><georss:point>49.87382 8.66149</georss:point></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-5064934359797514742</id><published>2011-02-01T10:12:00.005+01:00</published><updated>2011-02-14T16:58:09.252+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Schach'/><category scheme='http://www.blogger.com/atom/ns#' term='Super Mario'/><category scheme='http://www.blogger.com/atom/ns#' term='Grafik'/><category scheme='http://www.blogger.com/atom/ns#' term='Photoshopshop CS5'/><category scheme='http://www.blogger.com/atom/ns#' term='Wüste'/><category scheme='http://www.blogger.com/atom/ns#' term='Polygone'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Modelle'/><category scheme='http://www.blogger.com/atom/ns#' term='Fass'/><category scheme='http://www.blogger.com/atom/ns#' term='3ds studio max'/><category scheme='http://www.blogger.com/atom/ns#' term='Mario Kart'/><category scheme='http://www.blogger.com/atom/ns#' term='Nintendo'/><category scheme='http://www.blogger.com/atom/ns#' term='Goomba'/><title type='text'>Sunset of Sunrise - Ein Bilderbuch der Jahre 2007 und früher...</title><content type='html'>Mit diesem Post führe ich nun zu Ende, was im Grunde schon seit langer Zeit beendet scheint.&lt;br /&gt;&lt;br /&gt;Ich habe in den früheren Jahren öfters an anderen Projekten gearbeitet und vieles ausprobiert.&lt;br /&gt;Eines dieser Projekte war mein alter Blog "Sunrise" auf dem ich meine privaten 3D-Modelle und 3D-Graphik-Collagen präsentiert habe.&lt;br /&gt;Leider wurde dieses Projekt zu einer Zeit von mir ins Leben gerufen, in der ich keine Zeit dafür gefunden habe. So geschah es, dass ich auch bald das Interesse daran verlor und der Blog auch keine neuen Inhalte mehr spendierte.&lt;br /&gt;&lt;br /&gt;Zusätzlich zum mangelnden Interesse kam noch hinzu, dass ich die Blog-Software selbst administrieren musste - sie ist mittlerweile veraltet und wird von Spam-Bots überrannt! ;-)&lt;br /&gt;&lt;br /&gt;Damit ich den alten Blog offline nehmen, aber die "Schätze" der damaligen Zeit retten kann, präsentiere ich euch nun die wenigen Arbeiten, welche ihren Weg auf meinen alten Blog gefunden haben.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Et1dpF-eLco/TUfCiMKKbDI/AAAAAAAAADM/N2wDBtgDSoQ/s1600/MarioKart_HDR_01.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_Et1dpF-eLco/TUfCiMKKbDI/AAAAAAAAADM/N2wDBtgDSoQ/s320/MarioKart_HDR_01.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Das erste 3D Modell stammt von Anfang 2000 und ist eine Hommage an eines meiner lieblings Videospiele vergangener Tage:&lt;br /&gt;&lt;br /&gt;Nintendos Super Mario Kart&lt;br /&gt;&lt;br /&gt;Nebenbei zeigen die Renderings auch das Go-Kart welches mir persönlich noch am besten gefiel (Version SuperNintendo / Nintendo 64).&lt;br /&gt;&lt;br /&gt;Alles was danach kam war irgendwie albern... ^_^&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfDz7XUCqI/AAAAAAAAADc/XUkTmM1AYN8/s1600/MarioKart01_800x600.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfDz7XUCqI/AAAAAAAAADc/XUkTmM1AYN8/s320/MarioKart01_800x600.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Einmal von vorne mit eingeschlagenem Lenkrad...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Et1dpF-eLco/TUfD0CMLlhI/AAAAAAAAADg/nteC_YYcrCY/s1600/MarioKart02_800x600.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_Et1dpF-eLco/TUfD0CMLlhI/AAAAAAAAADg/nteC_YYcrCY/s320/MarioKart02_800x600.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;... und die Ansicht von hinten... auch mit eingeschlagenem Lenkrad! -.-&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Et1dpF-eLco/TUfFzRdgFrI/AAAAAAAAADk/_xZuKn6Trdk/s1600/Goomba3D.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_Et1dpF-eLco/TUfFzRdgFrI/AAAAAAAAADk/_xZuKn6Trdk/s320/Goomba3D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Und wenn wir schon bei Videospielen sind:&lt;br /&gt;&lt;br /&gt;Ja, ich bin ein wenig Nintendo-geschädigt. Anders als Sony und Microsoft hat mich Nintendos Videospielewelt immer fasziniert und inspiriert. Nur Sega konnte da mithalten - was aber nicht bedeuten soll, dass Sony und Microsoft schlechte Spiele / Konsolen produzieren, aber mir fehlt da irgendwie dieses gewisse Etwas. &lt;br /&gt;&lt;br /&gt;Na ja, zurück zum Thema:&lt;br /&gt;&lt;br /&gt;Was wäre Nintendo ohne Super Mario? Gute Frage...&lt;br /&gt;Aber noch viel wichtiger: Was wäre Super Mario ohne Gegner, auf die er springen kann? Wahrscheinlich noch dicker... Einer seiner bekanntesten personal Trainer ist sehr putzige Goomba.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfGAqG1juI/AAAAAAAAADo/jIfU7YYyLrg/s1600/goomba_highpoly.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="236" src="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfGAqG1juI/AAAAAAAAADo/jIfU7YYyLrg/s320/goomba_highpoly.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Am Anfang stand die Zeichnung... danach folgte das Nachmodellieren - zuerst möglichst einfach und low-Poly wurden die wichtigsten Ecken und Kanten ausgearbeitet...&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfGBV-M-cI/AAAAAAAAADs/QNYQrtTDpbk/s1600/goomba_lowpoly.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="236" src="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfGBV-M-cI/AAAAAAAAADs/QNYQrtTDpbk/s320/goomba_lowpoly.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;... danach mittels Mesh-Smooth die Sache abrundet.&lt;br /&gt;&lt;br /&gt;Mit welcher 3d studio max Version ist das modelliert habe weiß ich aber leider nicht mehr!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Et1dpF-eLco/TUfGBvuP2cI/AAAAAAAAADw/_-8h4AE5Rt0/s1600/testrendering02.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_Et1dpF-eLco/TUfGBvuP2cI/AAAAAAAAADw/_-8h4AE5Rt0/s320/testrendering02.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Hier noch eine Matching-Ansicht bei der man gut erkennt, dass ich einigermaßen akkurat meine Zeichnung getroffen habe!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Et1dpF-eLco/TUfIxKfKIiI/AAAAAAAAAD0/_Eu8EHq3rH4/s1600/02.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="256" src="http://4.bp.blogspot.com/_Et1dpF-eLco/TUfIxKfKIiI/AAAAAAAAAD0/_Eu8EHq3rH4/s320/02.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Als Nächstes folgt dann ein 3D Modell eines Schachspiels. Vieles gibt es dazu nicht zu sagen.&lt;br /&gt;&lt;br /&gt;Alle Spielfiguren und das Brett sind self-made. Sogar das 3-S-E Logo ist zu erkennen.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Et1dpF-eLco/TUfIyH6q2VI/AAAAAAAAAD4/3FPUwRdubeM/s1600/03_wire.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_Et1dpF-eLco/TUfIyH6q2VI/AAAAAAAAAD4/3FPUwRdubeM/s320/03_wire.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Hier die Nahansicht der Spielfiguren...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfIzbklc-I/AAAAAAAAAD8/GEZobanTnLU/s1600/04_wire.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfIzbklc-I/AAAAAAAAAD8/GEZobanTnLU/s320/04_wire.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;... selbe Ansicht als Drahtgittermodell-Version.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Et1dpF-eLco/TUfJ98yzkkI/AAAAAAAAAEA/vRLYjoUmYdo/s1600/barre.bmp" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_Et1dpF-eLco/TUfJ98yzkkI/AAAAAAAAAEA/vRLYjoUmYdo/s320/barre.bmp" style="cursor: move;" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So, dieses Modell ist, wie man hoffentlich erkennt, ein Fass.&lt;br /&gt;&lt;br /&gt;Leider wurde weder das Fass noch die Szene dazu jemals fertig. Nichtsdestotrotz habe ich bei der Erstellung des Fasses ein paar nette Techniken beim Modellieren gelernt.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfL61VRfZI/AAAAAAAAAEQ/T0r-BLtFHz8/s1600/Dessert09_psp.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfL61VRfZI/AAAAAAAAAEQ/T0r-BLtFHz8/s320/Dessert09_psp.jpg" style="cursor: move;" width="320" /&gt;&lt;/a&gt;Dann noch ein Rendering einer&amp;nbsp;Wüstenszene.&lt;br /&gt;Der morgendliche Nebel wurde mit Photoshop nachträglich eingefügt.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfL4CeKREI/AAAAAAAAAEM/e5iNznJ40NM/s1600/Dessert09_wire.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_Et1dpF-eLco/TUfL4CeKREI/AAAAAAAAAEM/e5iNznJ40NM/s320/Dessert09_wire.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Das Modell selbst ist eine 3ds studio max Szene.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_Et1dpF-eLco/TUfKlNfH3DI/AAAAAAAAAEI/8yqCZapZch0/s1600/SK_Hofgeismar.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_Et1dpF-eLco/TUfKlNfH3DI/AAAAAAAAAEI/8yqCZapZch0/s320/SK_Hofgeismar.jpg" width="320" /&gt;&lt;/a&gt;Und zu guter Letzt noch ein Logo für einen ehemaligen Kommilitonen, welcher ein Pro im Schachsport ist.&lt;br /&gt;&lt;br /&gt;Dieses Logo sollte seinem Heimatverein dienen, ob es je benutzt wurde? Ich weiß es nicht.&lt;br /&gt;&lt;br /&gt;Auch dieses Logo ist schon in die Jahre gekommen und heute hätte ich vieles anders gemacht. Erstellt wurde es mit 3ds max und nachbearbeitet in Photoshop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-5064934359797514742?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/5064934359797514742/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/02/sunset-of-sunrise-ein-bilderbuch-der.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/5064934359797514742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/5064934359797514742'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/02/sunset-of-sunrise-ein-bilderbuch-der.html' title='Sunset of Sunrise - Ein Bilderbuch der Jahre 2007 und früher...'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/07646398340097258899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Et1dpF-eLco/TN_CPs40DlI/AAAAAAAAAAQ/R8w4IuU-bqI/S220/3-S-E.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Et1dpF-eLco/TUfCiMKKbDI/AAAAAAAAADM/N2wDBtgDSoQ/s72-c/MarioKart_HDR_01.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-361172193167914060</id><published>2011-01-28T21:40:00.002+01:00</published><updated>2011-02-14T16:56:37.269+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fotografie'/><category scheme='http://www.blogger.com/atom/ns#' term='Canon'/><category scheme='http://www.blogger.com/atom/ns#' term='Nikon'/><category scheme='http://www.blogger.com/atom/ns#' term='D3100'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='550D'/><title type='text'>And the winner is... Canon 550D...</title><content type='html'>Im Blogeintrag vom &lt;a href="http://3-s-e-dev.blogspot.com/2010/12/eine-cam-fur-alle-falle.html"&gt;28.12.2010&lt;/a&gt; habe ich meine Gedanken geäußert eine ordentliche Kamera erwerben zu wollen und ich schwankte zwischen der &lt;a href="http://www.amazon.de/gp/product/B00403MA4M?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B00403MA4M"&gt;Nikon D3100&lt;/a&gt;, welche eine waschechte Einsteiger-DSLR sein soll und Canons fast schon semi-professioneller &lt;a href="http://www.amazon.de/gp/product/B0037KM2IS?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B0037KM2IS"&gt;EOS 550D&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Wie die Überschrift schon verrät habe ich mich letztendlich für die &lt;a href="http://www.amazon.de/gp/product/B0037KM2IS?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B0037KM2IS"&gt;EOS 550D&lt;/a&gt; entschieden.&lt;br /&gt;&lt;br /&gt;Die größten Kopfschmerzen bereitete mir der Preis!&lt;br /&gt;Natürlich: Für eine DSLR sind 600 bzw. 700 Euro keine Hausnummer und jeder ernst zu nehmende Fotograf lacht angesichts dieses Betrages, da wohl sein letztes Objektiv diese Summe erreich, oder gar überschritten hat.&lt;br /&gt;&lt;br /&gt;Doch ich bin erstens kein ernst zu nehmender Fotograf und zweitens noch Student, der für diese Art von Spielzeug lange sparen muss!&lt;br /&gt;&lt;br /&gt;Nichtsdestotrotz wollte ich keine Kamera kaufen, welche vielleicht nach einiger Übung schon an ihre Grenzen stößt. Nachdem genügend Informationen zusammengesucht und viele Gespräche mit Leuten, welche sich mit der Materie auskennen, geführt worden waren, stand fest: Die &lt;a href="http://www.amazon.de/gp/product/B0037KM2IS?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B0037KM2IS"&gt;Canon EOS 550D&lt;/a&gt; soll es sein!&lt;br /&gt;&lt;br /&gt;Ich muss noch dazu sagen, dass es einen weiteren Punkt gab, wieso ich dann doch sehr spontan den Kauf getätigt habe und worüber ich aktuell auch sehr froh bin nicht länger gezögert zu haben: Die M.-Markt-Einkaufspreis-Aktion vom Januar 2011!&lt;br /&gt;&lt;br /&gt;Die &lt;a href="http://www.amazon.de/gp/product/B0037KM2IS?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B0037KM2IS"&gt;Canon EOS 550D&lt;/a&gt; wurde letzte Woche vom besagten Elektronikhandel mit in den Aktionsraum genommen und kostete "unglaubliche" 642,11 Euro inkl. &lt;a href="http://www.amazon.de/gp/product/B000V9F3AW?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B000V9F3AW"&gt;Bildstabilisiertem CANON EF-S 18-55mm universal Zoom-Objektiv&lt;/a&gt; (aktuell ist der Preis wieder um gut 40 Euro gestiegen!!!).&lt;br /&gt;&lt;br /&gt;Glücklicherweise beobachtete auch &lt;a href="http://www.amazon.de/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.de%2F%3Fie%3DUTF8%26ref_%3Dgno_prmlogo&amp;site-redirect=de&amp;tag=3sedevblo-21&amp;linkCode=ur2&amp;camp=1638&amp;creative=19454"&gt;Amazon.de&lt;/a&gt; diese Preisentwicklung ganz genau. So geschah es, dass auch dort die &lt;a href="http://www.amazon.de/gp/product/B0037KM2IS?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B0037KM2IS"&gt;Canon EOS 550D&lt;/a&gt; zu genau gleichem Preis gelistet wurde.&lt;br /&gt;&lt;br /&gt;Ein Tipp nebenbei: Falls ihr über den Kauf eines Gerätes liebäugelt und seht, dass besagte Elektronik-Handelskette Angebote führt, überprüft den &lt;a href="http://www.amazon.de/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.de%2F%3Fie%3DUTF8%26ref_%3Dgno_prmlogo&amp;site-redirect=de&amp;tag=3sedevblo-21&amp;linkCode=ur2&amp;camp=1638&amp;creative=19454"&gt;Amazon.de&lt;/a&gt;-Preis. Falls ihr wie ich gerne online einkauft, ist das dann vielleicht die beste Zeit dazu!&lt;br /&gt;&lt;br /&gt;Gut für uns Kunden, gut für mich! Also auf und gekauft!&lt;br /&gt;&lt;br /&gt;Und was soll ich sagen? Von dem was ich bislang mit der Kamera angestellt habe und soweit ich das einschätzen kann, haben die vielen Tests, die ich zur &lt;a href="http://www.amazon.de/gp/product/B0037KM2IS?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B0037KM2IS"&gt;Canon EOS 550D&lt;/a&gt; gelesen habe nicht gelogen! Weiteres super Feature, was bei den Mitbewerbern von Canon Geld kostet und hier direkt mitgeliefert wird: Die Kamera lässt sich bequem vom PC aus bedienen und einstellen! Das sollte besonders den Aufnahmen für diesen Blog zu Gute kommen!&lt;br /&gt;&lt;br /&gt;Sobald ich mich etwas in die Materie eingearbeitet und auch eine ausreichende Anzahl an (vernünftigen) Bildern geschossen habe, werde ich hier ein kleines Review schreiben. Da ich weder ein Profi-Fotograf bin, noch das nötige Equipment und die Erfahrung besitze, wird das Review wohl nur aus einigen persönlichen Eindrücken und vielen Fotos bestehen! ;) &lt;br /&gt;&lt;br /&gt;Aber hey, jeder fängt mal klein an und im Netz gibt es wirklich mehr als genug Testberichte (schriftlich und als Videobericht) zur &lt;a href="http://www.amazon.de/gp/product/B0037KM2IS?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B0037KM2IS"&gt;Canon EOS 550D&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-361172193167914060?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/361172193167914060/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/01/and-winner-is-canon-550d.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/361172193167914060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/361172193167914060'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/01/and-winner-is-canon-550d.html' title='And the winner is... Canon 550D...'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/03995455961655398583</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Q6LjKIoKeD4/S-kiQnpLnhI/AAAAAAAAAA4/k7NibtVmZWs/S220/3-S-E.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-7650086912175342049</id><published>2011-01-23T02:10:00.003+01:00</published><updated>2011-01-23T02:12:35.826+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='readLine()'/><category scheme='http://www.blogger.com/atom/ns#' term='BufferReader'/><category scheme='http://www.blogger.com/atom/ns#' term='Threads'/><title type='text'>Java - Nicht blockierende Konsolen-Eingabe mit BufferReader</title><content type='html'>Es ist schon erstaunlich, da sitze ich am ersten richtigen Tutorial / Artikel für meinen Entwicklerblog und möchte euch auf einfache Art und Weise etwas über Determinismus in einem Spiele-Mail-Loop erzählen, da hält mich doch Tatsächlich die Eingabe eines beliebigen Zeichens von der Tastatur eine Stunde lang auf. Man möchte meinen, dass in Zeiten von Touchscreens, Gestenerkennung und den ersten Schritten in der mentalen Steuerung von Programmen, eine simple Tastatureingabe in der Kommandozeile, keine zwei Zeilen Quellcode erfordert.&lt;br /&gt;&lt;br /&gt;Weit gefehlt... Und somit ist mein erster richtiger Artikel dieser hier geworden. Das ist einerseits auch nicht verkehrt, andererseits auch nötig, damit im zweiten Artikel zum Thema "Prinzipien einer deterministischen Spiele-Main-Loops" jeder versteht, wie die Tastatureingabe realisiert wurde. Also los!&lt;br /&gt;&lt;br /&gt;Da ich den Quellcode für den Artikel mit Java schreibe (da ich z.Z. für Android programmiere - woraus auch die Ideen für die nachfolgenden Blog-Einträge stammen - liegt es nahe Java zu benutzen), habe ich nach einer einfachen Art gesucht Zeichen von der Tastatur auszulesen. Die Java-Klasse "BufferReader" gibt hierfür eine sehr einfache Art der Eingabe von Strings vor.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;import java.io.BufferedReader;&lt;br /&gt;import java.io.InputStreamReader;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;BufferedReader in = new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;String input = this.in.readLine();&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;Das Problem: &lt;/b&gt;&lt;/span&gt; Das Auslesen der Keyboard-Eingabe mit readLine() ist blockierend, sprich: Sobald das readLine() ausgeführt wird, verharrt das Programm in dieser Methode bis man auf der Tastatur die eingegebene Zeile mit Enter abschließt. Erst dann kehrt der Programmzeiger zurück und der Quellcode unterhalb von readLine() wird ausgeführt.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;Die Motivation: &lt;/b&gt;&lt;/span&gt; Diese Art der Ausführung ist nicht gerade vorteilhaft, wenn man z.B. einen Game-Main-Loop programmieren möchte, wie ich es für den nächsten Artikel vorhabe. So ein Game-Main-Loop soll ja möglichst schnell und ohne Unterbrechungen immer wieder durchlaufen. Wenn ihr ein z.B. einen Shooter spielt, wollt ihr ja schließlich auch nicht, dass sich eure Figur, die Gegner, die zerstörbaren Objekte etc. erst dann um einen kleinen Schritt verändern / bewegen, wenn ihr auf die Enter-Taste drückt. Dass soll jetzt nur ein Beispiel sein, man könnte das noch auf vieles andere übertragen. Der Kern der Aussage ist jedoch, dass es unvorteilhaft ist, wenn das Programm augenscheinlich stehen bleibt und sich solange nichts mehr tut, bis man Enter betätigt hat.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;Die Lösung: &lt;/b&gt;&lt;/span&gt; Ich habe mich im Internet umgeschaut und habe auf eine ein bis zwei Zeilen lange Lösung gehofft. Leider waren fast alle brauchbaren Lösungen auf Server-Klient-Applikationen beschränkt und es wurde geraten einfach den Socket zu schließen um aus readLine() raus zu kommen. Total nutzlos für mein Vorhaben, weil mein deterministischer Game Loop keine Sockets braucht! ;)&lt;br /&gt;Also habe ich, entgegen meiner vorhergehenden Planung im ersten Game-Mail-Loop Artikel diese Technik nicht anwenden zu wollen, die Sache mit Threads gelöst.&lt;br /&gt;&lt;br /&gt;Kontrekt heißt das, dass ich den BufferReader in eine eigene Klasse ausgelagert habe, welche von der Thread-Klasse erbt und readLine() in der run() Methode aufruft:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;import java.io.BufferedReader;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.InputStreamReader;&lt;br /&gt;&lt;br /&gt;// Für die nicht blockierende Keyboard-Abfrage erben wir von der Thread-Klasse&lt;br /&gt;class NonBlockingBufferReader extends Thread {&lt;br /&gt;&lt;br /&gt;    // Erzeigen ein BufferReader-Objekt "in"&lt;br /&gt;    private BufferedReader in = new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;&lt;br /&gt;    // Deklarieren eine String-Variable "input", welche unsere Keyboard-Eingabe speichert&lt;br /&gt;    private String input = "";&lt;br /&gt;&lt;br /&gt;    // Diese Variable speichert, ob der Hauptschleifendurchlauf in der run() Methode &lt;br /&gt;    // wiederholt werden soll&lt;br /&gt;    private boolean running = true;&lt;br /&gt;&lt;br /&gt;    // Die von der Thread-Oberklasse (bzw. vom Runnable-Interface) vorgegebene run() Methode &lt;br /&gt;    // müssen wir hier noch überschreiben / implementieren.&lt;br /&gt;    // Die run() Methode ist genau die Methode, welche in einem neuen Thread durchgeführt wird.&lt;br /&gt;    // Sobald die Ausführung am Ende der run() Methode angekommen ist und diese verlässt, wird &lt;br /&gt;    // auch der Thread beendet.&lt;br /&gt;    @Override&lt;br /&gt;    public void run(){&lt;br /&gt;&lt;br /&gt;        // Damit der Thread nicht nach einem Durchlauf beendet wird, &lt;br /&gt;        // haben wir hier eine (pseudo) Endlosschleife, welche von der oben deklarierten &lt;br /&gt;        // und initialisierten running-Variable gesteuert wird.&lt;br /&gt;        while(this.running){&lt;br /&gt;            try{&lt;br /&gt;                // Hier wird das böse readLine() aufgerufen!&lt;br /&gt;         this.input = this.in.readLine();&lt;br /&gt;            }catch(IOException e){&lt;br /&gt;                e.printStackTrace();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        System.out.println("## Closing NonBlockingReader! ##");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    // Wir brauchen noch eine Methode, welche uns die ausgelesene Keyboard-Ausgabe &lt;br /&gt;    // aus dem Thread zurückgibt, um ihn im Hauptprogramm bzw. Hauptthread &lt;br /&gt;    // verarbeiten zu können.&lt;br /&gt;    // Diese Methode ist synchronisiert, damit sie nicht auf die input-Variable zugreift,&lt;br /&gt;    // während diese z.B. gerade von readLine() beschrieben wird - weil dann gibts Bit-Salat.&lt;br /&gt;    public synchronized String getInput(){&lt;br /&gt;        String tempInput = "";&lt;br /&gt;        if(this.input != null){&lt;br /&gt;            tempInput = this.input;&lt;br /&gt;            this.input = "";&lt;br /&gt;        }&lt;br /&gt;        return tempInput;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Diese Klasse enthält fast alles, was man braucht um im Hauptprogrammteil die Tastatureingabe auslesen zu können, ohne dass dort auf die Rückkehr aus readLine() gewartet werden muss.&lt;br /&gt;&lt;br /&gt;Die Klasse erweitert die / erbt von der Thread-Klasse. Man könnte auch einfach das Runnable-Interface implementieren, doch dann erfordert das starten des Threads mehr Aufwand. Ich persönlich mag das erben von der Thread-Klasse lieber.&lt;br /&gt;&lt;br /&gt;In beiden Fällen muss die run() Methode überschrieben / implementiert werden. Diese Methode wird beim Start des Threads ein Mal ausgeführt und der Thread danach ad acta gelegt. Damit das hier nicht passiert, weil wir ja dauerhaft unsere Keyboard-Eingabe abgreifen wollen, läuft in der run() Methode eine Endlosschleife. Im Quellcode habe ich im Kommentar geschrieben, dass es sich um eine Pseudo-Endlosschleife handelt. Das liegt daran, dass sie sehr wohl irgendwann aufhört, im Idealfall wenn die boolsche Variable "running" auf false gesetzt wird (oder euer Rechner abschmiert, ihr die Java-VM tötet etc. - das ist aber nicht der Idealfall).&lt;br /&gt;Diese running-Variable wird jetzt noch nicht verändert, aber dazu kommen wir noch.&lt;br /&gt;&lt;br /&gt;Die Nutzung dieser Klasse sieht z.B. so aus:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;...&lt;br /&gt;&lt;br /&gt;public static void main(String[] args){&lt;br /&gt;&lt;br /&gt;    // Erzeugen des nichtblockierenden BufferReader Objektes&lt;br /&gt;    NonBlockingBufferReader readKey = new NonBlockingBufferReader();&lt;br /&gt;&lt;br /&gt;    // Starten des Threads&lt;br /&gt;    readKey.start();&lt;br /&gt;&lt;br /&gt;    // Auslesen der Eingabe&lt;br /&gt;    String input = readKey.getInput();&lt;br /&gt;&lt;br /&gt;    // Ausgabe der Eingabe auf der Konsole&lt;br /&gt;    System.out.println("Input was: " + input);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Diese Nutzung ist natürlich nur ein Beispiel, wie die Klasse bzw. in welcher Reihenfolge die Methoden der Klasse zu nutzen sind. Im Praxiseinsatz würde die Main-Methode da druchrasen und das Programm wäre schneller beendet als ihr gucken könnt.&lt;br /&gt;&lt;br /&gt;... beendet? Na ja, nicht ganz...&lt;br /&gt;&lt;br /&gt;Obwohl die Main-Methode nach der Konsolenausgabe beendet ist, so läuft der Thread der NonBlockingBufferReader-Klasse noch munter weiter.&lt;br /&gt;&lt;br /&gt;Um den Herr zu werden reicht es leider nicht aus einfach die running-Variable auf false zu setzen. Sobald der Programmzeiger die readLine() Methode erreicht hat, verschwindet er darin und wartet auf die nächste Zeileneingabe. Somit stimmt es nicht ganz, dass der Thread "munter weiter"-läuft. Er hängt wieder in readLine() fest. Das ist solange nicht schlimm, wie das Hauptprogramm irgendwas macht, weil sobald man etwas auf der Tastatur eingibt und Enter drückt, wird ja die input-Variable befüllt und kann vom Hauptprogramm wie oben gezeigt ausgelesen werden. Wenn aber das Hauptprogramm schon längst durch ist, verschlingt der Thread nur Resourcen und man hat ein super Leck geschaffen.&lt;br /&gt;Die running-Variable hilft euch also nur, wenn der Programmzeiger gerade aus der readLine() Methode zurückkehrt und ihr genau jetzt über eine externe Methode die Variable ändert, bevor die while-Schleifenbedingung evaluiert wird.&lt;br /&gt;Das ist allerdings ein Glücksspiel und absolut an der Praxis vorbei.&lt;br /&gt;&lt;br /&gt;Das andere Problem: Die genutzte BufferReader-Klasse hat keine Methode, welche readLine() vorzeitig abbrechen lässt. Zwar gibt es die "close()" Methode, doch diese beendet die Ausführung nicht. Man muss also mindestens noch ein Mal etwas eingeben, damit readLine() zurückkehrt. Dann gibts aber eine unschöne Exception und das kann nicht das Ziel eines sauberen Programms sein.&lt;br /&gt;&lt;br /&gt;Meine Lösung sieht deshalb so aus:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;import java.io.BufferedReader;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.InputStreamReader;&lt;br /&gt;&lt;br /&gt;class NonBlockingBufferReader extends Thread {&lt;br /&gt;    private BufferedReader in = new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;    private String input = "";&lt;br /&gt;&lt;br /&gt;    // Sobald dieser String eingegeben wird, wird der Thread beendet&lt;br /&gt;    private String interruptKey = "x";&lt;br /&gt;&lt;br /&gt;    private boolean running = true;&lt;br /&gt;&lt;br /&gt;    // Mit diesem Konstruktor wird nicht nur das Objekt erzeugt, sondern&lt;br /&gt;    // auch der String festgelegt, mit dem die Ausführung des Thread beendet wird.&lt;br /&gt;    public NonBlockingBufferReader(String interruptKey) {&lt;br /&gt;        this.interruptKey = interruptKey;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    public void run(){&lt;br /&gt;        while(this.running){&lt;br /&gt;            try{&lt;br /&gt;                this.input = this.in.readLine();&lt;br /&gt;&lt;br /&gt;                // Ist der eingegebene String gleich dem String für das Beenden,&lt;br /&gt;                // so wird der Thread beendet!&lt;br /&gt;                if(this.input.equalsIgnoreCase(this.interruptKey)){&lt;br /&gt;                    this.in.close();&lt;br /&gt;                    this.running = false;&lt;br /&gt;  }&lt;br /&gt;            }catch(IOException e){&lt;br /&gt;                e.printStackTrace();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        System.out.println("## Closing NonBlockingReader! ##");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public synchronized String getInput(){&lt;br /&gt;        String tempInput = "";&lt;br /&gt;        if(this.input != null){&lt;br /&gt;            tempInput = this.input;&lt;br /&gt;            this.input = "";&lt;br /&gt;        }&lt;br /&gt;        return tempInput;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Im Grunde ist das die erste Implementierung von oben. Die wesentlichen Änderungen sind hier das Einführen einer neuen Variable "interruptKey".&lt;br /&gt;&lt;br /&gt;Diese Variable hält eine Zeichenkette (Eingabezeile) welche von der Tastatur durch readLine() eingelesen wird. Nachdem readLine() die Tastatureingabe gelesen hat, wird die Eingabe mit der interruptKey-Variable verglichen. Sind beide gleich, so werden zum einen alle Resourcen des BufferReaders durch close() befreit (zu dem Zeitpunkt wird readLine() ja &lt;b&gt;nicht&lt;/b&gt; ausgeführt!) und die running-Variable auf false gestellt.&lt;br /&gt;&lt;br /&gt;Beim nächsten Durchlauf der While-Schleifenbedingung evaluiert running zu false und die Schleife bricht ab. Dadurch verfängt sich nichts mehr in readLine() und die run() Methode erreicht ihr Ende kurz nachdem auf der Konsole die Nachricht ausgegeben wird:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;## Closing NonBlockingReader! ##&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Somit führen wir den Thread zu einem sauberen Ableben.&lt;br /&gt;&lt;br /&gt;Die Nutzung der NonBlockingBufferReader-Klasse hat sich dadurch natürlich auch etwas geändert:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;...&lt;br /&gt;&lt;br /&gt;public static void main(String[] args){&lt;br /&gt;&lt;br /&gt;    // Erzeugen des nichtblockierenden BufferReader Objektes &lt;br /&gt;    // UND registrieren des Strings, welcher den Thread des Objekts beendet.&lt;br /&gt;    NonBlockingBufferReader readKey = new NonBlockingBufferReader("quit");&lt;br /&gt;&lt;br /&gt;    // Starten des Threads&lt;br /&gt;    readKey.start();&lt;br /&gt;&lt;br /&gt;    // Auslesen der Eingabe&lt;br /&gt;    String input = readKey.getInput();&lt;br /&gt;&lt;br /&gt;    // Ausgabe der Eingabe auf der Konsole&lt;br /&gt;    System.out.println("Input was: " + input);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Hierbei ändert sich nur der Konstruktoraufruf, indem er um einen Parameter erweitert wird. Dieser Parameter ist die Zeichenkette, welche bei Eingabe auf dem Keyboard zum beenden des Threads führt.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ich hoffe mein erster Artikel auf meinem Blog hat euch gefallen und vielleicht auch genützt.&lt;br /&gt;Natürlich gibt es unzählige andere Varianten den BufferReader von seinen "Blockaden" zu befreien bzw. ganz andere Klassen in Java mit denen man das bewerkstelligen kann (NIO z.B.).&lt;br /&gt;Ich habe mich aber für den nächsten Artikel dafür entschieden. Ihr werdet merken, dass die Eingabe an sich keine große Rolle spielen wird, denn sie dient nur der Steuerung einiger Programmteile und wird deshalb nicht nochmal behandelt.&lt;br /&gt;&lt;br /&gt;Über Kritik und Anregungen, sowie Korrekturen wäre ich sehr erfreut. &lt;br /&gt;Nutzt dazu doch die Kommentarfunktion! ;)&lt;br /&gt;Bei Fragen werde ich versuchen euch mit Rat weiter zu helfen.&lt;br /&gt;&lt;br /&gt;Bis zum nächsten Post...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-7650086912175342049?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/7650086912175342049/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/01/java-nicht-blockierende-konsolen.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/7650086912175342049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/7650086912175342049'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/01/java-nicht-blockierende-konsolen.html' title='Java - Nicht blockierende Konsolen-Eingabe mit BufferReader'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/03995455961655398583</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Q6LjKIoKeD4/S-kiQnpLnhI/AAAAAAAAAA4/k7NibtVmZWs/S220/3-S-E.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-8409411389018990114</id><published>2011-01-19T21:52:00.000+01:00</published><updated>2011-01-19T21:52:59.116+01:00</updated><title type='text'>nVidia soll angeblich Tegra 3 zur WMC 2011 ankündigen - WAS SOLL DAS?</title><content type='html'>Mir gefällt die Entwicklung nicht... &lt;br /&gt;&lt;br /&gt;Kein Wunder, dass Apple sich über die anderen Tablets lustig macht: Während Apple eine Sache einmal im Jahr ankündigt und sie ein paar Tage später im Laden stehen hat, kündigen die ganzen anderen Hersteller alle paar Tage etwas an, es braucht aber ein Jahr und länger bis zum Release. &lt;br /&gt;&lt;br /&gt;Es gibt noch nicht mal ein Smartphone, geschweige denn ein Tablet mit Tegra 2 Chip (keines welches wirklich präsent auf dem Markt ist - wenn jemand eines hat, unten ist das Kommentarfeld! ;-) ), schon kündigt nVidia Tegra 3 an? &lt;br /&gt;&lt;br /&gt;Hallo? Bringt doch erstmal ordentlich eine Plattform raus und schmeißt nicht mit halbgarem "Elektroschrott-Auf-Papier" um euch!!!!!&lt;br /&gt;&lt;br /&gt;Hier das Gerücht: &lt;a href="http://phandroid.com/2011/01/19/rumor-nvidia-to-announce-tegra-3-soon-possibly-at-mwc-2011/"&gt;Rumor: NVIDIA to Announce Tegra 3 Soon, Possibly at MWC 2011&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hier Apples Reaktion auf die aktuelle Tablet-Lage: &lt;a href="http://phandroid.com/2011/01/18/apple-coo-tim-cook-says-android-tablets-are-bizarre/"&gt;Apple COO Tim Cook Says Android Tablets are ‘Bizarre’&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Und obwohl mein einziges Apple-Gerät die erste Version des iPod-Shuffle ist, welchen ich in bei einer Treuepunkteaktion von einer Tankstelle bekommen habe (vor gefühlten 10 Jahren), so muss ich Apple in diesem Punkt recht geben! Bislang sind alle High-End-Android-Tablets absolute &lt;a href="http://de.wikipedia.org/wiki/Vaporware"&gt;Vaporware&lt;/a&gt; und das Galaxy Tab - das ich gerade von der Arbeit geliehen habe - gleicht eher einem zu groß geratenem Smartphone, als einem Tablet.&lt;br /&gt;&lt;br /&gt;(Tablet mit einem t, weil es eine neudeutsche Absatzwirtschafts-Bezeichnung ist - wer weiß was Absatzwirtschaft ist? Genau: Marketing zu Neudeutsch)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-8409411389018990114?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/8409411389018990114/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/01/nvidia-soll-angeblich-tegra-3-zur-wmc.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/8409411389018990114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/8409411389018990114'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2011/01/nvidia-soll-angeblich-tegra-3-zur-wmc.html' title='nVidia soll angeblich Tegra 3 zur WMC 2011 ankündigen - WAS SOLL DAS?'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/03995455961655398583</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Q6LjKIoKeD4/S-kiQnpLnhI/AAAAAAAAAA4/k7NibtVmZWs/S220/3-S-E.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-8005711935689972092</id><published>2010-12-28T22:49:00.002+01:00</published><updated>2011-01-13T10:07:13.338+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Canon'/><category scheme='http://www.blogger.com/atom/ns#' term='Nikon'/><category scheme='http://www.blogger.com/atom/ns#' term='DSLR'/><category scheme='http://www.blogger.com/atom/ns#' term='Fotokamera'/><title type='text'>Eine Cam für alle Fälle</title><content type='html'>Nachdem ich nun vor einigen Tagen eine erste Design-Idee für diesen Blog erstellt habe, überlege ich, wie ich hier weiter verfahren soll.&lt;br /&gt;&lt;br /&gt;Meine Frau und ich wollen unsere alte Casio Kompatkkamera nun gegen ein hochwertigeres SLR-Gerät ersetzen, welches zwar nicht unbedingt alle Profi-Anforderungen erfüllen muss, aber auch nicht das Billigste vom Billigsten ist: Eine solide Einsteiger-SLR-Kamera, welche man nach uns nach ausbauen kann.&lt;br /&gt;&lt;br /&gt;Neben der privaten Nutzung würde ein solches Gerät auch für diesen Blog hier bestimmt interessante Möglichkeiten bieten. Angefangen von Video-Tutorials für verschiedene Projekte, über Reviews zu Geräten auf denen und für die ich hier Software entwickeln werde / will, bis hin zu Textur-Aufnahmen, könnte das Einsatzgebiet reichen.&lt;br /&gt;&lt;br /&gt;Welche Kamera soll es also sein, die dieses Aufgabenspektrum möglichst kostengünstig abdeckt?&lt;br /&gt;Gute Bilder sollte sie machen, einerseits anfangs leicht zu bedienen sein, aber andererseits auch für später noch genug manuelle Einstellungsmöglichkeiten bieten, sowie eine relativ gute Videoaufnahme ermöglichen.&lt;br /&gt;&lt;br /&gt;Folgende Kamera-Modell kamen nach dem Abstecken des finanziellen Budgets von 500,- bis 700,- Euro in Betracht:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Canon EOS 550D&lt;/b&gt;&lt;br /&gt;&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-de.amazon.de/e/cm?lt1=_blank&amp;amp;bc1=FFFFFF&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=3sedevblo-21&amp;amp;o=3&amp;amp;p=8&amp;amp;l=as1&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;md=1M6ABJKN5YT3337HVA02&amp;amp;asins=B0037KM2IS" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nikon D3100&lt;/b&gt;&lt;br /&gt;&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-de.amazon.de/e/cm?lt1=_blank&amp;amp;bc1=FFFFFF&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=3sedevblo-21&amp;amp;o=3&amp;amp;p=8&amp;amp;l=as1&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;md=1M6ABJKN5YT3337HVA02&amp;amp;asins=B00403MGM8" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Es gab dann noch diverse andere von Sony und auch noch von Canon und Nikon, allerdings habe ich mir diverse Testberichte durchgelesen und mit einige Meinungen von Leuten eingeholt, welche schon seit Jahren mit SLR-Kameras fotographieren und diese Alternativen wieder gestrichen.&lt;br /&gt;&lt;br /&gt;Somit muss ich mich jetzt zwischen diesen beiden Kameras entscheiden.&lt;br /&gt;&lt;br /&gt;Die Canon ist in allen Belangen die rundere Kamera, welche auch noch bei mehr Erfahrung meinerseits Potential enthält mehr aus ihr raus zu holen.&lt;br /&gt;Für die Nikon spricht hingegen das bessere Objektiv bei fast gleichem Preis wie bei der Canon. Ansonsten ist auch die Nikon sehr ausgewogen, aber wohl doch eher an die Einsteiger gerichtet, welche weniger Ambitionen im Hinterkopf hegen.&lt;br /&gt;&lt;br /&gt;Ich denke mal, dass das Rennen die Canon Kamera machen wird. Welche es jedoch letztendlich sein wird, werde ich zur gegebener Zeit hier bekannt geben.&lt;br /&gt;&lt;br /&gt;Interessante Testberichte kann man hier nachlesen:&lt;br /&gt;&lt;br /&gt;Zur Canon EOS 550D:&lt;br /&gt;&lt;a href="http://www.colorfoto.de/produkte/canon-eos-550d-898659.html"&gt;http://www.colorfoto.de/produkte/canon-eos-550d-898659.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.chip.de/artikel/Canon-EOS_550D-DSLR-Test_41978862.html"&gt;http://www.chip.de/artikel/Canon-EOS_550D-DSLR-Test_41978862.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Zur Nikon D3100:&lt;br /&gt;&lt;a href="http://www.magnus.de/testbericht/nikon-d3100-platz-3-1035301,6510.html"&gt;http://www.magnus.de/testbericht/nikon-d3100-platz-3-1035301,6510.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.chip.de/artikel/Nikon-D3100-DSLR-bis-1.000-Euro-Test_45201562.html"&gt;http://www.chip.de/artikel/Nikon-D3100-DSLR-bis-1.000-Euro-Test_45201562.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-8005711935689972092?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/8005711935689972092/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2010/12/eine-cam-fur-alle-falle.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/8005711935689972092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/8005711935689972092'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2010/12/eine-cam-fur-alle-falle.html' title='Eine Cam für alle Fälle'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/03995455961655398583</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Q6LjKIoKeD4/S-kiQnpLnhI/AAAAAAAAAA4/k7NibtVmZWs/S220/3-S-E.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-994083268370307353</id><published>2010-12-22T22:50:00.001+01:00</published><updated>2010-12-22T22:50:40.753+01:00</updated><title type='text'>Experimente am Design, oder "Wie vergeude ich meine Zeit"</title><content type='html'>Bevor ich hier mit dem Tagesgeschäft beginne, arbeite ich zur Zeit daran ein möglichst minimalistisches, aber nett anzuschauendes Design zu erstellen.&lt;br /&gt;&lt;br /&gt;Anders als auf meinem alten Blog (&amp;nbsp;&lt;a href="http://www.ng-world.de/"&gt;http://www.ng-world.de/&lt;/a&gt;&amp;nbsp;) überlasse ich ab jetzt die Arbeit bereits vorhandenen Design-Vorlagen und erstelle mir nur ein paar einfache Grafiken mit Photoshop.&lt;br /&gt;&lt;br /&gt;Meinen alten Blog habe ich noch komplett selbst gestaltet und verwaltet, sprich, die Blog-Software administriert, die Designs programmiert, editiert und alle Grafiken gestaltet. Das war zwar eine nette Beschäftigung, doch sie führte dazu, dass ich nach einer kurzen Post-Pause mit Tonnen an Sicherheitsupdates zugeschüttet wurde. Anstelle somit neue Inhalte zu erstellen verbrachte ich meine wenige freie Zeit damit die Blog-Software aktuell zu halten.&lt;br /&gt;&lt;br /&gt;Das soll jetzt ein Ende haben, weshalb ich diese mühselige ABM in die Hände von Blogger und den Leuten lege, welche wirklich Spaß dran haben.&lt;br /&gt;&lt;br /&gt;Mögen die Spiele beginnen...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-994083268370307353?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/994083268370307353/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2010/12/experimente-am-design.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/994083268370307353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/994083268370307353'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2010/12/experimente-am-design.html' title='Experimente am Design, oder &quot;Wie vergeude ich meine Zeit&quot;'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/03995455961655398583</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Q6LjKIoKeD4/S-kiQnpLnhI/AAAAAAAAAA4/k7NibtVmZWs/S220/3-S-E.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-1871713599668173778</id><published>2010-11-30T19:29:00.001+01:00</published><updated>2010-11-30T19:42:32.544+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photoshop CS5'/><title type='text'>Adobe Photoshop CS5 Extended für Studenten und Lehrer günstig bei Amazon</title><content type='html'>Photoshop steht seit Jahren für ein herausragendes Bildbearbeitungsprogramm und darf sich wohl zu Recht als der Industriestandard bezeichnen. Ich habe heute mal geschaut, was das gute Programm in der Version CS5 auf dem freien Markt kostet und bin fast vom Stuhl gekippt:&lt;br /&gt;&lt;p align="center"&gt;&lt;b class="priceLarge" style="color: #990000; font-size: 1.35em; font-weight: normal; letter-spacing: -1px; align: center;"&gt;1.336,99 Euro&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;Für diese stolze Summe bietet zur Zeit Amazon die Lizenz für Firmen und Leute an, welche mit den erstellten Produkten Geld verdienen wollen.&lt;br /&gt;&lt;br /&gt;Doch ein Student (wie ich) will mit der Software meist nur seinem eigenen kreativen Denken Ausdruck verleihen und kann sich wohl auch nicht eben mal diese Summe aus der Tasche ziehen.&lt;br /&gt;&lt;br /&gt;Zum Glück gibt es die Studenten und Lehrer Version für deutlich günstigere &lt;b&gt;212,90 Euro&lt;/b&gt;.&lt;br /&gt;Diese Version sollte mit der Voll-Lizenz-Version identisch sein, nur dass man damit nicht kommerzielle Bildbearbeitung durchführen darf.&lt;br /&gt;&lt;br /&gt;Hier noch der direkte Link zur deutschen Windows-Version von Photoshop CS5:&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://www.amazon.de/gp/product/B003GRQLIO?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B003GRQLIO"&gt;Adobe Photoshop Extended CS5 deutsch&lt;br /&gt;- STUDENT AND TEACHER EDITION -&lt;br /&gt;für Windows&lt;/a&gt;&lt;img src="http://www.assoc-amazon.de/e/ir?t=3sedevblo-21&amp;l=as2&amp;o=3&amp;a=B003GRQLIO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;br /&gt;&lt;/p&gt;Wer einen Mac nutzt, sollte sich diese Version anschauen, welche nur ein paar Euro teurer ist:&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://www.amazon.de/gp/product/B003GRQLIE?ie=UTF8&amp;tag=3sedevblo-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B003GRQLIE"&gt;Adobe Photoshop Extended CS5 deutsch&lt;br /&gt;- STUDENT AND TEACHER EDITION -&lt;br /&gt;für MacOS&lt;/a&gt;&lt;img src="http://www.assoc-amazon.de/e/ir?t=3sedevblo-21&amp;l=as2&amp;o=3&amp;a=B003GRQLIE" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-1871713599668173778?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/1871713599668173778/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2010/11/adobe-photoshop-cs5-extended-fur.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/1871713599668173778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/1871713599668173778'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2010/11/adobe-photoshop-cs5-extended-fur.html' title='Adobe Photoshop CS5 Extended für Studenten und Lehrer günstig bei Amazon'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/07646398340097258899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Et1dpF-eLco/TN_CPs40DlI/AAAAAAAAAAQ/R8w4IuU-bqI/S220/3-S-E.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8013449365440730050.post-741908086611668119</id><published>2010-11-13T09:54:00.000+01:00</published><updated>2010-11-14T11:28:51.891+01:00</updated><title type='text'>Von NG-World.de zu Blogspot</title><content type='html'>Hi Leute,&lt;br /&gt;&lt;br /&gt;jetzt habe ich mir ein Herz gefasst und werde ab sofort den &lt;a href="http://www.ng-world.de/"&gt;NG-World.de Blog&lt;/a&gt;&amp;nbsp;sukzessive abtragen und hier bei Blogspot neu aufbauen.&lt;br /&gt;&lt;br /&gt;Ihr befindet euch jetzt auf meinem Entwickler-Blog, auf dem ihr meine Projekte betrachten, Tutorials lesen und Neuigkeiten rund und die Welt der Entwicklung bekommen könnt.&lt;br /&gt;Okay... Rund um die Welt der Entwicklung ist übertrieben - ich beschäftige mich eigentlich nur drei zwei Themen:&lt;br /&gt;&lt;br /&gt;a) Googles mobiles Betriebssystem "Android":&amp;nbsp;&lt;a href="http://www.android.com/"&gt;http://www.android.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;b) die Programmiersprache "D":&amp;nbsp;&lt;a href="http://www.digitalmars.com/d/"&gt;http://www.digitalmars.com/d/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;c) 3D Modellierung mit 3D Studio Max&lt;br /&gt;&lt;br /&gt;Ich überlege noch, ob ich c) in einen eigenen Blog verfrachte, jedoch denke ich mir, dass ein dritter Blog zu verwaltungsintensiv sein wird.&lt;br /&gt;&lt;br /&gt;Ein dritter Blog? Wie ist Nummer 2?&lt;br /&gt;&lt;br /&gt;Den zweiten, oder ersten Blog - je nachdem aus welcher Richtung man schaut - findet ihr unter:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3-s-e.blogspot.com/"&gt;3-S-E.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In diesem werde ich Themen posten, die nichts mit Entwicklung, oder 3D-Modellierung zu tun haben, welche ich aber persönlich interessant finde.&lt;br /&gt;&lt;br /&gt;Also dann, bis die Tage!&lt;br /&gt;&lt;br /&gt;3-S-E&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013449365440730050-741908086611668119?l=3-s-e-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3-s-e-dev.blogspot.com/feeds/741908086611668119/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://3-s-e-dev.blogspot.com/2010/11/von-ng-worldde-zu-blogspot.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/741908086611668119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013449365440730050/posts/default/741908086611668119'/><link rel='alternate' type='text/html' href='http://3-s-e-dev.blogspot.com/2010/11/von-ng-worldde-zu-blogspot.html' title='Von NG-World.de zu Blogspot'/><author><name>3-S-E</name><uri>http://www.blogger.com/profile/07646398340097258899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Et1dpF-eLco/TN_CPs40DlI/AAAAAAAAAAQ/R8w4IuU-bqI/S220/3-S-E.png'/></author><thr:total>1</thr:total></entry></feed>
