Python 101

"Code-Beispiel

Die Weihnachtsferien habe ich für den FutureLearn-Kurs „Programming 101: An introduction to Python for Educators“ (Zertifikat) genutzt – ich kann den Kurs sehr empfehlen. Meine PHP-Aktivitäten liegen etliche Jahre zurück, so dass es für mich auch nicht schlimm war, beim Programmieren „wieder ganz von vorne“ anzufangen. Was ich bei Python sicher nicht vergessen werde, sind die strengen „indent“-Regelungen. Verwendet habe ich folgende im Kurs empfohlenen Python-Editoren/IDEs:

In unserem sehr visuellen Zeitalter fand ich es gut, dem entgegen wieder einmal ganz spartanische Konsolen zu nutzen. Es hat Spaß gemacht, anhand des Bot-Beispiels mit einigen wenigen Funktionen und Befehlen verschiedenste Dinge zu entwickeln und exakt umzusetzen.

Mein auf Trinket abgelegtes erstes Beispiel findet sich hier:
https://trinket.io/python/cf63a8792a?toggleCode=true&runOption=run

 

Blender 2.8

Es war einmal ein Würfel.
Blender 2.8x (https://www.blender.org/) unterscheidet sich doch ziemlich von 2.79 und meine ersten Versuche mit der neuen Oberfläche ergaben dies hier:

Ergebnis der gerenderten Szene (mit Lichteffekten)

3D-Modell, entstanden aus einem Würfel

Für Interessenten hier die Daten meines 3D-Modells als FBX-Export (48 KB): https://www.idethloff.de/blender/blender28/v1-blau.fbx

Zum weiteren Einarbeiten in Blender 2.8 – so denn Zeit dafür ist – wird sicherlich die Aufzeichnung dieses MMKH-Kurses hilfreich sein: https://www.mmkh.de/schulungen/medienproduktion/detail/2020-06-18-webinar-3d-modeling-mit-blender-28-fuer-einsteigerinnen.html

Erste Tage im Home-Office

Seit Mittwoch, den 18.3.2020 bin ich nun im Home-Office, wofür ich sehr dankbar bin. Die letzten Wochen mit der täglichen S-Bahn-Fahrt zur Arbeit waren doch recht unangenehm – überall hustete und schniefte es und ich habe mich häufig gefragt, ob die Leute wirklich nur Erkältung, Allergie, Raucherhusten o.ä. hatten… Das dienstliche Telefon ist auf AB umgestellt mit Hinweis auf meine E-Learning-Center-Webseite und Mail-Kontakt, was die Anfragen gut kanalisiert. Die bisherigen 3 Arbeitstage im Home-Office waren lang und sehr anstrengend, da die Arbeitslast für alle E-Learning-Experten weltweit eine neue Dimension erreicht hat.

Arbeiten zu Hause am PC ist für mich nichts Neues, oft habe ich ja schon an Wochenenden auch etwas für die Arbeit erledigt. Nun bin ich als E-Learning-Zuständige der Universität aber natürlich in einer ganz anderen Situation und sehr gefragt: Das bedeutete viele Informationen, ständige Aktualisierungen der Lage und dank unseres Rechenzentrums auch viele neue Online-Kommunikationstools zum Ausprobieren. Viele große Firmen machen derzeit ja Angebote für kostenlose Nutzung/Trials und dies behält das Rechenzentrum im Auge. In den letzten Tagen wurde man im Internet von Einzelpersonen, Institutionen oder auch Portalen überschüttet mit Linksammlungen zum digitalen Lernen. Da ist es schier unmöglich, überall einen Blick drauf zu werfen. Ehrlich gesagt, halte ich es auch nicht für zielführend, dass Lehrende jetzt anfangen, fremde Tool-Sammlungen zu sichten oder für sich nutzen zu wollen – das kostet Zeit und ist in einem offiziellen Rahmen wie einer Universität Datenschutzrechtlich bedenklich. Wie gesagt, daher bin ich unserem Rechenzentrum sehr dankbar für die stets aktualisierte Tool-Liste.

Die offenbar sehr gut besuchte Live-Webinar-Veranstaltung am Mittwoch nachmittag bei e-teaching.org (>600 TN) habe ich abends als Aufzeichnung dazwischengeschoben, denn tagsüber ist momentan für so etwas keine Zeit. Viele Diskussionen in der E-Learning-Community drehten sich in dieser Woche um das, was in der aktuellen Situation gefragt ist – Für mich habe ich da mitgenommen: Es muss viel improvisiert werden, einfache Settings sind zu empfehlen, aufgrund der Netzauslastung und daher mangelnder Erreichbarkeit von Live-Systemen ist asynchrone Kommunikation/Kooperation aus jetziger Sicht Mittel der Wahl. Der Gedanke ist zwar naheliegend, Vorlesungen jetzt einfach als Live-Stream anzubieten oder LV als Webinar zu gestalten, aber wenn es dann technisch wegen Überlastung nicht funktioniert, ist der Frust groß und man hat nichts gewonnen. Synchrone Veranstaltungen erzeugen in der jetzigen Situation bei allen Beteiligten Druck, daher wäre das m.E. auch nicht unbedingt etwas für Ungeübte.

Positiv erlebt habe ich diese Woche die Kommunikation mit Lehrenden, die ausschließlich nett und wertschätzend war; da sieht man, dass das Netzwerk funktioniert. Gestern morgen bekam ich eine aufmunternde Mail einer Dozentin aus Japan (dortige Insel noch ohne Virus), die uns dieses Semester unterstützt, indem sie für ihre Heidelberger Lehrveranstaltung mehr selbst übernimmt. Auch die URZ-Kollegen sind super und die Zusammenarbeit mit meinem Büro-Kollegen ist auch aus dem Home-Office hervorragend und wir können uns insbesondere zu Moodle perfekt online austauschen. Sehr hilfreich ist dabei der neue Instant Messenger der Uni, der niederschwellig auch eine Sprachkommunikation rein über Webbrowser zwischen 2 Personen erlaubt. Noch ist dieses Tool neu und nicht allen bekannt – wenn mich alle Lehrenden mit ihren Anfragen irgendwann darüber kontaktieren würden, wird es allerdings eng… Auf jeden Fall wichtig ist es, für sich zu klären/sortieren, mit wem über welche Kommunikationsart in Kontakt geblieben wird: Wann ist eine Mail besser, wann Instant Messenger, wann ein Telefonat (und über welche Nummern, denn wir haben ja Home-Office) und wie schnell sind die Reaktionszeiten – Bei manchen Anfragen muss man die Euphorie zum Online-Lernen auch etwas bremsen, da noch Regelungen ausstehen, die erst in einigen Tagen klarer sind.

Hier noch ein paar Tipps fürs Home-Office: Sehr früh habe ich schon allen geraten, sich eine Webcam und ein Headset zu organisieren. Hinzu kommt natürlich eine vernünftige Internet-Verbindung und ein halbwegs aktueller PC. Mein erster Engpass bestand darin, dass mein Laptop nicht genug USB-Schnittstellen hatte für all die peripheren Geräte und ein älterer USB-Hub daher überbrücken muss bis meine amazon-Lieferung kommt. Zwei Bildschirme sind auch hilfreich, denn es gilt, viele Programme parallel im Blick zu behalten. Eine wichtige Überlegung ist zudem, welche Programme/Informationen man zeitgleich offen haben muss, um schnell handlungsfähig zu sein bei Anfragen und nicht ständig suchen zu müssen. Als hilfreich empfinde ich unsere offizielle HeiBox, sprich den universitären Cloud-Speicherdienst. Und die ganze Geräte-Verkabelung lasse ich jetzt einfach dauerhaft im Arbeitszimmer.

Neben Bearbeiten von Anfragen war diese Woche auch das Entwickeln von weiteren Informationsmaterialien Thema bei mir und v.a. das Selbst-Auf-dem-Laufenden-Halten, einerseits die eigene Uni betreffend und andererseits Bundesland, Deutschland und international. Wertvoll war für mich am Donnerstag unser reguläres Online-Arbeitstreffen der AdobeConnect-DACH-Nutzergruppe Forschung & Lehre, das natürlich diesmal aufgrund aktueller Entwicklungen einen ganz anderen Fokus bekam und zum Expertise-Austausch verschiedenster Hochschulen wurde. Insofern: Allein oder isoliert gefühlt habe ich mich diese Woche bestimmt nicht, denn es ist (wenn die Technik funktioniert) online sehr viel machbar – das ist in der aktuellen Corona-Krise ein Riesen-Vorteil. Und es ist ja nicht so, dass Online-Lernen etwas völlig Neues wäre. Schon 2009 habe ich meinen Online-Masterstudiengang Educational Media der Universität Duisburg-Essen abgeschlossen – dieser setzte schwerpunktmäßig auf asynchrones Lernen, und in Präsenz getroffen haben wir uns nur am jeweiligen Semesterende zu den Prüfungen. Dennoch waren die sozialen Bindungen eng.

Dies als Momentaufnahme persönlicher Eindrücke – abzuwarten bleibt, wie sich alles weiter entwickelt. Bleiben Sie gesund und online.

3D-Modellierung mit Blender

Wer einen guten und kostenlosen Einführungskurs in Blender (= 3D-Modelle erstellen) sucht: Dazu kann ich uneingeschränkt den edX-Kurs „Basic 3D Modeling using Blender“ (IIT Bombay) empfehlen, den ich gerade erfolgreich absolviert habe (Link Zertifikat). Der Arbeitsumfang war auf 4 Wochen mit 4-6 Stunden/Woche angelegt (ich habe mir mehr Zeit gelassen) und gliederte sich in 4 Kapitel:

1 Interface: Oberfläche Blender, Tastenkombinationen, verschiedene Views etc.

2 Transformation: Einfache Objekt-Manipulationen vorhandener Objekte entlang X/Y/Z-Achsen via Grab, Rotate und Scale / Umgang mit der Kamera und Rendering / Object Mode und Edit Mode / Mesh (Vertices, Edges, Faces) mit Grab, Rotate, Scale / Loop Cuts

3 Basic Modeling: Erstellen von einfachen Objekten wie Tisch & Stuhl mittels Extrude, Loop Cuts und Anwenden der Prinzipien aus Kapitel 2 / Benutzen von Subdivision Surface Modifiers & Edge Loops und Smooth Shading / Benutzen von Array Modifiers für sich wiederholende Formen

4 Material, Texture, Light: Farben, Effekte wie Spiegelungen & Transparenz / Texture für ‚Look und FEEL‘ / Lichtquellen mit verschiedenen Konfigurationen (Farben, Energy, Distance, Schatten, Winkel, 3-point-lighting)

Bei derartigen Themen sind aus didaktischer Sicht praktische Übungen besonders wichtig, und die gab es reichlich und gut nachvollziehbar bei steigendem Schwierigkeitsgrad. Insofern wäre der Kurs auch interessant für motivierte Personen ohne Vorkenntnisse. Das in MOOCs übliche Video-Format war für die Thematik ausgesprochen geeignet; dazu wurden die Folien mit den Essentials (zum Nachschlagen) dankenswerterweise auch als PDF zur Verfügung gestellt. Dem Dozenten mit seiner ruhigen konzentrierten Art und guten Erklärungen hörte man gerne zu; nützlich waren auch die stets angebotenen Untertitel.

Foto Blender-Beispiele

Sehr gerne nutze ich mein Blog für etwaiges späteres Nachschlagen, daher hier einige Stichworte zu wichtigen Tastenkombinationen:

Elementar:
* Maus muss sich über Fensterteil „3D View“ befinden, damit Tastenkombinationen funktionieren
* Auswahl über rechte Maustaste (mehrere mit Shift), Bestätigen mit linker Maustaste
* Rückgängig: Strg+Z

Front-/Back-Ansicht: 1/Strg+1
Top-/Bottom-Ansicht: 7/Strg+7
Rechte Seite/Linke Seite Ansicht: 3/Strg+3
Ansicht Ortho/Perspektive: 5
Quad View: Strg+Alt+Q
Orbit 3D View: Hold Scroll Button+Move
Pan 3D-View: Shift+ Hold Scroll Button+Move
Rendering: F12, dann F3
Kameraansicht: 0, Strg+Alt+0

Wechsel Object Mode und Edit Mode: Tab
Wireframe Mode: Z
Auswählen von Objekten (gelbe Umrandung): rechte Maustaste
Abbrechen von Aktionen: ESC, ggf. Strg+Z
Cursor zuück zu Center of grid, Back to origin: Shift + C
Hinzufügen von Objekten: Shift+A (günstig: vorher Shift+C)
Objekt löschen: X

Grab: G+Z für Verschieben entlang Z-Achse / G+Shift+Z für Verschieben entlang X- und Y-Achse
Rotate: R+Y+45 z.B für Drehen um Y-Achse um 45 Grad
Scale: S+0.3 z.B. für Objektgröße auf X=0.3, Y=0.3, Z=0.3 setzen / S+Z+0.3 für das Verkleinern der Objekthöhe (Z) auf 0.3

Ganzes Modell auswählen (alle vertices, edges, faces): A
Edit Mode, wahlweises Auswählen zum Verändern der Form: Strg+Tab / Vertex oder Edge oder Face / Rechtsklick (ggf. Shift) / weiterer Befehl / Linksklick
Edit Mode, Extrude: E (nach Auswählen einer o. mehrerer der Variante vertices, edges, faces) – Vorteil im Ggs. zu Scale: neue Loop Cuts entstehen
Edit Mode, Loop Cut: Strg+R / Linksklick / Verschieben / Linksklick
Kopieren von Objekten aus einem Blender-File in ein anderes: Strg+C

Subdivision Surface Modifier: Werkzeugsymbol / Add modifier / Generate / Subdivision Surface (anschließend Apply in Object Mode) – Falls dabei schwarze Rillen auftreten: im Edit Mode „A“ für Auswählen aller Vertices, dann Strg+N – Anschließend Edge Loops hinzufügen

Object Mode, Smooth feature: Transform / Smooth (Rückgängig mit Flat)

Array modifier: Werkzeugsymbol / Add modifier / Generate / Array / Fixed Count = … / Constant Offset etc. – Wichtig: Objekt nicht vorher in Object Mode skalieren!
Tip: Add / Empty / Plain Axes und dem Objekt über „Object Offset“ zuordnen, dann die Transformationen (Rotate o.ä.) am Empty machen

2 verschiedene Farben zuordnen: 2. Material anlegen, dann im Edit Mode die 2. Farbe den gewünschten Faces zuordnen, Bestätigen mit Assign

Texture zuweisen: vorher Material zuweisen, Anlegen über New/Open/..jpg – Ergebnis erst beim Rendern sichtbar

Background Image verwenden als Vorlage: +-Zeichen rechts oben in 3D View anklicken / Background Image anhaken / 1 für Frontansicht, 5 für Ortho / Größe anpassen (Hilfreich: http://blender.freemovies.co.uk/modelling-making-a-chess-set/)

Ausprobiert: USDZ-Format für Augmented Reality

Dank ARKit2 ist es möglich, ein 3D-Modell, das in das neue USDZ-Format konvertiert und auf einem Webserver abgelegt wurde, von iOS12-Geräten (mittels Safari) aufzurufen und als AR-Element in die reale Welt einzufügen. Technisch möglich wird dies durch die neue Quick-Look-Funktionalität in iOS12. Dort kann das Objekt dann verschoben bzw. vergrößert oder verkleinert werden, und der Betrachter kann es aus verschiedenen Winkeln anschauen.

Mein Beispiel (Die USDZ-Datei befindet sich auf meinem Webserver.):


usdz-Symbol
Sehen Sie dieses Symbol rechts oben im Nilfperd-Bild?
Falls nicht, diesen Blogbeitrag von einem iOS12-Gerät mittels Safari aufrufen. Wichtig: Das verwendete iOS-Gerät muss ARKit2 technisch unterstützen! Eine Liste passender Geräte findet sich relativ weit unten auf dieser Webseite: https://www.apple.com/de/ios/augmented-reality/

  1.  Nilpferd-3D-Modell anklicken, Laden abwarten
  2. „AR“ antippen, Objekt in reale Welt (helle Umgebung) einsetzen
  3. Ggf. AR-Objekt verschieben, vergrößern, um das Objekt herumgehen

 


Das Nilpferd hat bereits „App-Erfahrung“ sowie als VR-App als auch als AR-App.
Ursprünglicher Ausgangspunkt war der 3D-Scan des kleinen Nilpferdes per iOS-APP TRNIO, damals exportiert im PLY-Format.
Zwischendrin erfolgte eine Konvertierung nach DAE, und dieses Format wurde nun auch verwendet für die Konvertierung nach USDZ, und zwar per Webdienst Vectary (https://www.vectary.com/). Alternativ hätte man auf einem MAC per Xcode10 und Terminal App eine „OBJ“-Datei nach USDZ konvertieren können (Schema: xcrun usdz_converter ~/Desktop/myFile.obj ~/Desktop/myFile.usdz)

(Update 25.5.19: Zufällig gesehen – Vectary-Konvertierungen nach USDZ sind nicht mehr kostenlos möglich)