APL-Journal - APL Germany eV
Transcription
APL-Journal - APL Germany eV
APL-Journal EDITORIAL Liebe APL Freunde! Es ist mir eine große Freude, Ihnen das neue APL-Journal zukommen zu lassen. Im Jahr 2006 hatten wir gemeinsam mit der IBM GSE APL workgroup zwei Veranstaltungen. Im Frühjahr waren wir bei der Datev in Nürnberg und im Herbst bei der IBM in Ehningen. Herausragendes Ereignis im Jahr 2007 war dann die Jubiläumsveranstaltung „40 Jahre IBM APL“, welche bei der IBM in Ehningen stattgefunden hat. Dies ist eine außergewöhnlich große Veranstaltung gewesen, bei der wir auch viele APL Freunde aus dem Ausland begrüßen durften. Dank des Eifers unserer Referenten und Autoren ist es uns nun gelungen, Ihnen interessante Beiträge in schriftlicher Form vorzustellen. Ich wünsche allen Lesern viel Freude an dem aktuellen APL Journal. Ihr Reiner Nussbaum p.s.: Natürlich sind wir immer auf der Suche nach interessanten Vorträgen und Artikeln für das APL Journal. Daher der Aufruf an alle Interessierte: Wenn Sie etwas beitragen möchten, sei es als Vortrag und/oder als schriftlicher Beitrag für das APL-Journal,dann wenden Sie sich bitte an mich, Martin Barghoorn oder an Bernd Geisselhardt. APL - Journal 2007, 26. Jg., Heft 1/2 1 APL-Journal INHALT Hendrik Rama APL2, GUIGL und OpenGL - alles in 3D und Farbe Seit etwa 15 Jahren gibt es OpenGL für Sprachen wie Fortran, C, C++, Pascal und andere. Auch Dyalog-APL, APL2000 und J (Jay) verfügen schon seit geraumer Zeit über OpenGL. Neuerdings hat auch APL2 (IBM) ab Version 2, Service Level 9 (also auch 10 und 11) die Möglichkeit, OpenGL-Befehle auszuführen. Reiner Nussbaum gift_ALU GPS-info Bei gestohlenen Mobilgeräten ist es schwer, den rechtmäßigen Eigentümer zu ermitteln. Bei passwortgeschützten Geräten können bestimmte Informationen auf externen Speichermedien abgelegt werden, so dass Eigentümerinformationen ermittelt werden können, ohne auf nur intern verfügbare Informationen zurückgreifen zu müssen. Helmut Engelke Visualisierung musikalischer Akkordräume in APL2 Es gibt eine größere Anzahl von Akkordtypen und viele Regeln für ihre Anwendung in der Komposition. Daher wurde immer wieder versucht, harmonische Zusammenhänge graphisch zu veranschaulichen. Am bekanntesten ist der Quintenzirkel. Strukturierte Programme in APL2 erlauben eine Vielfalt von Teilansichten bei 3D-Modellen. Axel Güth Neues in Workstation APL2 V2.0 Seit 9. November 2007 ist der Service Level 11 von Workstation APL2 Version 2 für alle APL2-Anwender und für alle APL2-Plattformen verfügbar. APL2, GUIGL und OpenGL ─ alles in 3D und Farbe 3 gift_ALU GPS-info 24 Visualisierung musikalischer Akkordräume in APL2 32 Neues in Workstation APL2 V2.0 42 So wie’s früher einmal war 43 Nachrichten Impressum 46 48 Dieter Lattermann So wie’s früher einmal war Persönliche Erinnerungen 2 APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal APL2, GUIGL und OpenGL - alles in 3D un OpenGL Hendrik Rama APL2, GUIGL und OpenGL alles in 3D und Farbe Seit etwa 15 Jahren gibt es OpenGL für Sprachen wie Fortran, C, C++, Pascal und andere. Auch Dyalog-APL, APL2000 und J (Jay) verfügen schon seit geraumer Zeit über OpenGL. Neuerdings hat auch APL2 (IBM) ab Version 2, Service Level 9 (also auch 10 und 11) die Möglichkeit, OpenGL-Befehle auszuführen. Was ist OpenGL? ist OpenGL? Die Abkürzung OpenGL steht für die Be- Dyalog-APL und APL2000 sind sehr leicht zu nutzen. (Wer ist die Sc zeichnung OPEN Graphics Library und stellt Selbst für 3D-Darstellungen ist mit Beeinen plattformübergreifenden Grafik-Stan- fehlen z.B. für Rotation und Perspektive dard dar. Plattformübergreifend bedeutet gesorgt. hier, dass sich OpenGL für verschiedene Da fragt sich, wieso man nun noch OpenGL Betriebsysteme und Programmiersprachen sowie sogar für verschiedene Hardware für 3D-Grafik im APL einsetzen sollte. (Grafikkarten) gleichermaßen eignet. Eine zweite Frage wäre, wieso OpenGL OpenGL liegt als in der neuesten Version gerade im APL, wo doch es vor allem in 2.1 als etwa 680 k großes DLL-File im Be- C++ und JAVA sehr gut läuft. triebssystem vor. In Windows-Systemen Die beiden Fragen sind nicht leicht zu wird es mitgeliefert im Systemordner (z.B. im WIN2000: \WINNT). Diese DLL beinhal- beantworten: tet eine 3D-Grafik-Sprache mit etwa 250 eigenen Funktionen für grafische Echtzeit- a) Die 3D-Fähigkeiten des bewährten GRAPHPAK-WS beschränken sich letztverarbeitung und auch für das Rendering lich auf 3D-Drahtmodell-Darstellun(Aufbereitung und Darstellung von Rohdagen. Es ließe sich damit natürlich eine ten). Weitere Stärken von OpenGL sind u.a. hochwertige Oberflächengestaltung Beleuchtungsmodelle, qualitativ hochwermit Beleuchtungs- und Textureffektige Farb- und Texturbearbeitung. ten erreichen, das müsste aber alles erst aufwendig programmiert werden. Motivation, sich mit OpenGL im OpenGL bringt die Funktionen dafür APL zu beschäftigen gleich mit. Unsere Situation, im APL Grafiken darzu- b) Genau das scheint Walt Niehoff - Costellen, ist sehr gut: GRAPHPAK im IBMautor vom GRAPHPAK- auch so zu APL2 und vergleichbare Möglichkeiten im empfinden: mit seinem Software- twa 15 Jahren gibt es OpenGL für Sprachen wie Fortran, C, C+ Dyalog-APL, APL2000 und J (Jay) verfügen schon seit geraum rdings hat auch APL2 (IBM) ab Version 2, Service Level 9 (als ichkeit, OpenGL-Befehle auszuführen. ist nun OpenGL? Als Abkürzung steht es für OPEN Graphics L ormübergreifenden Grafik-Standard dar. ormübergreifend bedeutet hier ) für verschiedene Betriebsysteme, ) für verschiedene Programmiersprachen und ) sogar für verschiedene Hardware (Grafikkarten) gleichermaß nGL liegt als in der neuesten Version 2.1 als etwa 680 k großes ebssystem vor. In Windows-Systemen wird es mitgeliefert im S APL - Journal 2007, 26. Jg., Heft 1/2 3 2000: \WINNT). Diese DLL beinhaltet eine 3D-Grafik-Sprache APL-Journal OpenGL c) d) e) f) g) Paket „GUIGL“ schreibt er sozusagen die Fortsetzung seines GRAPHPAK in OpenGL. Für APLer sollte die Syntax des OpenGL nicht allzu schwierig sein, es sind halt übliche Grafik-Befehle. Einzige Schwierigkeit für APLer mag sein die scheinbare Umständlichkeit und die Ausführlichkeit im OpenGL. Dafür wird man aber reichlich entschädigt durch die Mächtigkeit dieser Befehle. OpenGL ist verbreiteter Grafikstandard, man kann Programme direkt aus der „OpenGL-Superbible“ oder dem Redbook u.a. ins APL2. übernehmen. Die Literatur dazu ist sehr umfangreich, gute Beispiele existieren zuhauf. Grafik- und Visualisierungskurse werden seit eh und je mit OpenGL durchgeführt. Aber wieso APL, wenn’s im C++ schon lange eingeführt ist. Ähnlich wie wir APLer auf Java oder C++ zugreifen wollen und können, möchten wir die OpenGL-Fähigkeiten vom APL aus benutzen. Meine früheren Turtle-Programme etwa oder andere Routinen im GRAPHPAK lassen sich bestens mit OpenGL-Befehlen kombinieren. 3DTechniken auch im APL2 zu benutzen, kann nur von Vorteil sein. OpenGL-Programme im APL entwickelt, lassen sich leicht in C++ übertragen. Wir könnten daher - wie schon immer - relativ leicht Prototypen für andere Programm-Sprachen im APL2 entwickeln. als Polygone oder als Dreiecke, Vierecke usw. Man ist da ziemlich flexibel. Die GLKonstanten spielen im OpenGL eine wichtige Rolle. Mit ihnen lassen sich schlagartig ganze Grafiken umfärben, transparent oder flach darstellen, oder auch als Drahtmodelle oder als solide Körper. Ein kleines Beispiel (C++-Rountine, aus Getting Started with OpenGL von Peter Grogono, verfügbar im Internet als PDF, 85 Seiten, http://users.encs.concordia. ca/~grogono/Writings/gldoc.pdf), zeigt den Aufbau eines typischen OpenGL-Programms. void display (void) { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 0.0, 0.0); glBegin(GL_LINES); glVertex2f(-1.0, 0.0); glVertex2f(1.0, 0.0); glEnd(); glFlush(); } Figure 2: Displaying a bright red line Genauso ‒ natürlich ohne C++ void display (void){ } ‒ läuft’s im APL2. Die etwa 250 Befehle im OpenGL kann man grob in 5 verschiedene Gruppen unterteilen (Zitat aus OpenGL, http://intranet. cs.man.ac.uk/software/OpenGL/) • • Einige typische Befehle im OpenGL • Die Befehle fangen immer mit „gl“ an, dadurch sind sie gut in C++- oder APL-Programmen erkennbar. Mit glVertex (params, 2, 3 oder 4) lassen sich einzelne Punkte setzen. Punkte in Blöcken, zusammengehalten durch ein glBegin( ) und glEnd( ) lassen sich durch die GL-Konstanten als verschiedene Grafik-Primitive darstellen, als einzelne Punkte, fortlaufende Linien, 4 • • Defining and rendering 3D primitives such as points, lines, polygons, NURBS, spheres, cones, teapots Viewing 2D projections of 3D scenes Manipulating coordinate transformations Lighting: light sources, material properties, fog, blending Texture mapping Von den zahlreichen Befehlen braucht man in einfachen Programmen höchstens ein knappes Dutzend, alles gut im Redbook und in der Superbible beschrieben. APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal OpenGL Literatur und Links zum OpenGL An Literatur über OpenGL herrscht kein Mangel, eher das Gegenteil. • Frank Rieg : Grafikprogrammierung für Windows (OpenGL und GDI, auf deutsch, 2005). Die Programme von Frank Rieg kann man herunterladen von: www.cad.uni-bayreuth.de Möchte man sich vorerst auf kostenlose Literatur beschränken, so bieten zahlrei- Weitere Links: che Quellen im Internet ältere Auflagen der schon erwähnten Red- und Bluebooks • http://intranet.cs.man.ac.uk/software/ an. Diese Auflagen sind durchaus noch gut OpenGL/ (eine größere OpenGL-Seite, zu gebrauchen. Sie liegen in PDF oder in dort steht auch eine Einführung von HTML vor. Tobi Howard als PDF, 105 Seiten) • www.cs.mu.oz.au/380/slides/OpenGL Man kann im Internet sehr leicht suchen _6up.pdf (Einführung mit anschaulichen Folien, 48 Seiten). mit Stichworten „OpenGL Redbook PDF“, dito Bluebook (das ist die Referenz für • www.aip.de/summerschool2006/lectures/nick/OpenGL.pdf (Einführung, OpenGL). Dito Superbible? - leider nein: engl., 96 Seiten) ist auch nicht so wichtig, da genau diese Beispiele auf vielen OpenGL-Seiten stehen • web.informatik.uni-bonn.de/II/agklein/global/proseminar_ss2001/ (2. Auflage als PDF, schwer zu finden, die course12.pdf (SIGGRAPH ‘99 Course aktuelle 4. Auflage gibts nur als torrent). 29, Advanced Graphics Programming Techniques Using OpenGL, 372 SeiWeitere Stichworte sind „OpenGL APL“, ten, mit vielen Abbildungen. Gibt es bringen neben „GUIGL“ auch Stellen in verschiedenen Auflagen, auch als zum Dyalog OpenGL und vielleicht auch HTML online). „OpenGL Einführung“ „OpenGL tutorial“, usw. So etwas führt zu zahlreichen Unis und Fachhochschulen. Viele Kursunterla- Außerdem sind die Wikipedia-Beiträge (begen sind durchaus äußerst interessant und sonders die auf der englischen Seite) zum OpenGL hilfreich und bringen weitere Links recht gut aufgebaut. zum Thema. Als erstes stößt man auf: www.robsite.de/ tutorials.php?tut=opengl, der Link führt zu OpenGL in J und APL verschiedenen Tutorials. Meist wird OpenGL von Compiler-Sprachen Games-Developer-Seiten allgemein brin- gesteuert, etwa C++, C, Java oder auch gen viele Links zu OpenGL (und DirectX, Delphi. Daneben werden aber auch immer öfter Interpreter-Sprachen etwa Perl, 3D, MS). Ruby, Python, Lisp und selbst ein C++Ein weiteres Tutorial mit sehr vielen Bei- Interpreter „Ch“ eingesetzt (etwa für WEBspielen steht bei http://nehe.gamedev. Anbindung). net/ Link zum Ch-Interpreter von SoftInte Zwei deutsche Titel beschäftigen sich spe- gration: http://www.softintegration.com/ company/press/20020523.html. ziell mit OpenGL und C++ (bzw. mit C): Links mit möglichen Bindings zum OpenGL: • Lorenz Burggraf : ...OpenGL, 2003, http://www.fhwedel.de/~si/praktika/ Markt+Technik Verlag (auf deutsch, SoftwarePraktikum/opengl/bindings.html und http://en.wikipedia.org/wiki/Opengl. mit CD) APL - Journal 2007, 26. Jg., Heft 1/2 5 APL-Journal OpenGL Und nirgends steht APL oder J; beide Sprachen werden nicht wahrgenommen. Lässt sich das vielleicht ändern? OpenGL und J ten, 115 GLU-Konstanten, ca. 260 gl- und 50 glu-Befehle sind integriert, vermutlich der gesamte Sprachumfang von OpenGL und GLU (OpenGL-Utilities). Schaut man sich den Code der Demos an, Unter Vorbehalt scheint es, dass OpenGL ist man erstaunt, dass oft keine OpenGLetwa 1997 in J (auch mal als Jay geschrie- Befehle in Reinkultur benutzt werden, ben) integriert wurde. sondern vereinfachende Befehle für den bequemeren Gebrauch. W. A. Randall und John E. Howland beschreiben ein OpenGL-Interface für J. Sie Genau das würde ich aber nicht nur als geben parallel das gleiche OpenGL-Pro- Vorteil sehen. Selbst bekannte Beispiele gramm in C++ und in Jay an. aus der Superbible erhalten dann ein eher ungewöhnliches Aussehen. Dadurch wird Über OCR-Scannen habe ich die damali- die Übernahme von Beispielen aus der gen J-Programme rekonstruiert und ver- Literatur schon deutlich erschwert. Allersucht sie zum Laufen zu bringen. Dies hat dings könnte man auch allein nur mit den aber nicht geklappt, die Programme waren Standardbefehlen das Jay-OpenGL profür J 3.04 geschrieben (heutige Version J grammieren. 6.01). Sehr überzeugend ist der Umfang des Wahrscheinlich liegt’s an zwei Hauptunter- angebotenen OpenGL-Materials: zwei große schieden zur heutigen OpenGL-Version im J: Demos mit zahlreichen Beispielen und zwei Die API-Anbindung an die OpenGL-DLL er- ausführlichen „Labs“ (Übungen). folgte damals über Extern-Aufrufe wie gl =: 1024 !: 0; glut =: 1024 !: 1; callback =: Abb. 1: Kuensche-Fläche 1024 !: 4 und heute über gl =: 15 !: 0 usw. Die Befehle wurden in späteren J-Versionen besser integriert: 1997 etwa noch als gl ‚MatrixMode’; ‚GL_PROJECTION’ , heute als glMatrixMode GL_PROJECTION. Arbeit der Autoren als PDF (11 Seiten) zu finden unter Kuensche-Fläche http://citeseer.ist.psu.edu/6813.html. Dort Listing von Kuenscher-Fläche (Jay-OpenGL) opengl_cancel=: Listing opengl_close von Kuenscher-Fläche (Jay-OpenGL): anklicken: PDF, rechts oben. NB. =================== Kuens surface of constant negative curvature Auf der APL97 Conference in Toronto hielt Chris Burke ein Tutorium ab, betitelt:mit OpenGL Graphics and J. Im Vector Vol.14 No.1 July 1997 steht sein entsprechender Artikel übers OpenGL. Seitdem können wir APLer und Jayer die wirklich gelungenen Demos im J bewundern. Weiter unten in diesem Beitrag sieht man 3 Abbildungen aus der OpenGL-Demo im Jay. opengl_cancel=: opengl_close NB. =================== Kuens surface of constant negative curvature kuen=: 3 : 0 kuen=: 3 : 0 u=. steps _4 4 10 v=. }. }: steps 0 1p1 10 w=. %"1 & (1 + *: u */ sin v) x=. (w sin v) * (cos u) + u * sin u y=. (w sin v) * (sin u) - u * cos u z=. (2 * w cos v) + (u * 0) +/ ^. tan v%2 gscleanz 2.5 2.5 1 *"1 gsfit11 gsmakexyz x;y;z ) TDATA=: kuen'' TCLR=: (0 0 0 ,: 1 1 1) gshue gsfit01 2{"1 TDATA TPATTERN=: 256 256$, gsrgba WHITE,GRAY,YELLOW,:WHITE TPATPOS=: */~ gsint01 <:#TDATA GS_ROTXYZ=: 300 185 325 GS_TRNXYZ=: 0.3 0.125 0 GS_CLEARCOLOR=: 0.9 0.9 1 GS_COLORMATERIAL=: 0 GS_AMBIENT=: 0.8 GS_DIFFUSE=: LIMEGREEN GS_SPECULAR=: GS_DIFFUSE GS_SHININESS=: 50 0 0 1 Ich glaube, dass die OpenGL-Anbindung an Jay wirklich vorbildlich erfolgt ist. Ich habe nachgezählt: etwa 588 GL-Konstan- u=. steps _4 4 10 v=. }. }: steps 0 1p1 10 w=. %”1 & (1 + *: u */ sin v) x=. (w sin v) * (cos u) + u * sin u y=. (w sin v) * (sin u) - u * cos u z=. (2 * w cos v) + (u * 0) +/ ^. tan v%2 gscleanz 2.5 2.5 1 *”1 gsfit11 gsmakexyz x;y;z ) paint=: 3 : 0 TDATA=: gsinit GS_LIGHTkuen" gsgentexture2D TPATTERN TCLR=: (0 0 0 ,: 1 1 1) gshue gsfit01 2{“1 TDATA gsdrawsurface2 TDATA;TCLR;TPATPOS gsfini'' TPATTERN=: 256 256$, gsrgba WHITE,GRAY,YELLOW,:WHITE ) NB. ========================================================= TPATPOS=: */~ gsint01 <:#TDATA opengl_g_paint=: paint GS_ROTXYZ=: opengl_g_char=: gschar 300 185 325 6 Wie gesagt, man erkennt im Programm fast keinen OpenGL-Code. Aber leistungsfähig ist das 3D-OpenGL-Paket im Jay alle Mal. Alle rund 1000 codierten OpenGL-Funktionen und Konstanten stehen im File gl3.ijs unter ~j601/system/main. opengl_default=: gsdefault NB. ========================================================= opengl_run'' APL - Journal 2007, 26. Jg., Heft 1/2 OpenGL und APL APL-Journal OpenGL im WS DEMO145 (IBM APL2) GS_TRNXYZ=: 0.3 0.125 0 GS_CLEARCOLOR=: 0.9 0.9 1 GS_COLORMATERIAL=: 0 GS_AMBIENT=: 0.8 GS_DIFFUSE=: LIMEGREEN GS_SPECULAR=: GS_DIFFUSE GS_SHININESS=: 50 0 0 1 paint=: 3 : 0 gsinit GS_LIGHT gsgentexture2D TPATTERN gsdrawsurface2 TDATA;TCLR;TPATPOS gsfini" ) NB. ============================================ opengl_g_paint=: paint opengl_g_char=: gschar opengl_default=: gsdefault NB. ============================================ opengl_run" OpenGL Seit der APL2 Version 2, Service Level 9 (etwa Herbst 2006) sind im Workspace DEMO meProgramme stammen aus der Literatur. (SuperBible zwei (wohl von David Liebtag), die die OpenGL-DLL benutzen: DEMO_OPENGL_GLRECT und DEMO_OPENGL_GLSAMPLE. o.ä.). Sie sind einfache Animationen Die in beiden 2D Programm stammen aus der Literatur. (SuperBible o.ä.). Sie sind einfache Animationen in 2D und la undflüssig. laufen recht flüssig. recht Abb.man 2:alsEinfache Animationen in 2D Schaut Nicht-GUI-Programmierer in die Listings, so wirken sie zunächst etwas unübersichtlich und verwirrend. Schaut als Die Sache klärtman sich aber, wennNicht-GUI-Programmierer man rekapituliert, welche Programmteile vorhanden sein sollten: in die Listings, so wirken sie zunächst etwas a) Fenster-Aufbau unübersichtlich und verwirrend. b) Anbindung der OpenGL-DLL an das APL2-System c) Eigentliches OpenGL-Programm mit typischen Befehlen d) „Aufräumen“ des Systems (garbage collection) Zwar erkennt man im Programm fast keinen OpenGL-Code, aber leistungsfähig ist Die Sache klärt sich aber, wenn man rekadas 3D-OpenGL-Paket im Jay alle Mal. Alle Also: Es werden welche die CALLAPI-Befehle des APL2 benutzt,vorhanden zusammen mit LOADAPI- un pituliert, Programmteile rund 1000 codierten OpenGL-Funktionen FREEAPI-Befehlen. und Konstanten stehen im File gl3.ijs unter sein sollten: Mit den LOADAPI –Befehlen ~j601/system/main. LOADAPI 'GDI32' ('ChoosePixelFormat' 'SetPixelFormat' 'SwapBuffer ) • Fenster-Aufbau LOADAPI 'OPENGL32'('glClear' 'glLoadIdentity' 'glViewport' 'wglCreateContext' 'wglDeleteContext' 'wglMakeCurren • Anbindung der OpenGL-DLL an das OpenGL und APL ) LOADAPI 'USER32' ('GetDC' 'ReleaseDC') APL2-System LOADAPI 'GLU32' 'gluOrtho2D'(6 6 6 6) LOADAPI 'OPENGL32' 'glClearColor'(5 5 5 5) Auch APL2000 und Dyalog APL haben seit • Eigentliches OpenGL-Programm mit LOADAPI 'OPENGL32' 'glColor3d'(6 6 6) LOADAPI 'OPENGL32' 'glRectd'(6 6 6 6) Jahren schon OpenGL-Anbindung.. typischen Befehlen werden aus den DLLs GDL32 (Windows-Grafik), USER32, GLU32 und OPENGL32 • „Aufräumen“ des Systems (garbage Funktionen geladen wie glClear, glColor3d, gluOrtho2D, aber auch wgCreateContext. D Dyalog realisiert sie über den Quad-NA 12 Zahlen incollection) Klammern stellen Typ und Anzahl der Parameter dar, 5 ist Integer, 6 ist Real-Z (11 ?). Prozessor. Alexander Skomorokhov so erhält etwa 'glColor3d'(6 6 6) 3 Real-Zahlen als Parameter. Mit CALLAPI-Au werden die geladenen Befehle dann als OpenGL-Funktionen benutzt (siehe unten). beschreibt den Entwurf der Schnittstelle im Also: Es werden die CALLAPI-Befehle des Vector Vol.14 No.4 (1998) Using OpenGL APL2 benutzt, zusammen mit LOADAPIGraphics in Dyalog APL, und Helmut und FREEAPI-Befehlen. Mumbauer schreibt über Anbindung von OpenGL an Dyalog-APL im APL-Journal Mit den LOADAPI –Befehlen LOADAPI 'GDI32' ('ChoosePixelFormat' 'SetPixelFormat' ‚SwapBuffers') 1/2005 (PDF), siehe auch: http://www. LOADAPI 'OPENGL32'('glClear' 'glLoadIdentity' 'glViewport' 'wglCreateContext' 'wglDeleteContext' 'wglMakeCurrent') apl-software.de/OpenGL.html. LOADAPI 'USER32' ('GetDC' 'ReleaseDC') OpenGL im WS DEMO145 (IBM APL2) LOADAPI LOADAPI LOADAPI LOADAPI 'GLU32' 'OPENGL32' 'OPENGL32' 'OPENGL32' 'gluOrtho2D'(6 6 6 6) 'glClearColor'(5 5 5 5) 'glColor3d'(6 6 6) 'glRectd'(6 6 6 6) Seit der APL2 Version 2, Service Level 9 (etwa Herbst 2006) sind im Workspace DEMO145 zwei Programme (wohl von David Liebtag), die die OpenGL-DLL benutzen: werden aus den DLLs GDL32 (WindowsGrafik), USER32, GLU32 und OPENGL32 Funktionen geladen wie glClear, glColor3d, gluOrtho2D, aber auch wgCreateContext. Die Zahlen in Klammern stellen Typ und DEMO_OPENGL_GLRECT und DEMO_ Anzahl der Parameter dar, 5 ist Integer, 6 OPENGL_GLSAMPLE. Die beiden Program- ist Real-Zahl, so erhält etwa ‘glColor3d‘(6 APL - Journal 2007, 26. Jg., Heft 1/2 7 APL-Journal OpenGL 3 Real-Zahlen als Parameter. Mit CALLAPI-Aufruf werden die geladenen Befehle dann als OpenGL-Funktionen benutzt (siehe unten). 6 6) Zumindest in der neuesten APL2-Version 2.11 steht im GUI-Handbuch über OPENGL (Seite 84): „The following example uses the OpenGL glRectD service to draw a rectangle: LOADAPI ‘OPENGL32' 'glRectd' (6 6 6 6) (OSRC CMD) ½ CALLAPI 'glRectd' 12.34 56.78 101 34 FREEAPI 'glRectd' Notice the LOADAPI service description specifies that glRectD requires four 8 byte floating point parameters.“ PAINT: 0 0 0 0 0æCALLAPI 0æCALLAPI 0æCALLAPI 0æCALLAPI 'glClearColor' 0 0 0 0 'glClear' GL_COLOR_BUFFER_BIT 'glPushMatrix' 'glRotated' THETA 0 0 1 0 0æCALLAPI 'glBegin' GL_TRIANGLES ä hier beginnt das Dreieck 0 0 0 0 0 0 0 0æCALLAPI 0æCALLAPI 0æCALLAPI 0æCALLAPI 0æCALLAPI 0æCALLAPI 0æCALLAPI 'glColor3d' 1 0 0 'glVertex2d' 0 1 'glColor3d' 0 1 0 'glVertex2d' 0.87 ý0.5 'glColor3d' 0 0 1 'glVertex2d' ý0.87 ý0.5 'glEnd' 0 0æCALLAPI 'glPopMatrix' 0 0æCALLAPI ‚SwapBuffers' DC THETA½360|THETA+1 ¸LOOP ä hier wird der Drehwinkel vergroessert Hauptverdienst dieser beiden BeispielDie eigentlichen OpenGL-Funktionen von Programme ist, dass sie uns die gesamte DEMO_OPENGL_GLRECT werden als Ani- Umgebung für das OPENGL im APL2 bemation in einer Schleife ausgeführt: reitstellen. ä Application variable initialization XY½100 150 ä Bouncing suare position SQSIZE½50 ä Bouncing suare size STEP½1 1 ä Animation step size in pixels ....... LOOP: ä eigentliches OPENGL-Programm ....... ......... ä Move the square XY½XY+STEP ........... ............ PAINT: 0 0æCALLAPI 'glClearColor' 0 1 1 1 0 0æCALLAPI 'glClear' GL_COLOR_BUFFER_BIT 0 0æCALLAPI 'glColor3d' 1 0 0 0 0æCALLAPI(â'glRectd'),XY,(XY+SQSIZE) 0 0æCALLAPI 'SwapBuffers' DC ¸LOOP ä hier wandert das Rechteck Nicht ganz befriedend ist es, jeden OpenGL-Befehl dreimal behandeln zu müssen, also mit LOADAPI holen, mit CALLAPI aufrufen und mit FREEAPI wieder freizugeben. Ausgehend von den beiden Demos, schrieben Walt Niehoff und ich (unabhängig) weitere Programme und übertrugen auch einige Literaturbeispiele ins APL2. Weitere Beispiele in APL-OPENGL David Liebtag stellte in Bingen im Herbst Das ganze Programm ... _GLRECT ist zwar 2006 die APL2 Version 2, Service Level 9. 150 Zeilen lang, aber die meisten Teile darf vor. Als Abschlussbild sah man dort eine man getrost im Sinne eines „Templates“, rotierende Erdkugel und im Vordergrund also als fixe Bestandteile zum Ansteuern eine Strasse aus APL2-Logos (nach N.Y.). der GUI-Umgebung benutzen. David hat nichts weiter erwähnt, das Ganze sah aber stark nach OPENGL aus. Ganz ähnlich arbeit das Programm fürs Dreieck (.._GLSAMPLE). Es kommen BefehDer WS DEMO145 enthielt tatsächlich die le für das Rotieren hinzu. Die Einfärbung beiden Demos: Rechteck und Dreieck. des gesamten Dreiecks mit Farbgradienten Kurze Internetsuche mit „APL2 OPENGL“ geschieht, indem die Eckpunkte mit rot, grün, blau belegt werden. Hier der Haupt- führten sofort zu GUIGL auf Walt Niehoffs Homepage. Der Besuch dort ist unbedingt teil des Programms: 8 APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal OpenGL empfehlenswert, dort wird ein vollständiges OpenGL-Paket für APL2 vorgestellt. Walt Niehoff bietet an: „GUIGL is experimental, but very stable. I am willing to make it freely available to anyone who requests it via email.“ Der Link dazu: http://home. stny.rr.com/wniehoff/apl/guigl.htm Einige meiner Programme habe ich im WS Call603 (schon nach Kontakt mit Walt N.) zusammengefasst. Hier mal einige Beispiele, nach Aufruf DEMO_CALL603 (siehe Abb. 3 und 4). Beim letzten Beispiel in Abb. 4 wurden etwa zwei einfache Turlte-Figuren benutzt Daran war ich stark interessiert. Um nicht und nur unterschiedlich widergegeben, als ganz mit leeren Händen dazu stehen, hab Polylinie, als Polygon usw. Die Turtles werich mal begonnen, eigene kleinere Routi- den erzeugt mit: nen auf der Basis der OpenGL-DEMOS zu ä Hier die Turtles schreiben. Weitere Beispiele in APL-OPENGL TURT½,/í9 11ø.ê2+/õ\¯þ15æ'1D30' '1Dý90' ä beliebige Turtle TURT1½,/í9 11ø.ê+\õ\¯þ15æ'1D30' '1Dý90' ä beliebige Turtle Als Liebtag erstesstellte probierte ich mal2006 meine Tur-Version 2, Service Level 9. vor. Als David in Bingen Herbst die APL2 Die beiden eine Bilder weitles im OpenGL/APL2 aus.rotierende Liefen prinzipiell Abschlussbild sah man dort eine Erdkugel und im Vordergrund Strasse(Hilbert-Kurve) aus APL2-Logos (nach N.Y.). David hat nichts weiter erwähnt, das Ganze sah aber stark nach ganz gut, nur ziemlich langsam. Als ich die ter oben in Abb. 4 (siehe nächste Seite) OPENGL aus. DISPLAY-LISTS (eine Art Vorkompilierung werden gleichzeitig mit GRAPHPAK und Der WS DEMO145 enthielt tatsächlich die beiden Demos: Rechteck und Dreieck. auf dem Bildschirm dargestellt. der OpenGL-Befehle) benutzte, erhöhte sich OpenGL Kurze Internetsuche mit „APL2 OPENGL“ führten sofort zu GUIGL auf Walt Niehoffs Die Hilbert-Kurve wird mit einem einfadie Ablaufgeschwindigkeit recht deutlich. Homepage. Der Besuch dort ist unbedingt empfehlenswert,chen dort wird ein vollständiges L-System erzeugt. Der Sinus-Berg OpenGL-Paket für APL2 vorgestellt. Walt Niehoff bietet an: „GUIGL experimental, but Martin Barghoorn wird nachiseiner Idee von Die Schwierigkeiten, OpenGL im APL2 very stable. I am willing to make it freely available to anyone who requests it via email.“ zu programmieren, wurden bald klar. Man gebildet mit Der Link dazu http://home.stny.rr.com/wniehoff/apl/guigl.htm musste malinteressiert. rauskriegen, mit welchen Daran warerst ich stark Um nicht ganz mit leeren Händen dazu stehen, hab ich mal KK½1 1.2 25 55 LCHILB 5 ä Bildung der Hilbert-Kurve mit Parametern man neue OpenGL-Befehle labegonnen, eigene kleinere Routinen auf der Basis der OpenGL-DEMOS zu schreiben.L-System den und probierte aufrufen ähnliches Pro- ä Berechnung Als erstes ichkonnte. mal meineEin Turtles im OpenGL/APL2 aus. Liefenvon prinzipiell SinõSin ganz gut, blem war, langsam. die Werte fürdie die GL-Konstanten HIN½ûû32þ,/HH½èí9 11ø.ê0,++\KK ä KK besteht aus komplexen nur ziemlich Als ich DISPLAY-LISTS (eine Art Vorkompilierung der OpenGLZahlen zu erhalten. diesem hat mir das Befehle) benutzte,Inerhöhte sich Punkt die Ablaufgeschwindigkeit recht deutlich. SIN½0,1êê(ì31)ö31 Jay ganz gut weitergeholfen, aber auch die HUT½îSINø.õSIN, Die Schwierigkeiten, OpenGL im APL2 zu programmieren, wurden bald klar. Man musste erst mal rauskriegen, mit Parametern man neue Header-Dateien fürwelchen C++-Programme. Sie OpenGL-Befehle laden und aufrufen konnte. Ein ähnliches Problem war, dienur WerteIntegerfür die GL-Konstanten zu erhalten. In diesem zeigen die Konstanten (sind Punkt hat mir das Jay ganz gut weitergeholfen, aber auch die für C++- „Mount Hilbert“ die soHeader-Dateien dass der rotierende Werte) hexadezimal an. Damit konnte man Programme. Sie zeigen die Konstanten (sindAufbrumnur Integer-Werte) hexadezimal an. Damit reinste Gemeinschaftleistung der APLer schon einiges anfangen, bis zum konnte man schon einiges anfangen, bis zum Aufbrummen bei der Simulation der C++/Niehoff/Rama darstellt. men bei der Simulation der C++-Pointer im Barghoorn/Liebtag Pointer im APL2. Da habe ich mich dann doch lieber an Walt Niehoff gewandt... APL2. Da habe ich mich dann doch lieber Ja, ja 3D verbindet und Bergsteigen ist Einige meiner Programme habe ich im WS Call603 (schon nach Kontakt mit Walt N.) schwierig. an Walt Niehoff gewandt... zusammengefasst. Hier mal einige Beispiele, nach Aufruf DEMO_CALL603, Abb. 3: Taumelstern, Animation, Rückseite durchsichtig . Taumelstern,, Animation, Rückseite durchsichtig APL - Journal 2007, 26. Jg., Heft 1/2 9 APL-Journal OpenGL Abb. 4: Weitere Beispiele Beim letzten Beispiel wurden etwa zwei einfache Turlte-Figuren benutzt und nur unterschiedlich widergegeben, als Polylinie, als Polygon usw. Die Turtles werden erzeugt mit: 10 ä Hier die Turtles APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal OpenGL Hier Würfel mit APL2-Logo-Textur innerhalb transparenter Glaswände, animiert! Walt Niehoff, GRAPHPAK und GUIGL Nach einigen Experimenten und Programmen, schrieb ich Walt Niehoff, N.Y. Ich war neugierig auf seine tollen Programme. Die Antwort mit dem angekündigten SoftwarePaket erreichte mich schon nach 3 Tagen. Sein „Portfolio“ stellt ca. ausführliche 25 Beispiele genauestens vor. Besonders gefallen mir „LUNA“ (Mond, mit Rückansicht, 3D) und seine Simulation „Dreigetriebewerk“. KK½1 1.2 25 55 LCHILB 5 ä Bildung der Hilbert-Kurve mit L-System ä Berechnung von SinõSin HIN½ûû32�þ,/HH½èí9 11ø.ê0,++\KK ä KK besteht aus komplexen Zahlen SIN½0,1êê(ì31)ö31 HUT½îSINø.õSIN, Alle anderen Beispiele sind auch alle sehr schön und äußerst sorgfältig aufgebaut. so dass der rotierende „Mount Hilbert“ die reinste Gemeinschaftleistung der APLer Barghoorn/Liebtag /Niehoff/Rama darstellt. Ja, ja 3D verbindet und Bergsteigen ist schwierig. Ursprünglich war Walt ja auch von den beiden Demo-Programmen im WS DEMO145 Seinen Programmaufbau Waltausgegangen, Niehoff, GRAPHPAK und GUIGL. hat er dann deutlich systematisiert, immer Nach einigen Experimenten und Programmen, schrieb ich Walt Niehoff, N.Y. War ja auch schongleich neugierig auf seine tollen Programme. Antwort mit dem angekündigten Software-Paket aufgebaut in vier Abschnitten: erreichte mich schon nach 3 Tagen. Sein „Portfolio“ stellt ca. ausführliche 25 Beispiele genauestens vor. Besonders gefallen mir „LUNA“GGLTEST3G_CREATE (Mond, mit Rückansicht, 3D)GRAPHICS und seine Simulation „Dreigetriebewerk“. ä PSEUDO WM_CREATE Alle anderen Beispiele sind auch alle sehr schön und äußerst sorgfältig aufgebaut. HANDLER Ursprünglich war Walt ja auch von den beiden Demo-Programmen im WS DEMO145 GGLGETVERSION ausgegangen, Seinen Programmaufbau hat er dann deutlich systematisiert, immer gleich GGLTEST3G_SIZE ä SET UP VIEWING aufgebaut in vier Abschnitten: SPECIFICATION, GGLTEST3G_CREATE GRAPHICS ä PSEUDO WM_CREATE HANDLER GGLGETVERSION GGLTEST3G_PAINT ä AND PAINT IT GGLTEST3G_SIZE ä SET UP VIEWING SPECIFICATION, GGLTEST3G_PAINT ä AND PAINT IT Einige Beispiele Einige Beispiele Abb. 6: Mond und Schraube Der Mond (Abb. 6) lässt sich beleuchten und drehen. Ob man die Mutter von der Schraube (Abb. 6) drehen kann, ist nicht ganz klar (aber Mutter zusammen mit Schraube drehen, das geht!). Diese Beispiele sind natürlich schon von einer anderen Qualität als meine. Das allein macht nicht die ganze Bedeutung von Walts GUIGL aus. Wichtig im GUIGL (soll ja eine Art Graphpak für OpenGL sein) sind: Abb. 5: Würfel mit APL2-Logo-Textur innerhalb transparenter Glaswände, animiert APL - Journal 2007, 26. Jg., Heft 1/2 • sehr gute Beispiele, solche aus der Literatur und Walts eigene (WS GGLTEST) 11 APL-Journal OpenGL • • • • • • • • Hilfefunktionen für die Beispiele systematischer Aufbau seiner Programme. Coverfunktionen, so dass die OpenGLFunktionen genau wie im C++ aussehen. lästiges Laden und Freigeben der Funktionen wird auf einen Schlag durchgeführt. Codierung von zahlreichen OpenGLBefehlen. „A GLCONST namespace, which provides access to a multitude of OpenGL constants.“ (in seinen eigenen Worten). Lösung des Problems mit C++-Pointern im APL2. PDF-Anleitungen zum GUIGL, zu den Beispielen und zum Gebrauch der Pointer im APL2. Bleibt dann noch folgender Punkt: Walts Bereitschaft zur freundlichsten Hilfe und Zusammenarbeit, schnellste Kommunikation (halt, Nachteil: ich kann gar nicht so schnell antworten). ½100011;GLU_POINT ½100010 glPolygonMode 1028 6913 ä GL_FRONT GL_LINE gluSphere KUGEL 0.5 20 20 glRotated THETA 0 1 1 gluQuadricDrawStyle KUGEL 100010 ä GLU_LINE ½100011;GLU_POINT ½100010 gluSphere KUGEL 1 20 20 glCallList MYLIST 0 0æCALLAPI 'glPopMatrix' 0 0æCALLAPI 'SwapBuffers' DC THETA½360 | THETA+1 ¸LOOP wobei Coverfunktionen etwa so aufgebaut sind: glColor3d P;red;green;blue (red blue green)½P ä void glColor3d (GLdouble red, GLdouble green, GLdouble blue); 0 0æCALLAPI 'glColor3d' red blue green oder so: gluSphere P;gluObj;radius;slices;stacks (gluObj radius slices stacks)½P ä void gluSphere (GLUquadricObj *gluObj, GLdouble radius, GLint slices, GLint stacks); 0 0æCALLAPI 'gluSphere' gluObj radius slices stacks Eine Filterfunktion für 3D-Files (STL) Insgesamt lässt sich über Walt Niehoffs GUIGL/GGLTEST sagen, dass damit die OpenGL-Programmierung im APL2 auf eine komfortable und sichere Basis gestellt wurde. Trotz der schönen Beispiele von Walt Niehoff oder eigener Turtles im OpenGL/APL2 hat man den Wunsch, Standardmodelle direkt aus der großen 3D-Welt ins APL zu holen. Jeder der Interesse an 3D-Grafik im APL2 hat, sollte Walt kontaktieren und sich sein Software-Paket GUIGL schicken lassen. (http://home.stny.rr.com/wniehoff/apl/ guigl.htm) 3D-Modelle, die im RAW- oder STL-Format vorliegen, lassen sich relativ leicht in unseren APL2-WS übernehmen. Das RAWFormat entspricht praktisch einer Matrix mit 3 Spalten für die Zahlenwerte. Die Übernahme macht fast keine Probleme, nur Beispiele sind selten. Als kleine Demonstration, wie die Coverfunktionen aussehen (aus meinem Beispiel oben) PAINT: glClearColor 1 1 1 0 glClear 16384 ä GL_COLOR_BUFFER_BIT½16384 glPushMatrix glRotated THETA 0 1 1 glColor3d 0 0.75 1 glLineWidth 1 glPointSize 5 gluQuadricDrawStyle KUGEL 100013 ä GLU_LINE 12 Etwas anders liegt der Fall bei STL-Files. Das STL-Format (von Stereolithgraphy) ist der Standard für 3D-Formate. Ein STL-File besteht aus den Matrizen für die Punkte des Modells und den dazugehörigen Normalenwerten. Die Normalenwerte sind bei OpenGL-Modelle wichtig für die das Lighting (Beleuchtung). Die Spezifikation wird im APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal OpenGL Internet genau beschrieben, ein typischer Abschnitt könnte etwa so aussehen (Aus: Introduction to STL format, Wai Hon Wah June, 1999, http://rpdrc.ic.polyu.edu.hk/ old_files/stl_introduction.htm): Here is a excerpt from a typical STL file that define a facet: facet normal -4.470293E-02 7.003503E-01 -7.123981E-01 outer loop vertex -2.812284E+00 2.298693E+01 0.000000E+00 vertex -2.812284E+00 2.296699E+01 -1.960784E-02 vertex -3.124760E+00 2.296699E+01 0.000000E+00 endloop endfacet VER½â'vErtEx' ä urspruenglich 'vertex' R½¯þTSTL[(VERÑTSTL[;1])/ìÆæTSTL;2 3 4] ÓCR 'NSTLF' R½NSTLF STLFILE;TSTL;NOR ä bildet aus ∆FV-File *.stl ä eine Matrix N x 3 (numerisch) ä mit N Normalen (3D) Anzahl ä der Polygone, z.B. ä Dodekaeder-Matrix 12 x 3 Normalen ÓIO½1 NOR½â'normal' TSTL½TRENTO STLFILE R½¯þTSTL[(NOR½TSTL[;2])/ìÆæTSTL;3 4 5] Dazu kommen noch die Replace-Funktion und eine kleine Routine (mitgeteilt von Die Zeile für die Normale beginnt mit „fa- Martin Barghoorn, ca 1984) cet normal“, die Zeilen für die Punkte mit R½TRENTO T;I;T1 „vertex“ ä packt Textmatrizen ein nach Blanks I½' 'ôT R½ãIâþT Die Zahlenwerte selbst liegen im C++Format vor, mit Minuszeichen, Exponentenschreibweise, wobei der Exponent noch ein Zusammen mit DEMO_Path aus WS Plus- oder Minuszeichen trägt. DEMO145 (ganz leicht als STL_PATH abgeWeiter können noch vorkommen: kleines ändert) lassen sich STL-Files umwandeln in e statt E (wie im APL2 erforderlich) und ganz normale APL2-Variablen (hier AAAT). unsichtbare Tabzeichen. Die Schlüsselworte Mit der folgenden Sequenz geht’s ganz „vertex “ und „normal“ können verworfen leicht: werden, weil die Daten in zwei getrennten Files für das OpenGL/APL2 benutzt wer- 1. STL_PATH, Auswahl eines STL-Files, dann "quit", danach Abfrage æAAAT, OK? den. 2. æAV_xxxx ½ VSTLF AAAT 3. æAN_xxxx ½NVSTLF AAAT (Punkte der Dreiecke) (Normale der Dreiecke) Das ganze führt dann zu 2 kleinen Filterfunktionen, VSTLF für Vertices (Punkte) und Es lassen sich ohne weiteres sehr große NSTLF für Normale. Modelle in den WS bringen, z.B. „Caravan. ÓCR 'VSTLF' STL“ mit einer Matrix von 100000 Zeilen R½VSTLF STLFILE;TSTL;VER und 3 Spalten. Der WS wird einfach auf ä bildet aus ¶FV-File *.stl 400 MB gesetzt. ä eine Matrix n x 3 (numerisch) ä mit n Punkten (3D), fuer z.B. ä Dodekaeder-Matrix 60 x 3 Punkte ÓIO½1 STLFILE½ãSTLFILE~þÓAF 43 9 ä 43 ist '+', 9 ist TAB, C++ STLFILE½,/('-' '¯')REPLACE('e' 'E')REPLACE STLFILE ä C++ ä Alternative mit selektiver Zuweisung ä ((,'e'=STLFILE)/,STLFILE)½'E' ä ((,'-'=STLFILE)/,STLFILE)½'ý' ä STLFILE½,/STLFILE TSTL½TRENTO STLFILE APL - Journal 2007, 26. Jg., Heft 1/2 Mit dieser einfachen Methode ist es mir gelungen, beliebige Modelle aus den verschiedensten 3D-Grafik-Sammlungen ins heimische OpenGL-APL2 zu bringen. Der Anhang zeigt eine kleine Galerie bekannter 3D-Objekte. Sie können dann mit Walts GUIGL-Funktionen im APL2 dargestellt werden. Nachfolgend ein kleines Beispiel mit 2 Objekten (siehe Abb. 7): 13 APL-Journal OpenGL eindrucksvoller 3D-Modelle zu bieten. Die Homepage d Wieso versteife ich mich sovon sehrBeispielprogrammen, auf das STL-Format, viele 3D Anzahl diewo alledoch mit dem View anderen Formaten, wie etwa *.OBJ, *.WRL, *.3ds u.a. vorliegen? Aus Formaten lassen sichFingerübung – manchmalmitüber Umwege – STL-Files generiere JavaView: Mein kleiner Comic: Play with models, a backward gla Variable umgewandelt werden. Mein Hauptprogramm dafür ist das kostenlose JavaView von Konrad P Wer ist das? Zuse-Institut, Berlin, www.javaview.de). Dieses 3D-Programm ist erst daneben aber durchaus auch ein Konverter für zahlreiche, verbreitete F 3D-Modeller. Mit JavaView lassen sich auch 3D-Grafiken aus MATHE MAPLE übernehmen und in STL umwandeln. JavaView hat selbst eine eindrucksvoller 3D-Modelle zu bieten. Die Homepage dieses Viewers z Anzahl von Beispielprogrammen, die alle mit dem Viewer laufen. Sehr mit JavaView: 3D-FormateFingerübung und –Programme, JavaView Mein kleiner Comic: Play with models, a backward glance, Lösung de Wieso versteife ich mich so sehr auf das STL-Format, wo doch viele 3D-Modelle in ganz Na? anderen Formaten, wie etwa *.OBJ, *.WRL, *.3ds vorliegen? Aus Weru.a. das? Na? fast allen anderen 3D- Kuc Formaten lassen sich – manchmal über Umwege – STL-Files generieren, die dann in APL2Variable umgewandelt werden. Mein Hauptprogramm dafür ist das kostenlose JavaView von Konrad Polthier (FU-Berlin und Zuse-Institut, Berlin, www.javaview.de). Dieses 3D-Programm ist erst mal ein 3D-Viewer, daneben aber durchaus auch ein Konverter für zahlreiche, verbreitete Formate und sogar ein Abb. 7: Beispiel mit 2 Objekten 3D-Modeller. Mit JavaView lassen sich auch 3D-Grafiken aus MATHEMATICA und ate und –Programme,MAPLE JavaView übernehmen und in STL umwandeln. JavaView hat selbst eine ganze Sammlung 3D-Formate und –Programme, eindrucksvoller 3D-Modelle zu bieten. Die Homepage dieses Viewers zeigt zudem eine große Formate –Programme, JavaView teife ichJavaView michund so sehr auf das STL-Format, wo doch viele 3D-Modelle in ganz Anzahl von Beispielprogrammen, die alle mit dem Viewer laufen. Sehr empfehlenswert. rmaten, wie etwa *.OBJ, *.WRL, *.3ds u.a. vorliegen? Aus fast allen anderen 3Dso versteife ich mich soüber sehrUmwege auf das wo viele 3D-Modelle assen sich – manchmal –STL-Format, STL-Files dann in APL2- in ganz Wieso versteife ich mich so sehrgenerieren, aufdoch dasdie Fingerübung mit JavaView: eren Formaten, wie etwawo *.OBJ, *.WRL, u.a. vorliegen? mgewandelt werden. STL-Format, doch viele*.3ds 3D-Modelle in Aus fast allen anderen 3DMein kleiner Comic: Play with models, a backward glance, Lösung der Eingangsfrage maten lassen sich – manchmal über Umwege – STL-Files generieren, die dann in APL2tprogramm dafür ist das kostenlose JavaView Konrad Polthier (FU-Berlin und ganz anderen Formaten, wievon etwa *.OBJ, able umgewandelt werden. ut, Berlin, www.javaview.de). 3D-Programm ist erst mal ein 3D-Viewer, *.WRL, *.3ds u.a.Dieses vorliegen? AusWer fast allen das? Na?ein Kuckuck ?! Kuckuck?! nerHauptprogramm dafür ist das kostenlose JavaView von Konrad Polthier (FU-Berlin und durchaus auch ein Konverter für zahlreiche, verbreitete Formate und sogar anderen 3D-Formaten lassen sich – mancher. Mit JavaView lassen sich auch 3D-Grafiken MATHEMATICA und e-Institut, Berlin, Dieses aus 3D-Programm mal überwww.javaview.de). Umwege – STL-Files generieren, ist erst mal ein 3D-Viewer, ernehmen und in STL umwandeln. JavaView hat selbst eine ganze Sammlung eben aber durchaus auch ein Konverter für zahlreiche, verbreitete Formate und sogar ein die dann in APL2-Variable umgewandelt oller 3D-Modelle zu bieten. Die Homepage dieses Viewers zeigt zudem eine große und Modeller. Mit JavaView lassen sich auch 3D-Grafiken aus MATHEMATICA werden. Beispielprogrammen, die alle mit dem Viewer laufen. Sehr empfehlenswert. PLE übernehmen und in STL umwandeln. JavaView hat selbst eine ganze Sammlung rucksvoller 3D-Modelle zu bieten. Die Homepage dieses Viewers zeigt zudem eine große Mein Hauptprogramm dafür ist das kosg mit JavaView: ahl von Beispielprogrammen, die alle mit dem Viewer laufen. Sehr empfehlenswert. tenlose von glance, Konrad Polthier er Comic: Play with JavaView models, a backward Lösung der Eingangsfrage (FU-Berlin und Zuse-Institut, Berlin, www. gerübung mit JavaView: javaview.de). Dieses 3D-Programm ist erst n kleiner Comic: Play with models, a backward glance, Lösung der Eingangsfrage mal ein 3D-Viewer, daneben aber durchaus auch ein Konverter für zahlreiche, verbreiWer das? Na? Kuckuck ?! Ach, so ?! tete Formate und sogar ein 3D-Modeller. Ach, so?! Mit JavaView lassen sich auch 3D-Grafiken aus MATHEMATICA und MAPLE übernehmen und in STL umwandeln. JavaView hat selbst eine ganze Sammlung eindrucksvoller 3DModelle zu bieten. Die Homepage dieses Viewers zeigt zudem eine große Anzahl von Beispielprogrammen, die alle mit dem das? Na? Kuckuck ?! Ach, so ?! Viewer laufen. Sehr empfehlenswert. Fingerübung mit JavaView: Frage: Wer Wer das? Na? Kuckuck ?! ist das? 14 Abb. 8: Play with models, a backward Ach, so ?! glance APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal OpenGL unterschiedlichen 3D-Formaten bearbeiten, eigene Java-Programme zusammen mit JavaView entwickeln und vor allem webfähige-Applets, auch als Animationen erstellen. Jedes Wintersemester bildet Konrad Polthier über 40 Studenten an seinem JavaView und anderer Grafiksoftware aus. Es entstehen als Abschlussarbeiten der Studenten damit sehr anspruchvolle Projekte zu Themen wie Delauny-Triangulierung, 3D Vector Fields, Random Walk Solution of Laplace Equation und etwa zehn weiteren. und wie wir SIE kennen und lieben in JavaView azu noch die Gläserne die Schuppenkuh und ein ordentliches Stück davon Abb. 9:Kuh, Nofretete in JavaView Abb. 9 und 10 zeigen Nofretete sowie die Gläserne Kuh, die Schuppenkuh und ein ordentliches Stück davon in JavaView. Starke Modelle sind aus den Bereichen Minimalflächen und anderen mathematischen Themenstellungen vorhanden, oft extra aus MAPLE und MATHEMATICA importiert. In Abb.11 zeigt zwei Minimal-Flächen (JavaView) und ein Beispiel aus Maple - in JavaView importiert. JavaView ist natürlich nicht zum Spielen gedacht, verführt aber dazu. Ein anderer 3D-Viewer/Konverter ist Quick 3D. Er konvertiert ca. 25 Formate, darunter und wie wirreichlich SIE kennen und lieben in JavaView Für seriöse Anwendung ist Dazu noch die Gläserne Kuh,aber die Schuppenkuh und ein ordentliches Stück davon vaView ist natürlich nicht zum Spielen gedacht, verführt dazu. gesorgt, man kann zahllose Modelle in • 3DS MAX® (.3ds and .prj) ür seriöse Anwendung ist reichlich gesorgt, man kann zahllose Modelle in unterschiedlichen D-Formaten bearbeiten, eigene Java-Programme zusammen mit JavaView entwickeln und or allem webfähige-Applets, auch als Animationen erstellen. Jedes Wintersemester bildet onrad Polthier über 40 Studenten an seinem JavaView und anderer Grafiksoftware aus. Es ntstehen als Abschlussarbeiten der Studenten damit sehr anspruchvolle Projekte zu Themen ie Delauny-Triangulierung, 3D Vector Fields, Random Walk Solution of Laplace Equation nd etwa 10 weiteren.. arke Modelle sind aus den Bereichen Minimalflächen und anderen mathematischen hemenstellungen vorhanden, oft extra aus MAPLE und MATHEMATICA importiert. Hier Minimal-Flächen (JavaView) und ein Beispiel aus Maple - ins JavaView importiert. Abb. 10: Weitere 3D-Modelle JavaView ist natürlich nicht zum Spielen gedacht, verführt aber dazu. Für seriöse Anwendung ist reichlich gesorgt, man kann zahllose Modelle in unterschiedlichen 3D-Formaten bearbeiten, eigene Java-Programme zusammen mit JavaView entwickeln und vor allem webfähige-Applets, auch als Animationen erstellen. Jedes Wintersemester bildet Abb. 11: Konrad Polthier über 40 Studenten an seinem JavaView und anderer Grafiksoftware aus. Es entstehen als Abschlussarbeiten der Studenten damit sehr anspruchvolle Projekte zu Themen 2 Minimal-Flächen wie Delauny-Triangulierung, 3D Vector Fields, Random Walk Solution of Laplace Equation (JavaView) und ein und etwa 10 weiteren.. Beispiel aus Maple Starke Modelle sind aus den Bereichen Minimalflächen und anderen mathematischen - ins JavaView Themenstellungen vorhanden, oft extra aus MAPLE und MATHEMATICA importiert. Hier importiert 2 Minimal-Flächen (JavaView) und ein Beispiel aus Maple - ins JavaView importiert. APL - Journal 2007, 26. Jg., Heft 1/2 15 APL-Journal OpenGL • • • • • Truespace® (.cob and .scn) DXFTM Movie BYU (.byu) Stereo-CAD 3D (.3d2) Stereolithography STL (.stl) usw. Homepage: http:/www.quick3d.com/ index.html Möchte man nicht nur vorgefertigte Modelle übernehmen, greift man zu 3D-Modellern (auch 3D-Modeler). Es gibt zahlreiche, Freeware, Shareware, auch Trialversionen kommerzieller Produkte wie MAYA, 3DStudio, 3D-Max. Alle mit den verschiedensten Eigenschaften im Design, in Import/ Export, Druckmöglichkeiten usw. Einige, die mir besonders aufgefallen sind: Art of Illusion, Export: *.obj, *.pov,, MeshWorks Lite (snap to clipboard, gut), GiD., PoseRay, DistCAD 2.0, AccuTrans 3D (und ganz viele andere). gem Suchen einen geeigneten Konverter: PoseRay (für chess.pov). Nachfolgend werden Modelle verschiedenster Herkunft und Formate als Galerie gezeigt (mein WS GGLTOB21.atf erfordert Walts GUIGL. Bitte bei mir anfordern, Adresse siehe unten). Die Bilder habe ich als Snapshots aus MeshWorks (mit F12) entnommen. Sie sehen daher manchmal etwas anders aus als meine APL2-Modelle. Bei denen sind die Rückseiten nicht beleuchtet (leicht zu erreichen; dies sollte der Artikel ja gerade aufzeigen). Die verschiedenen 3D-Formaten besitzen höchst unterschiedlichen Informationsgehalt: • • • • RAW fast nur Punkte, aus denen dann Polygone gebildet werden. STL Punkte (als Polygone angeordnet), zusammen mit ihren Normalen für die Beleuchtung OBJ Punkte und Indices (Normale können berechnet werden), kleiner als die STL-Files WRL Farben, Texturen, Punkte und Indices Triangle Torus 1/3 time Die nachstehende Abbildung wurde direkt übernommen aus:http://www.cs.duke. edu/~edels/Tubes/tori/tri/ Während des vergangenen APL-Herbsttreffens in Berlin (8./9. November 2007) hielt H. Engelke einen Vortrag über Visualisierung musikalischer Tonräume in APL2 (sehr eindrucksvoll!). Dabei „ging“ ein Kunststoff-Modell von einem zweiseiEinzig für das Format von Cinema 4D® (. tigen (?), verdrehten Torus durchs Pubc4d) habe ich keine (kostenlose) Umwand- likum zusammen mit der Frage: Wieviel lung gefunden. Einige Konverter bieten das Flächen? Format zwar an, es bezieht sich aber auf Genau diese Frage stellte ich mir bei den ältere Version von Cinema 4D® (.c4d). Für das Format von 3D Canvas, mit dem Walt Modellen von Herbert Edelsbrunner auf Niehoff gearbeitet hat, fand ich nach eini- seiner Internetseite (Link siehe oben). Will man selber für das APL2 Modelle entwerfen, dann geht’s über einen Modeler mit Zwischenstufen möglichst bis zum STL und von da aus in die APL-Variablen. 16 APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal OpenGL Triangle Torus Vorgeführt werden dort Tori mit dreieckiIch will die Fragestellung weitergeben: 1/3 time gem Querschitt, und mit quadratischem, Wieviel Flächen hat der oben gezeigte Torus 5- und 6-eckigem. verschiedenste mit dreieckigem Querschnitt, der ein drittel direkt übernommenDurch aus: http://www.cs.duke.edu/~edels/Tubes/tori/tri/1.html Drehungen entstehen daraus „Möbius-Tori“ Mal gedreht wurde. Am Ende der nach(oderWährend auch „Möbius-Stäbe“ oder „Möbiusfolgenden Galerie präsentiere ich meinen des letzten APL-Herbsttreffens in Berlin (8./9. November 2007) hielt H. Engelke Prismen“?!, Eigennamen von mir). einen Vortrag über Visualisierung musikalischerLösungsansatz. Tonräume in APL2 (sehr eindrucksvoll!). Dabei „ging“ ein Kunststoff-Modell von einem zweiseitigen (?), verdrehten Torus durchs Gallerymit ofder 3D-Objects in GUIGL/APL2 (STL-Files) Publikum zusammen Frage: Wieviel Flächen? All bmp Images with MeshWorks Lite 1.03 (Demo version <F12>) http://www.fpsols.com/meshlib.hlml Genau diese Frage stellte ich mir bei den Modellen von Herbert Edelsbrunner auf seiner Internetseite (Link siehe oben). Vorgeführt werden Tori mit dreieckigem Querschitt, und mit quadratischem, 5- und 6-eckigem. Durch verschiedenste Drehungen entstehen daraus „Möbius-Tori“ (oder auch „Möbius-Stäbe“ oder „Möbius-Prismen“ ?!, Eigennamen von mir). Kurz und gut, ich will die Frage weitergeben. Wieviel Flächen hat der oben gezeigte Torus mit dreieckigem Querschnitt, der ein drittel mal gedreht wurde. Mein Lösungsansatz am Ende meiner APL2-3D-Galerie. APL - Journal 2007, 26. Jg., Heft 1/2 17 APL-Journal OpenGL 18 STL-models from „l80 Wrapped Tubes“: http://www.cs.duke.edu/-edels/Tubes/index.html The paper ISO Wrapped Tubes is available in pdf format: http://www.cs.duke.edu/~edels/Tubes/jucs.pdf APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal OpenGL 1 2 3 4 5 6 Ameise, ant stl-file, source: unknown Blumentopf, stl-file, source: www.cad.um-bavreuth.de/windows-grafik.htm Cow_5804, stl-file, source: JavaView cow_5804.byu converted into *.stl Chessnew, stl-file, source: 3D Canvas chess.3DC converted with JavaView Dolphins, stl-file, source: ??? see *.obj-files on Server http://www.csie.ntu.edu.tw/~b92029/data/VR/glsamples/smooth/data/ Elephant, stl-files, source: ??? APL - Journal 2007, 26. Jg., Heft 1/2 19 APL-Journal OpenGL 20 APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal OpenGL APL - Journal 2007, 26. Jg., Heft 1/2 21 APL-Journal OpenGL 1 Fly, stl-file, source: CD from „500 3D-Objects“ as *.3ds-file (www.deespona.com) 2 Hands, stl-file, source: ??? 3 HorseU, stl-file, source: JavaView (jv) horseUnfold.jvx converted with jv 4 Koenig, stl-file, source: www.cad.uni-bavreuth.de/windows-grafik.htm 5 Nofretete, stl-file, source: unknown 6 Pharaoh, stl-file, source: ???, see: http://www-c.inria.fr/gamma/download/affichage.php?dir= CHARPEOP&name=pharaoh 22 APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal OpenGL Lösungsansätze für Frage von Seite 17 Lösungsansätze: a) pragmatisch, b) mit etwas Überlegung c) Schema ohne Diagramm a) 3D-Modell, z.B. in Quick-3D drehen.. Das eingeblendete Koordinaten-Kreuz hilft einem, die Übersicht zu behalten. Sicher wird man beim Drehen irgendwie feststellen: nur eine Seite b) Ich überlege mir: ein Dreieck hat 3 Eckpunkte, ein dreiseitiger Stab 3 Kanten.. Drehe ich nun den Stab um 1/3 (im Uhrzeigersinn) und verbinde die Enden zum Torus, so läuft Kante 1 an der „Klebestelle“ in die Kante 3. Laufe ich auf Kante 3 wieder bis zur Klebestelle, so geht’s auf Kante 2 weiter, bis ich wieder auf Kante 1 gelange. Bedeutet also: nur eine durchlaufende Kante, nur eine einzige Fläche. c) Die Idee hab ich mal etwas systematisiert: hier ohne Schema-Zeichnung 1) ein Band hat 2 Kanten und 2 Flächen. Verdreh’ ich das Band, erhalte ich ein Möbius-Band.. Schema 1 2 (1 und 2 sollen die Kanten sein) Gedreht: 2 1 (Situation an der Klebestelle) Schema soll so gelesen werden: aus der oberen Reihe (1) auf die untere (2), von da wieder nach oben (2), von da zu wieder(1). Zyklus ist also geschlossen: 1->2-2->1. Möbius–Streifen: 1 Kante, 1 Seite. 2) 3-eckiger Stab, Drehung : 0/3 1/3 2/3 3/3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 3 1 2 2 3 1 1 2 3 ergibt für den Torus: 3 Flächen 1 Fläche 1 Fläche 3 Flächen 3) 4-eckiger Stab ergibt : 0/4 1 2 3 4 1 2 3 4 4 Flächen 1/4 1 2 3 4 4 1 2 3 1 Fläche 2/4 1 2 3 4 3 4 1 2 2 Flächen 3/4 1 2 3 4 2 3 4 1 1 Fläche 4/4 1 2 3 4 1 2 3 4 4 Flächen Beispiel Drehung 1/4 : (1->4-4->3-3->2-2->1) (ein Zyklus, 1 Fläche ) Beispiel Drehung 2/4 (1->3-3->1 ), (2->4-4->2) (zwei Zyklen, 2 Flächen) x->y soll bedeuten Übergang an der Klebestelle von Kante x auf Kante y. x-x soll bedeuten Laufen auf der Kante x Mit der Methode lässt sich auch altes Kinderwissen bestätigen, dass ein MöbiusStreifen, längs geschnitten, wieder einen Streifen mit zwei Flächen ergibt. Adresse des Autors: Hendrik Rama, Lassenstr. 6, D-14193 Berlin, eMail: rama@cs.tu-berlin.de. APL - Journal 2007, 26. Jg., Heft 1/2 23 APL-Journal GPS-Info System Reiner Nussbaum gift_ALU GPS-info Der vorliegende Artikel behandelt das Problem, bei gestohlenen Mobilgeräten den rechtmäßigen Eigentümer zu ermitteln. Insbesondere wird der Umstand behandelt, dass bei passwortgeschützten Geräten bestimmte Informationen auf externen Speichermedien abgelegt werden, so dass Eigentümerinformationen ermittelt werden können, ohne auf nur intern verfügbare Informationen zurückgreifen zu müssen. Die interessanten Informationen können beispielsweise über die Zeitinformation der letzten Änderung herausgefunden werden. Ein anderer Ansatz ist, bestimmte Dateierweiterungen zu untersuchen, welche auf Konfigurations- oder ‚point of interest’ Daten deuten. Des Weiteren wird auf die Problematik eingegangen, dass GPS-Informationen in einer Vielzahl von Darstellungsformen abgespeichert werden. Für den praktischen Einsatz ist das GPSIn diesem Beitrag unterscheiden wir Info System für mehrere Arbeitsgruppen nachstehende Methoden, um in den Besitz parallel verfügbar. Neben der Ausgabe der solcher Mobilgeräte zu kommen: aufgefundenen GPS Informationen in Textform, etwa für die Akten, ist auch eine in- • Interessierte Personen, kaufen das ternetfähige HTML Schnittstelle vorhanden, Mobilgerät im Handel (Elektronik Fachso dass die aufgefundenen Geodaten auch geschäfte, Ebay, …). Mobilgeräte mit graphisch auf einer Landkarte dargestellt GPS Funktion sind sehr nützlich, die werden können. Software ist i.d.R gut und das Kartenmaterial auch. Mit solchen Geräten kann man sehr zufrieden sein. Diese Problemstellung rechtmäßigen Besitzer sind die ZielDieser Artikel behandelt das Problem, gegruppe im Sinne dieses Beitrages. stohlene Mobilgeräte dem rechtmäßigen • Eine andere Gruppe beschäftigt sich Besitzer wieder zuordnen zu können. Thedamit, beispielsweise am Straßenrand ma sind Mobilgeräte mit GPS Funktionen, oder in Parkhäusern nach Fahrzeugen welche Informationen (auch) auf externen Ausschau zu halten, in denen interesSpeichermedien, etwa SD-Karten oder CFsante Gegenstände sichtbar sind oder Karten usw. ablegen. Auf diese Daten kann vermutet werden. So kann es vorkomauch dann zugegriffen werden, wenn das men, dass ein Fahrzeug aufgebrochen Mobilgerät selbst passwortgeschützt ist wird und alle Gegenstände von Wert und somit der Eigentümer nicht unmittelentwendet werden. Neben den entwenbar festgestellt werden kann. Das gleiche deten Gegenständen ist natürlich auch Problem stellt sich auch, wenn der Akku der am Fahrzeug entstandene Schaden des Gerätes leer ist. für den Eigentümer sehr ärgerlich. Für 24 APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal GPS-Info System die Gruppe der Diebe ist der Vorfall nen Speichern, wie SD- oder CF-Karten natürlich (zunächst) erfreulich. ausgelagert sind. Diese lassen sich einfach • Eine weitere Gruppe, welche hier von aus dem Gerät entfernen und auswerten. Interesse ist, beschäftigt sich mit den Somit ist eine Möglichkeit vorhanden, Sorgen der ersten Gruppe und dem um den Eigentümer zu ermitteln und den Problem, welches die zweite Gruppe ‚Kreislauf’ zu schließen. darstellt. Im Rahmen polizeilicher Routinekontrollen, oder bei Ermittlungen Betrieb von gift-ALU GPS-info auf besonderen Verdacht, kommt es vor, dass Diebesgut in größeren oder Die Idee des gift-ALU GPS-info Systems kleineren Mengen sichergestellt wird. besteht darin, mehreren Ermittlergruppen In solchen Fällen, welche für die zweite gleichzeitig Zugriff auf die AuswertungsmeGruppe nicht erfreulich ist, stellt sich chanismen zu geben. Natürlich sind die jedie Frage, wie mit den sichergestellten weiligen Ein- Ausgabebereiche voneinander Dr.Nußbaum Gruppe ist vorgesehen, Sachen umgegangen werden soll. Aus getrennt. Für jede g beliebig ift viele ‚Fälnahe liegenden Gründen können sol- dass im Eingabebereich che Geräte natürlich nicht wieder dem le’ in der Form von Unterordnern eröffnet Handel zugeführt werden. Vielmehr ist werden können. In diese fallbezogenen Unes die von Aufgabe der GPS-info Ermittlungsorgane, terordner werden anschließend die Dateien, 2. Betrieb gift-ALU sichergestelltes Diebesgut wieder dem welche als relevant angesehen werden, von externen Speicherkarten kopiert. rechtmäßigen Eigentümer zugänglich Die Idee des gift-ALU GPS-info Systems besteht darin,den mehreren Ermittlergruppen zu machen. Ansonsten besteht nur die gleichzeitig Zugriff auf die Auswertungsmechanismen zu geben. Natürlich sind die Um eine möglichst rasche Verarbeitung Option, sichergestellten Geräte zu Für jeweiligen Ein- die Ausgabebereiche voneinander getrennt. jede Gruppe ist vorgesehen, sicherzustellen, ist als vernichten, was die betroffenen Eigendass im Eingabebereich beliebig viele ‚Fälle’ in der Form von Unterordnern eröffnet Trägersystem für GPS-info das ereignisgesteuerte System tümer auch nicht weiter bringt. werden können. In diese fallbezogenen Unterordner werden anschließend die Dateien, gift-ALU im Einsatz. Dieses System überwelche als relevant angesehen werden, von den externen Speicherkarten kopiert. fortlaufendfürdie vorgesehenen EinBei eine aufgefundenen ist in der wacht Um möglichst rascheMobilgeräten Verarbeitung sicherzustellen, ist als Trägersystem GPS-info gangsbereiche und startet die GPS-info VerRegel ein Passwortschutz eingestellt, damit das ereignisgesteuerte System gift-ALU im Einsatz. Dieses System überwacht fortlaufend arbeitung, sobald eineeine Datei in einem (ggf. kein Zugang durch unbefugteund möglich ist. die vorgesehenen Eingangsbereiche startet die GPS-info Verarbeitung, sobald neu erstellten) Fall-Ordner erkannt wird. Andererseits kommt es vor, dass der Akku Datei in einem (ggf. neu erstellten) Fall-Ordner erkannt wird. Alle Komponenten sind Komponenten sind plattformübergreides Gerätes leer ist,sowenn dieAuswertungssystem Tat eine Weile Alle plattformübergreifend, dass das auf Unix, Linux oder Windows fend, so dass das Auswertungssystem auf zurückliegt. Damit ist ein direkter Zugang implementiert werden kann. Verzeichnisverweise und Netzfreigaben erlauben es, dass Linux selbst oderdann Windows auf Besitzerinformationen nicht anschließend die Ermittlungsgruppen mit gegeben. der GPS-info Unix, Funktionalität versorgt implementiert werden kann. Verzeichnisverweise und Für Geräte, welche über GPS Funktionen werden können, selbst wenn die Software dort nicht installiert ist. verfügen, kann daher der Umstand hilfreich Netzfreigaben erlauben es, dass anschließend die Ermittlungsgruppen sein, dass einige Informationen auf exterIn der folgenden Abbildung wird die Anlieferung von Dateien zur Auswertung dargestellt: mit der GPSAbb. 1: Anlieferung von Dateien zur Auswertung Durch die Tatsache, dass in dem Eingabebereich ein Unterordner ‚061127_40Y_apl’ angelegt wurde,2007, welcher APL - Journal 26. nun Jg., Dateien Heft 1/2enthält, kann ohne weitere Aktivität seitens der Ermittler die Auswertung der angelieferten Dateien erfolgen. 25 APL-Journal GPS-Info System info Funktionalität selbst dann versorgt werden können, selbst wenn die Software dort nicht installiert ist. lungsarbeiten oder für Archivzwecke (elektronische Akte) verwendet werden. • Eine html-Seite, welche die gefundeIn Abbildung 1 wird die Anlieferung von nen GPS Informationen enthält. Über Dateien zur Auswertung dargestellt: geeignete Verweise ist es anschließend unmittelbar möglich, die GPS InformaDr.Nußbaum Durch die Tatsache, dass in dem Eingabetionen auf einer Landkarte darstellen g i f t kommen öfbereich ein Unterordner ‚061127_40Y_apl’ zu lassen. Als Landkarten angelegt wurde, welcher nun Dateien entfentliche Informationen oder auch spehält, kann ohne weitere Aktivität seitens zielle kommunale Landkarten mit einem Nach der Verarbeitung der angelieferten erfolgt die Ausgabe der erkanntenDetaillierungsgrad in der Ermittler die Auswertung derDateien angelieweitergehenden Informationen in dem entsprechenden Ausgabebereich. Ggf. wird zunächst ein zu Lösung dem ferten Dateien erfolgen. Frage. Die html hat den VorFall gehörendes Unterverzeichnis angelegt. Nachstehende Informationen werden dort teil, dass eine unmittelbare Zuordnung abgeliefert: Nach der Verarbeitung der angelieferten von GPS Geodaten zu Orten, Strassen Dateien erfolgt die Ausgabe der erkannten und Hausnummer möglich ist, so dass - Die Originaldatei selbst. Informationen in dem entsprechenden Ausein sehr einfacher Abgleich mit als ge- Eine Meldungsdatei, wenn aus der angegebenen Datei keine Informationen extrahiert gabebereich. Ggf. wird zunächst ein zu dem stohlen gemeldeten Geräten möglich werden konnten. Fall gehörendes Unterverzeichnis angelegt. ist. Dies vereinfacht die Zuordnung zu - Eine Textdatei, in der alle gefundenen GPS Informationen enthalten sind. Aus Nachstehende Informationen werden dort den rechtmäßigen Eigentümern entpraktischen Überlegungen werden die GPS Informationen in verschiedenen abgeliefert: scheidend. Darstellungsformen, als Grad und Bruchteile davon, sowie in der Schreibweise Grad, Minuten, Sekunden und Bruchteilen von Sekunden angegeben. Diese Datei kann für • Die Originaldatei selbst. Um das obige Beispiel fortzuführen, würde weitere Ermittlungsarbeiten oder für Archivzwecke (elektronische Akte) verwendet • Eine Meldungsdatei, wenn aus der an- das Ausgabeverzeichnis demnach wie folgt werden. gegebenen Informationen aussehen (siehe - Eine html Seite, Datei welche keine die gefundenen GPS Informationen enthält. ÜberAbbildung geeignete 2): extrahiert werden konnten. Verweise ist es anschließend unmittelbar möglich, die GPS Informationen auf einer • Landkarte Eine Textdatei, in lassen. der alle Auswertung der gefundenen darstellen zu Alsgefundenen Landkarten kommen öffentliche Informationen GPS Informationen enthalten sind. Aus GPS-Informationen oder auch spezielle kommunale Landkarten mit einem weitergehenden praktischen Überlegungen werden die Detaillierungsgrad in Frage. Die html Lösung hat den Vorteil, dass eine unmittelbare Nachdem diemöglich bereitgestellten Daten von GPS Informationen in verschiedenen Zuordnung von GPS Geodaten zu Orten, Strassen und Hausnummer ist, so gift-ALU GPS-info verarbeitet wurden, kann Darstellungsformen, und gemeldeten dass ein sehr einfacher Abgleichals mit Grad als gestohlen Geräten möglich ist. auf zwei Wegen die weitere Ermittlung Bruchteile davon, sowie in der SchreibDies vereinfacht die Zuordnung zu den rechtmäßigen Eigentümern entscheidend. weise Grad, Minuten, Sekunden und stattfinden. Die erste Methode besteht in der Auswertung der Textdateien. Bruchteilen von Sekundenwürde angegeben. Um das obige Beispiel fortzuführen, das Ausgabeverzeichnis demnach wieerstellten folgt Diese Datei kann für weitere Ermitt- Dort sind geographische Informationen und aussehen: Abb. 2: Ausgabeverzeichnis 26 APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal GPS-Info System – soweit vorhanden ‒ Textinformationen geEine zweite Methode ist das Verwenden speichert. Für point of interest Dateien sieht der erstellten html Seiten. Mittels der html das Ergebnis beispielhaft wie folgt aus: Seiten können die Geodaten aus den GPS Dr Dateien auf einer Landkarte dargestellt NORD OST DMSNORD2 DMSOST2 TEXT werden. Je nach Einsatzzweck können öf49.95343 7.92416 49:57:12.34 07:55:26.97 Bingen FH fentliche Informationen oder auch spezielle 51.2124 6.77682 51:12:44.64 06:46:36.55 Düsseldorf - Rsgv Um das Beispiel fortzuführen, wird hier anhand des Ortes IBM Ehningen, wel 48.65409 8.94522 48:39:14.72 08:56:42.79 Ehningen - IBM kommunale Landkarten mit zusätzlichen 49.45253 11.04931 49:27:09.1 11:02:57.51 Nbg datev einer point of interest Datei extrahiert wurde, graphisch dargestellt. Informationen oder einer weiteren Detail... lierungsstufe In der Detailsicht erhälteingebunden man diese Information:werden. Ein Bei bestimmten Konfigurationsdateien großer Vorteil dieser Vorgehensweise ist, kann man auch einen Volltreffer erzie- dass damit sehr einfach Orte, Strassen bzw. len, wenn an einer eindeutigen Stelle der Hausnummern aus den Geodaten ersicht‚Heimatort’ des Besitzers gespeichert ist. lich sind. Falls, wie in dem zweiten TextbeiDas Problem des Herausfindens dieser spiel, aus den Eingabedaten der ‚Heimatort’ Information ist natürlich von Hersteller zu zugeordnet werden kann, ist das Problem Hersteller unterschiedlich. Wenn dies aber ‚Finde den rechtmäßigen Eigentümer’ im gelingt, dann kann der Besitzer sehr einfach Wesentlichen gelöst. ausfindig gemacht werden. Nachfolgend ein Beispiel dazu (siehe Abbildung 2): Um das Beispiel fortzuführen, wird hier anhand des Ortes IBM Ehningen, welcher NORD OST DMSNORD DMSOST TEXT aus einer „Point of interest“-Datei extra49.49746 8.54101 49:29:50.85 08:32:27.63 [HEIMATORT] Mannheim… 49.52093 8.55629 49:31:15.34 08:33:22.6 Straßenheim (Mannheim) hiert wurde, graphisch dargestellt. Die In50.09523 8.6073 50:05:42.82 08:36:26.31 Griesheim (Frankfurt… formation, die man in der Detailsicht erhält, 47.39249 8.48727 47:23:32.96 08:29:14.17 Zürich CH Vulkanstrasse 70 ... wird in Abbildung 3 dargestellt. Abbildung Zweck der Textdateien ist, dass damit 4 enthält eine Übersichtsansicht: Eine Übersichtsansicht ist hier angegeben: eine sehr einfache Form der Dokumentation von Geodaten realisiert werden kann. Ein einfacher Ausdruck genügt. Die DokumenDr.Nußbaum tation ist aus zweierlei Hinsicht erforderlich: gift zum einen wird ein starker Hinweis auf den rechtmäßigen Eigentümer gegeben und Um das Beispiel fortzuführen, wird hier anhand des Ortes IBM Ehningen, welcher aus zum zweiten wird ein Hinweis darauf geeiner point of interest Datei extrahiert wurde, graphisch dargestellt. geben, dass es sich bei dem in Frage komIn der Detailsicht erhält man Information: handelt. menden Gerät umdiese Diebesgut Abb. 4: Übersichtsansicht Technik: Lösung für unterschiedliche Dateiformate gift-ALU GPS-info Abb. 3: Detailsicht info@nussbaum-gift.de Im Folgenden beschränken wir uns auf das Auswerten von Informationen, welche von GPS Software unterschiedlicher Hersteller gespeichert wird. In der Praxis stellt sich Eine Übersichtsansicht ist hier angegeben: APL - Journal 2007, 26. Jg., Heft 1/2 27 gift APL-Journal 4. Technik: Lösung für unterschiedliche Dateiformate Im Folgenden beschränken wir uns auf das Auswerten von Informationen, welche von GPS Software unterschiedlicher Hersteller gespeichert wird. In der Praxis stellt sich das GPS-Info System Problem, dass zwar viele Hersteller Informationen auf externen Speichermedien ablegen, dies aber in unterschiedlichen, durchaus kreativen Verfahren. So kommt es vor, dass GPS Daten in einem Excel Austauschformat, mit sich Trennzeichen, abgelegt werden. das Problem, dassähnlichem zwar viele Hersteller Inum Daten, welche zu DemonstrationsInteressanterweise sowohl die Reihenfolgen der Felder alserstellt auch diewurden). Eine wahrscheinformationen aufvariieren externen Speichermedien zwecken Trennzeichen, welche für in die unterschiedlichen, einzelnen Felder zum Einsatz Andererseits können ablegen, dies aber lich kommen. unvollständige Liste von Dateiformaten aber auch Daten in einem Verfahren. interessanten Binärformat vielmals durchaus kreativen So kommtvorliegen, einigerwas Hersteller: problematisch ausDaten der Sicht einer APL Anwendung es vor, dass ist, GPS in einem Excel ähn- aber keine Hürde darstellt. lichem Austauschformat, mit Trennzeichen, • TomTom: .cfg .asc .csv .itn .ov2 .ovr Um die Freude an interessanten Aufgabenstellungen erhöhen, werden Entwickler von abgelegt werden. Interessanterweise va-zu • Navio: .asc Analysesystemen damit verwöhnt, dass die Hersteller zwischen einzelnen riieren sowohl die Reihenfolgen der Felder • Garmin: .csv Programmversionen die internen Dateistrukturen variieren. als auch die Trennzeichen, welche für die • Navman: .csv einzelnen Felder zum Einsatz kommen. • Navigon: .txt Beispielhaft werden hier einige Datenformate angegeben hier .csv handelt es sich Andererseits können aber auch Daten in •(Hinweis: Miomap: um Daten, welche zu Demonstrationszwecken erstellt wurden): einem interessanten Binärformat vorlie- • GPS exchange format: .gpx gen, was vielmals problematisch ist, aus Hier wahrscheinlich unvollständigeaber Liste keine von Dateiformaten einiger Hersteller: der eine Sicht einer APL Anwendung Text Delimited Dateien: Es sind besonders Hürde darstellt. die Feldreihenfolge und die Auswahl der - TomTom: .cfg .asc .csv .itn .ov2 .ovr Feldreihenfolge interessant (siehe Abbil- Navio: .asc Um die Freude an interessanten Aufga- dung 5). -benstellungen Garmin: .csv zu erhöhen, werden Entwick-ler Navman: .csv von Analysesystemen damit verwöhnt, Eine weitere interessante Darstellung von -dass Navigon: .txt die Hersteller zwischen einzelnen GPS Informationen ist im XML Format für -Programmversionen Miomap: .csv die internen Datei- .gpx Dateien (siehe Abb. 6). -strukturen GPS exchange format: .gpx variieren. Für .csv Dateien wird ein ProgrammausBeispielhaft werden hier einige Datenfor- schnitt gezeigt (siehe hierzu Abbildung 7), Text Delimited Dateien: wie bereits erwähnt ist besonders Feldreihenfolge und diein APL manchmal mate angegeben (Hinweis: hier handelt es derdiebelegt, dass auch Auswahl der Feldreihenfolge interessant. Dr.Nußbaum gift gift-ALU GPS-info info@nussbaum-gift.de Seite - 9 - Abb. 5: Text Delimited Dateien: Feldreihenfolge und Auswahl der Feldreihenfolge 28 APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal GPS-Info System Dr.Nußbaum gift Für .csv Dateien wird hier ein Programmausschnitt gezeigt, auch in APL für manchmal Abb. 6: Darstellung von GPS Informationen imdass XML Format .gpx Dateien Eine weitere Darstellung von GPS Informationen ist im XML Format für .gpx mehrere Zeileninteressante durchaus notwendig und sinnvoll sind: Dateien: Abb. 7: Programmausschnitt (csv-Dateien) Dr.Nuß Dr.N Binärdateien: Binärdateien: Ein Beispiel einer Point of interest Datei: Ein Beispiel einer Point of interest Datei: Aus technischer Sicht interessant ist die Speicherplatzsparende Art, in der die GPS Informationen abgelegt werden. Die Auswertung ergibt zunächst: Aus technischer Sicht interessant ist die Speicherplatzsparende Art, in der die GP Informationen abgelegt werden. Die Auswertung ergibt zunächst: mehrere Zeilen durchaus notwendig und sinnvoll sind. 256�èHEX2DEC þâ[2]4 2æ'3AA60D00' 894522 256�èHEX2DEC þâ[2]4 þâ[2]4 2æ'813D4A00' 2æ'3AA60D00' 256�èHEX2DEC 894522 4865409 256�èHEX2DEC þâ[2]4 2æ'813D4A00' 4865409 Das gleiche gilt für das Interpretieren von Wenn inzweiten einem zweiten Schritt eine Auf- erfolgt er XML Dateien im .gpx Format (siehe hierzu Wenn in einem Schritt eine Aufteilung in Grad und –Fragmenten sich: –Fragmenten erfolgt nebenstehende Abbildung 8). gift-ALU GPS-info info@nussbaum-gift.de teilung in Grad und Seite - 10 Wenn in einem zweiten Schritt eine Aufteilung in Grad und –Fragmenten erfolgt ergibt sich: sich: (ö1E5)õ256�èHEX2DEC þâ[2]4 2æ'3AA60D00' Binärdateien: Abbildung 9 zeigt ein Bei- 8.94522 (ö1E5)õ256�èHEX2DEC (ö1E5)õ256�èHEX2DEC þâ[2]4 þâ[2]4 2æ'3AA60D00' 2æ'813D4A00' spiel einer Point of interest Datei. Aus technischer Sicht interessant ist die Speicherplatzsparende Art, in der die GPS Informationen abgelegt werden. Die Auswertung ergibt zunächst: APL - Journal 2007, 26. Jg., Heft 1/2 48.65409 8.94522 (ö1E5)õ256�èHEX2DEC þâ[2]4 2æ'813D4A00' 48.65409 Diese Schreibweise ist nicht immer gebräuchlich. Daher wird nachstehendes Progra für eine weitere Umrechnung (INT2DMS) benutzt. Diese Schreibweise ist nicht immer geDiese Schreibweise ist nicht immer gebräuchlich. Daher wird nachstehendes Prog bräuchlich. Daher wird benutzt. nachstehendes für eine weitere Umrechnung (INT2DMS) 29 APL-Journal Dr.Nußbaum gift GPS-Info System Das gleiche gilt für das Interpretieren von XML Dateien im .gpx Format: Dr.Nußbaum gift Abb. 8: Programmausschnitt (gpx-Dateien) Binärdateien: Ein Beispiel einer Point of interest Datei: Aus technischer Sicht interessant ist die Speicherplatzsparende Art, in der die GPS Informationen abgelegt werden. Die Auswertung ergibt zunächst: 256�èHEX2DEC þâ[2]4 2æ'3AA60D00' 894522 256�èHEX2DEC þâ[2]4 2æ'813D4A00' 4865409 Binärdateien: Dr.Nußbaum gift Ein Beispiel einer Point of interest Datei: Wenn in einem zweiten Schritt eine Aufteilung in Grad und –Fragmenten erfolgt ergibt sich: (ö1E5)õ256�èHEX2DEC þâ[2]4 2æ'3AA60D00' 8.94522 (ö1E5)õ256�èHEX2DEC þâ[2]4 2æ'813D4A00' 48.65409 Abb. 9: Beispiel einer Point of interest Datei Diese Schreibweise ist nicht immer gebräuchlich. Daher wird nachstehendes Programm für eine weitere Umrechnung (INT2DMS) benutzt. Aus technischer Sicht interessant ist die Speicherplatzsparende Art, in der die GPS Informationen abgelegt werden. Die Auswertung ergibt zunächst: 256�èHEX2DEC þâ[2]4 2æ'3AA60D00' 894522 256�èHEX2DEC þâ[2]4 2æ'813D4A00' 4865409 Abb. 10: Programm für eine weitere Umrechnung (INT2DMS) Dr.Nußbaum gift Somit ergibt sich die Auflösung der binären GPS Informationen als Grad, Minuten, Sekunden und Bruchteilen davon: Wenn in einem zweiten Schritt eine Aufteilung in Grad und –Fragmenten erfolgt ergibt (ö1E5)õ256�èHEX2DEC Programm (siehe Abbildung 10) für eine INT2DMS sich: 8 56 42.79 gift-ALU GPS-info info@nussbaum-gift.de Seite - 12 - weitere Umrechnung (INT2DMS) benutzt. þâ[2]4 2æ'3AA60D00' INT2DMS (ö1E5)õ256�èHEX2DEC þâ[2]4 2æ'813D4A00' 48 39 14.72 (ö1E5)õ256�èHEX2DEC þâ[2]4der 2æ'3AA60D00' Somit ergibt sich die Auflösung binägift-ALU GPS-info info@nussbaum-gift.de Seite - 13 8.94522 ren GPS Informationen als Grad, Minuten, Ein weiteres Beispiel für das binäre Spei(ö1E5)õ256�èHEX2DEC Ein weiteres Beispiel das binäreInformationen Speichern von GPS Informationenist ist eineeine Sekunden und Bruchteilen þâ[2]4 davon: 2æ'813D4A00' chern von fürGPS 48.65409 Konfigurationsdatei: 30 APL - Journal 2007, 26. Jg., Heft 1/2 Diese Schreibweise ist nicht immer gebräuchlich. Daher wird nachstehendes Programm für eine weitere Umrechnung (INT2DMS) benutzt. 48 39 14.72 APL-Journal Ein weiteres Beispiel für das binäre Speichern von GPS Informationen ist eine Konfigurationsdatei: GPS-Info System Abb. 11: Konfigurationsdatei In diesem Fall ist das Format(siehe der internen Speicherung die gleiche wie zuvor Konfigurationsdatei Abbildung 11). mittels htmlbeschrieben. Seiten (für eine einfache OriAllerdings unterscheidet sich hier die Suchstrategie für das Auffinden der In diesem Fall ist das Format der internen entierungGPS in Bezug auf das Ermitteln der Informationen. Speicherung das gleiche wie zuvor be- Eigentümer) betont. schrieben. Allerdings unterscheidet sich hier die Suchstrategie für das Auffinden der GPS Informationen. Ausblick / weitere Optionen Es mag sein, dass es für andere Zwecke auch interessant ist, die zur Verfügung stehenden Informationen auch intensiver auszuwerten. So ist es vorstellbar, dass über das bisher beschriebene hinaus auch Informationen über zuletzt besuchte Ziele oder häufig benutzte Ziele von Interesse sein können. Um auf das ursprüngliche Problem zurückzukommen: Es gibt einen linearen Materialfluss von dem rechtmäßigen Besitzer, über den Dieb zu den Ermittlungsbehörden, welche Diebesgut sicherstellen. Mit der VorWas immer auch das Problem ist, es ist liegenden Lösung ist ein Mittel vorhanden, mit APL lösbar, oder es geht nicht. um den Kreislauf zu schließen, das heißt, auch in schwierigen Fällen, die gestohlenen Gegenstände den rechtmäßigen Besitzern Adresse des Autors: wieder zuzuführen. Als herausragende Reiner Nussbaum, Dr. Nußbaum gift mbH, Elemente werden die Schnittstellen für Buchenerstraße 78, D-68259 Mannheim, eine ordnungsgemäße Dokumentation der Tel. 0621.7152190, eMail: info@nussgefundenen Informationen als Textdateien baum-gift.de, Internet: www.nussbaum(für die elektronische Akte) und die Bereitgift.de/ stellung einer optischen Dokumentation Leitfaden über BitLocker Drive Encryption im mobilen und stationären Einsatz info@nussbaum-gift.de Seite - 14 Der Leitfaden geht vom Stand im Herbst 2007 Das Bundesamt für Sicherheit in der Informaaus. Er berücksichtigt jedoch auch voraussichttionstechnik (BSI) und das Fraunhofer-Institut liche Änderungen in Service Pack 1 für Windows für Sichere Informationstechnologie (SIT) haVista sowie in Windows Server 2008, soweit sie ben die Sicherheit der Windowsverschlüsselung derzeit bekannt sind. BitLocker Drive Encryption analysiert und einen Der Leitfaden kann beim SIT heruntergeladen einen Leitfaden erstellt. Die Software gehört zu werden (PDF, ca. 5MB): http://testlab.sit.fraunden ersten massenhaft ausgelieferten Produkhofer.de/bitlocker/BitLocker-Leitfaden.pdf ten, die Trusted-Computing-Technik einsetzen. Der Leitfaden „BitLocker Drive Encryption im Kontakt: Jan Steffan, Fraunhofer-Institut für mobilen und stationären UnternehmenseinsSichere Informationstechnologie, Rheinstr. 75, atz“ erläutert Funktionsweise, Fähigkeiten und D-64295 Darmstadt, Tel. 06151.869-261, Fax Einsatzmöglichkeiten von BitLocker, zeigt das -17 23 72, eMail: Jan.Steffan@sit.fraunhofer.de, erzielbare Sicherheitsniveau, dessen Grenzen Internet: http://sit.sit.fraunhofer.de/, http:// sowie mögliche Nebenwirkungen beim Einsatz testlab.sit.fraunhofer.de/bitlocker/ und gibt Anwendern konkrete Handreichungen. gift-ALU GPS-info APL - Journal 2007, 26. Jg., Heft 1/2 31 APL-Journal Visualisierung musikalischer Akkordräume Helmut Engelke Visualisierung musikalischer Akkordräume in APL2 Ähnlich wie die Grammatik einer Fremdsprache erschließt sich die DurmollHarmonik nicht ohne Mühe. Es gibt eine größere Anzahl von Akkordtypen und viele Regeln für ihre Anwendung in der Komposition. Daher wurde immer wieder versucht, harmonische Zusammenhänge graphisch zu veranschaulichen. Am bekanntesten ist der Quintenzirkel. Strukturierte Programme in APL2 erlauben eine Vielfalt von Teilansichten bei 3D-Modellen. In dieser Arbeit stehen dreidimensionale Darstellungen im Mittelpunkt. Zur Vereinfachung der harmonischen Verhältnisse werden nur Dur- und Molldreiklänge und deren Beziehungen untereinander untersucht. Als Tonvorrat wird eine Tonleiter mit 12 Halbtönen in gleichstufiger Stimmung angenommen. In dieser Stimmung können beliebige enharmonische Verwechslungen vorgenommen werden. Wer sich mit mehrstimmiger Musik beschäftigt, hat früher oder später das Bedürfnis, mehr über Harmonielehre zu erfahren. Während ein Hörer schon mit Grundkenntnissen auskommt, um Musik besser zu verstehen und genießen zu können, will der ausübende Musiker den Hörer mit seiner Interpretation beeindrucken. Hierzu analysiert er auch harmonische Abläufe, um den Sinn einer Komposition klar und deutlich herauszuarbeiten. Und natürlich der Komponist: er will Harmonien - die vertikale Dimension der Musik - zusammen mit den horizontalen Dimensionen Melodie und Rhythmus voll ausschöpfen, um seine musikalischen Ideen zu verwirklichen. Beherrscht er die Harmonielehre, so stehen ihm eine Vielfalt an Klang- und Ausdrucksmöglichkeiten zur Verfügung. Musik von 1600 bis 1900 lässt sich durch die in vielen Entwicklungsschritten ent- 32 standene Durmoll-Harmonik beschreiben. Gioseffo Zarlino (1517-1590) hat in seinem Werk „Le istitutioni harmoniche“1 die Harmonielehre durch eine Analyse der damals vorherrschenden Kirchentonarten und die Unterscheidung von Dur- und Molldreiklängen begründet. Der französische Komponist Jean-Philippe Rameau2 (1683-1742) und der Musiktheoretiker Hugo Riemann (1849-1919) – um nur zwei Vertreter zu nennen – haben sie entscheidend weiter entwickelt. Die von Riemann eingeführte Funktionstheorie3 wird heute vorwiegend verwendet und ersetzt die etwas ältere Stufentheorie. 1G. Zarlino, Le istitutioni harmoniche (1558) 2J.-Ph. Rameau, Traité de l’harmonie (1722) 3 H. Riemann, Handbuch der Harmonilehre (1887) APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal Visualisierung musikalischer Akkordräume Abb. 1: Riemannsche Funktionen und Kadenzen Abb. 1 Riemannsche Funktionen und Kadenzen Man beachte, Tonika T einer jeweilsFremdeinen Ton mitZentrum D und S durch gemeinsam hat, während Ähnlich wiedass diedie Grammatik nale eine zeitliche Folgesie von zusammen mit Tg, Tp und t jeweils zwei gemeinsame Töne besitzt. sprache erschließt sich die Durmoll-Harmo- Akkorden wie die der klassischen Kadenz nik nicht ohne Mühe. Es gibt eine größere T-S-D-T etabliert wurde. Anzahl von Akkordtypen und viele Regeln ihre Anwendung in der Komposition. Andere Dreiklänge der zugrunde liegenden 2für Der Durmoll-Kristall Daher wurde immer wieder versucht, har- Dur-Tonleiter sieht Riemann als Vertreter Inmonische diesem Abschnitt soll ein dreidimensionaler abgeleitet werden. Hierzu gibt es Zusammenhänge graphisch zu Akkordraum der drei Hauptfunktionen an und bezeichnet veranschaulichen. AmMan bekanntesten ist der als Nebenfunktionen. Der Dreiklang zwei Vorgehensweisen. kann entweder vomsie Quint-Terz-Tonraum ausgehen, welcher auf für Quintenzirkel. der dritten Stufe heißt Tonika-Gegenklang die Analyse von historischen Stimmungen verwendet wird oder man untersucht die Tg, dergemeinsamer auf der sechsten Verwandtschaft der 24 Dur- u. Molldreiklänge aufgrund Töne.Stufe TonikaparIn dieser Arbeit stehen dreidimensionale allele Tp. Zur Dur-Tonika gibt es weiterhin Darstellungen im Mittelpunkt. Zur Verein- die Mollvariante t. Abb. 1 zeigt Haupt- und 2.1 Tonraum und Akkordraum fachung der harmonischen Verhältnisse Nebenfunktionen für die Tonart C-Dur und werden nur Dur- und Molldreiklänge undTöne zweials Kadenzen und c-moll. Netz Im Quint-Terz-Tonraum (Abb. 2) werden Knoten ininC-Dur ein quadratisches deren Beziehungen untereinander untereingetragen. Horizontal benachbarte Knoten haben den Abstand einer Quinte, vertikal sucht. Als Tonvorrat eine Tonleiter mit man Man beachte, dass die ein, Tonika T jeweils benachbarte den einer wird großen Terz. Zeichnet zusätzlich Diagonalen so erscheinen 12 Halbtönen in gleichstufiger Stimmung einen Ton mit D und S gemeinsam hat, Dur- und Mollakkorde als Dreiecke. Ersetzt man nun die Dreiecke durch ihre Mittelpunkte, so angenommen. In dieser Stimmung können während sie zusammen mit Tg, Tp und t erhält man enharmonische ein komplementäres Netz, in dem Akkorde ein hexagonales beliebige Verwechslungen jeweils zwei gemeinsameGitter Töne bilden. besitzt.Auf diese Weise ist einwerden. ebener Akkordraum entstanden. vorgenommen Grundbegriffe der Riemannschen Funktionstheorie Der Durmoll-Kristall In diesem Abschnitt wird ein dreidimensionaler Akkordraum abgeleitet. Hierzu gibt Hugo Riemann geht davon aus, dass unser es zwei Vorgehensweisen. Man kann entGehör jeden Dreiklang als eine der Haupt- weder vom Quint-Terz-Tonraum ausgehen, funktionen Tonika T, Dominante D oder welcher für die Analyse von historischen Subdominante S einordnet, sobald das to- Stimmungen verwendet wird oder man APL - Journal 2007, 26. Jg., Heft 1/2 33 APL-Journal Visualisierung musikalischer Akkordräume Für den Ton C sind dies die Dreiklänge f, u. Molldreiklänge aufgrund gemeinsamer F, As, a, c und C, Man beachte, dass die Tonika T jeweils einen Ton mit D und S gemeinsam hat,wovon währendman sie sich durch Töne. Anspielen zusammen mit Tg, Tp und t jeweils zwei gemeinsame Töne besitzt. der Akkorde am Klavier leicht überzeugen kann. ◊ Tonraum und Akkordraum Der Tonvorrat dieser 6 Akkorde lässt sich 2 Der Durmoll-Kristall Im Quint-Terz-Tonraum (Abb. 2) werden – nebenbei betrachtet - in eine Tonleiter mit In diesem Abschnitt soll ein dreidimensionaler Akkordraum abgeleitet werden. Hierzu gibt es Töne als Knoten in ein quadratisches Netz dem Grundton F ordnen (siehe Abb. 3). Sie zwei Vorgehensweisen. Man kann entweder vom Quint-Terz-Tonraum ausgehen, welcher für eingetragen. Horizontal benachbarte Kno- zeichnet sich durch Moll- u. Durterzen über die Analyse von historischen Stimmungen verwendet wird oder man untersucht die ten haben den Abstand einer Quinte, ver- Grundton F und Quinte C aus und enthält Verwandtschaft der 24 Dur- u. Molldreiklänge aufgrund gemeinsamer Töne. tikal benachbarte den einer großen Terz. zwei 1 1/2 – Tonschritte. Die Tonleiter wird Zeichnet man zusätzlich Diagonalen ein, in Musiklexika nicht erwähnt und soll daher 2.1 Tonraum und Akkordraum so erscheinen Dur- und Mollakkorde als den Namen Oktaedrische Skala und die Im Quint-Terz-Tonraum (Abb. werden Töne alsAbkürzung Knoten in Okto ein quadratisches Dreiecke. Ersetzt man nun2) die Dreiecke erhalten. Netz eingetragen. Horizontal benachbarte Knoten haben den Abstand einer Quinte, vertikal durch ihre Mittelpunkte, so erhält man ein benachbarte den einerNetz, großen Diagonalen ein,wir so erscheinen komplementäres in Terz. dem Zeichnet Akkordeman einzusätzlich Nun untersuchen die Verwandtschaft Durund Mollakkorde als Dreiecke. Ersetzt man nun die Dreiecke durch ihre Mittelpunkte, hexagonales Gitter bilden. Auf diese Weise der 6 Dreiklänge. In Abb. 4 sosind sie als erhält ein komplementäres in dem Akkorde ein hexagonales bilden. eingezeichnet, Auf ist einman ebener Akkordraum Netz, entstanden. Knoten im linkenGitter Sechseck diese Weise ist ein ebener Akkordraum entstanden. die 15 möglichen Paarbeziehungen als Kanten. untersucht die Verwandtschaft der 24 DurAbb. 1 Riemannsche Funktionen und Kadenzen Im nächsten Schritt bestimmen wir die Akkordbeziehungen nach der Funktionstheorie und markieren sie im mittleren Sechseck durch farbige Linien. Die Zuordnungen sind in Tabelle 1 enthalten. Die ersten 3 Spalten zeigen Kantennummern, Kantenfarben und Akkordpaare. In Spalte 4 stehen die Riemannschen Funktionen soweit vorhanden - und in der 5. Spalte eine Beschreibung der Akkordbeziehung. 2.2 Oktaeder und Tetraeder Die Funktionen die aus: Kanten 13–15 stellen Ein zweiter Weg zur Ableitung eines Akkordraumes geht von derfür Frage Abb.2 2: Übergang vom Quint-Terz-Tonraum eine Erweiterung der Riemannschen FunkAbb. Übergang vom Quint-Terz-Tonraum zum Durmoll-Akkordraum Welche der 24 Dur- und Molldreiklänge habentionen einen bestimmten Ton gemeinsam? Für den zum Durmoll-Akkordraum dar und sollen nach einem weiteren Ton C sind dies die Dreiklänge f, F, As, a, c und C, wovon manwerden: sich durch Anspielen der 2 Schritt erläutert Akkorde am Klavier überzeugen kann. ◊ Oktaeder und leicht Tetraeder Betrachtet man das rechte Sechseck in Der zweiter TonvorratWeg dieser Akkorde lässt sichAk– nebenbei - in eine mit dem Ein zur6 Ableitung eines Abb. 4betrachtet lange genug, soTonleiter stellt man fest, kordraumes geht von der Frage Wel- dass es alsMolleine Projektion Grundton F ordnen (siehe Abb. 3). aus: Sie zeichnet sich durch u. Durterzeneines überOktaeders Grundton che der 24 Durund Molldreiklänge haben aufgefasst werden kann. Es liegt nahe, die F und Quinte C aus und enthält zwei 1 1/2 – Tonschritte. Die Tonleiter wird in Musiklexika einen bestimmten Mollakkorde a, f,und unddiec Abkürzung in einer tieferen nicht erwähnt und Ton soll gemeinsam? daher den Namen Oktaedrische Skala Okto erhalten. Abb. 3 Die Oktaedrische Skala in F Abb. 3: Die Oktaedrische Skala in F Nun untersuchen wir die Verwandtschaft der 6 Dreiklänge. In Abb. 4 sind sie als Knoten im linken Sechseck eingezeichnet, die 15 möglichen Paarbeziehungen Kanten. APL - als Journal 2007, 26. Jg., Heft 1/2 34 APL-Journal Abb. 3 Die Oktaedrische Skala in F Nun untersuchen wir die Verwandtschaft der 6 Dreiklänge. In Abb. 4 sind sie als Knoten im linken Sechseck eingezeichnet, die 15 möglichen Paarbeziehungen als Kanten. Visualisierung musikalischer Akkordräume Abb. Verwandtschaft zwischen Dreiklängen Abb. 44: Verwandtschaft zwischen Dreiklängen Ebene anzuordnen die Dur-Akkorde F, C Der Abstand zwischen Dur- u. Mollebene Im nächsten Schritt als bestimmen wir die Akkordbeziehungen nach der Funktionstheorie und und As. Die Akkordverbindun-gen f - C, c – kann so gewählt werden, dass ein regumarkieren sie im mittleren Sechseck durch farbige Linien. Die Zuordnungen sind in Tabelle 1 F und a – As stellen dann Raumdiagonalen läres Oktaeder entsteht, d.h., dass alle enthalten. Die ersten Spalten Kantennummern, Kantenfarben und Akkordpaare. In des Oktaeders dar. 3Durch diezeigen Einführung acht Begrenzungsflächen deckungsgleich Spalte 4 stehen die Riemannschen Funktionen -sind. soweit der 5. Spalte eine getrennter Ebenen für Dur- u. Mollakkorde Es vorhanden kann nun -inund dieinflächenzentrierte Beschreibung Akkordbeziehung. Die Funktionen für die eines Kantenkubischen 13–15 stellen eine einwird die dritteder Dimension für die KonstrukEinheitszelle Kristalls tion von Akkordräumen erschlossen. werden. Die Ecken des Schritt Oktaeders Erweiterung der Riemannschen Funktionen dargebaut und sollen nach einem weiteren erläutert werden: Betrachtet man dasFarbe rechte Sechseck in Abb. 4 lange genug, so stellt man fest, dass es als eine Kante Akkordpaar Funktion Beschreibung Projektion1eines Oktaeders aufgefasst nahe, die Mollakkorde a, f, und c F - Cwerden kann. S, T,Es D liegtQuintbeziehung in einer tieferen Ebene anzuordnen als die Dur-Akkorde F, C und As. Die AkkordverbindunAsdann - C Raumdiagonalen … gen f - C, c2 – F und a – As stellen desGroßterzbeziehung Oktaeders dar. Durch die F Dur- As u. Mollakkorde … wirdKleinterzbeziehung Einführung3 getrennter Ebenen für die dritte Dimension für die Konstruktion 4 von Akkordräumen ferschlossen. -c s, t, d Quintbeziehung 5 6 7 8 9 10 11 12 13 14 15 Tab. 1: f-a … Großterzbeziehung a-c … Kleinterzbeziehung f - As tP, Tp Parallelklang a-C tP, Tp Parallelklang f -F tT, Tt Durmoll-Variante c-C tT, Tt Durmoll-Variante F-a Tg, tG Gegenklang As -c Tg, tG Gegenklang f-C tX, Tx Diagonale tX c-F tY, Ty Diagonale tY a - As tZ, Tz Diagonale tZ 3 Korrespondenztabelle für Akkordbeziehungen APL - Journal 2007, 26. Jg., Heft 1/2 35 Der Abstand zwischen Dur- u. Mollebene kann so gewählt werden, dass ein reguläres Oktaeder entsteht, d.h., dass alle acht Begrenzungsflächen deckungsgleich sind. Es kann nun in die flächenzentrierte Einheitszelle eines kubischen Kristalls eingebaut werden. Die Ecken des Oktaeders liegen auf den Flächenmitten der kubischen Einheitszelle. Die Raumdiagonalen des Oktaeders sind parallel zu den Kristallachsen ausgerichtet und die 12 Oktaederkanten weisen in so genannte <110>-Richtungen. Die Dreiecksfläche C-F-As liegt in der (111)Visualisierung musikalischer Akkordräume Ebene. APL-Journal Abb. 5 Einheitszelle eines kubisch flächenzentrierten Kristalls ohne und mit Durmoll-Oktaeders Abb. 5: Einheitszelle eines kubisch flächenzentrierten Kristalls ohne und mit Durmoll-Oktaeders Bisher wurde nur der Oktaeder zum Ton C betrachtet. Da der Tonvorrat der Durmollaus 12 Halbtönen gleichstufiger Stimmung besteht, kommen 11 weitere liegenHarmonik auf den Flächenmitten derinkubischen Oktaeder hinzu, die nun zu einem Kristall zusammengebaut werden sollen. Hierzu legt man Einheitszelle. Die Raumdiagonalen des Okdie sind Oktaeder in drei oder Kristallachsen vier Reihen so aneinander, dass sich Kanten mit denselben taeders parallel zu den Akkordbezeichnungen berühren. Der dreireihige Durmoll-Kristall ist die Großterzversion, die ausgerichtet und die 12 Oktaederkanten vierreihige die Kleinterzversion (Abb. 6 u. Abb. 7) weisen in so genannte <110>-Richtungen. Die Dreiecksfläche C-F-As liegt in der (111)-Ebene. 4 Bisher wurde nur der Oktaeder zum Ton C betrachtet. Da der Tonvorrat der DurmollHarmonik aus 12 Halbtönen in gleichAbb. 6 Großterzversion des Durmoll-Kristalls als Faltmodell stufiger Stimmung besteht, kommen 11 Abb. 6: Großterzversion des DurmollAbb. 6Kristalls Großterzversion des Durmoll-Kristalls als Faltmodellals Faltmodell weitere Oktaeder hinzu, die nun zu einem Kristall zusammengebaut werden sollen. Hierzu legt man die Oktaeder in drei oder vier Reihen so aneinander, dass sich Kanten mit denselben Akkordbezeichnungen berühren. Der dreireihige Durmoll-Kristall ist die Großterzversion, die vierreihige die Kleinterzversion (Abb. 6 u. Abb. 7) Das Kristallvolumen wird durch die Oktaeder nicht gefüllt. In jedem Kristall bleiben 24 Tetraederlücken frei. Den Tetraedern Abb. 7 Kleinterzversion des Durmoll-Kristalls als Faltmodell kommt ebenfalls eine harmonische BeAbb. 7 Kleinterzversion des Durmoll-Kristalls alsIn Faltmodell Das Kristallvolumen durch die Oktaeder nicht gefüllt. jedem Kristall bleiben 24 deutung zu: Sie enthalten als Ecken eine Abb. 7:wirdKleinterzversion des DurmollTetraederlücken frei. Den Tetraedern kommt ebenfalls eine harmonische Bedeutung zu: Sie Ausgangstonika (T oder t) und die dreienthalten zuDas Kristallvolumen wirdKristalls durch die Oktaeder nicht t)gefüllt. In jedem Kristall bleiben 24 als (T Faltmodell als Ecken eine Ausgangstonika oder und die drei zugehörigen NebenTetraederlücken frei. Den Tetraedern kommt ebenfalls eine harmonische Bedeutung zu: Sie gehörigen Neben-funktionen. Zum Beispiel funktionen. Zum Beispiel enthält der C-Dur-Tetraeder die Akkorde C, e, a und c, der c-Mollenthalten die als Akkorde Ecken eine (T oder t) undberühren die dreisich zugehörigen Tetraeder c, As,Ausgangstonika Es und C. Die des beiden Tetraeder in der KanteNebenc-C. Durmoll-Kristalls enthält der C-Dur-Tetraeder die Akkorde C, ◊ funktionen. ZumEigenschaften Beispiel enthält der C-Dur-Tetraeder die Akkorde C, e, a und c, der c-MollTetraeder die Akkorde c, As, Es undDurmoll-Kristalls C. Die beiden Tetraeder berühren sich in der Kante c-C. e, a und c, der c-Moll-Tetraeder die Akkor2.3 Eigenschaften des Der Durmoll-Kristall besteht aus die 12denOkde c, As, Es und C. Die beiden Tetraeder Der Durmoll-Kristall besteht aus 12 Oktaedern und 2x12 Tetraedern, 24 Dreiklängen 2.3 Eigenschaften des Durmoll-Kristalls und deren Nebenfunktionen zugeordnet werden können. Die Riemannschen Funktionen taedern und Tetraedern, die die den 24Dreiklängen berühren sich in der Kante c-C. Der Durmoll-Kristall besteht aus 2x12 12 Oktaedern und 2x12 Tetraedern, den 24 36 werden exakt abgebildet und dreidimensional dargestellt. Dur- u. Moll-Akkorde liegen auf und deren Ebenen. Nebenfunktionen zugeordnet werden Die Riemannschen Funktionen getrennten Die Dreiklänge sind durch 144können. Beziehungen miteinander verknüpft. 12 werden exakt abgebildet undvon dreidimensional dargestellt. Dur- u. Moll-Akkorde liegen mögliche Übergänge führen Akkord zu Akkord, 6 innerhalb und 6 zwischen Dur-auf u. getrennten Ebenen. Die Dreiklänge durchist 144 Beziehungen miteinander verknüpft. die 12 Moll-Ebene. Die Großterzversion dessind Kristalls periodisch in Quinten und Großterzen, APL Journal 2007, 26. Jg., Heft 1/2 mögliche Übergänge führenund vonKleinterzen. Akkord zu Akkord, 6 innerhalb und 6 zwischen Dur- u. Kleinterzversion in Quinten Moll-Ebene. Die Großterzversion des Kristalls ist periodisch in Quinten und Großterzen, die Kleinterzversion in Quinten und Kleinterzen. APL-Journal Visualisierung musikalischer Akkordräume In Abb. 8 ist die Projektion eines Durmoll-Kristalls dargestellt. Wegen der Periodizitäten in zwei Richtungen stellt er eine Kachel dar, mit der man die ganze (111)-Ebene belegen (parkettieren) kann. Abb. 8: Projektion des Durmoll-Kristalls in die (111)-Ebene (Großterzversion) Dreiklängen und deren Nebenfunktionen In Abb. 8 ist die Projektion eines Durmollzugeordnet werden können. Die Riemann- Kristalls dargestellt. Wegen der Periodizitäschen Funktionen werden exakt abgebildet ten in zwei Richtungen stellt er eine Kachel und dreidimensional dargestellt. Dur- u. dar, mit der man die ganze (111)-Ebene Moll-Akkorde liegen auf getrennten Ebenen. belegen (parkettieren) kann. Die Dreiklänge sind durch 144 Beziehungen Abb. miteinander verknüpft. 12 mögliche ◊ Schablonen 8 Projektion des Durmoll-Kristalls in die (111)-Ebene (Großterzversion) Übergänge führen von Akkord zu Akkord, 6 innerhalb 6 zwischen Dur- u. Moll- Zum Durmoll-Kristall wurden zwei Schablo2.4 und Schablonen Ebene. Die Großterzversion des Kristalls nen entworfen, die zu einem ausgewählten Zum Durmoll-Kristall wurden zwei SchablonenAk entworfen, welcheentweder zu einemdie ausgewählten ist periodisch in Quinten und Großterzen, kord (Tonika) Anzahl gemeinAkkord (Tonika) entweder die Anzahl gemeinsamer Nachbartönen oder oder deren deren die Kleinterzversion in Quinten und KleinsamerTöne Tönevon von Nachbartönen harmonische Funktion anzeigen (Abb. 9). Die zweite Schablone eignet sich zum Studium von terzen. harmonische Funktion anzeigen (Abb. 9). Die Modulationen. Abb. 9 Schablone zur Anzeige gemeinsamer Töne und der Riemannschen Funktionen 3 Der Durmoll-Torus Die periodischen Eigenschaften des Durmoll-Kristalls bezüglich Quinten und Groß- bzw. Kleinterzen legen es nahe, den Kristall auf einen Torus (Ring) abzubilden. Um die Trennung von Dur- u. Mollebene zu erhalten, sollte der Torus zweischalig sein. Sieht man sich die Ränder in Abb. 8 an, so stellt man fest, dass zwei Scherverformungen in Großterz- u. Quintrichtung nötig sind, um aus dem Kristall einen Mantelkörper zu erzeugen, der auf einen Toruskern aufgewickelt werden kann. Diese beiden Koordinatentransformationen können in Abb. 9 Schablone zur Anzeige gemeinsamer Töne und der Riemannschen Funktionen 6 Abb. 9: Schablone zur Anzeige gemeinsamer Töne und der Riemannschen Funktionen 3 Der Durmoll-Torus APL - Journal 2007, 26. Jg., Heft 1/2 Die periodischen Eigenschaften des Durmoll-Kristalls bezüglich Quinten und Groß- bzw. Kleinterzen legen es nahe, den Kristall auf einen Torus (Ring) abzubilden. Um die Trennung 37 schreiben. APL-Journal 4.1 Sprühmethode Da es in dieser Arbeit nur um Pro Sprühmethode entwickelt, welche au Die Sprühpunkte können für die ausschließlich vorkommenden Dreieckedurch mit gekrümmte Flächen werden Au einer einzigen Interpolationsfunktion geObjekt bleibtAls– Parameter je nach Dichte der Far neriert werden. eignen sich Flächenkoordinaten Li: können für die auss Die Sprühpunkte Interpolationsfunktion generiert werde Li = Fi/F, (i ε 1, 2, 3); Visualisierung musikalischer Akkordräume zweite Schablone eignet sich zum Studium von Modulationen. Der Durmoll-Torus Die periodischen Eigenschaften des DurmollKristalls bezüglich Quinten und Groß- bzw. Kleinterzen legen es nahe, den Kristall auf einen Torus (Ring) abzubilden. Um die Tren- Nebenbedingung: F1+F2+F3=F. nung von Dur- u. Mollebene zu erhalten, sollte der Torus zweischalig sein. Sieht man sich die Ränder in Abb. 8 an, so stellt man fest, dass zwei Scherverformungen in Großterzund Quintrichtung nötig sind, um aus dem Kristall einen Mantelkörper zu erzeugen, der auf einen Toruskern aufgewickelt werden kann. Diese beiden Koordinatentransformationen können in eine lineare Abbildung zusammengefasst werden. Aus dem Quintenzirkel entsteht beim Anbringen des Mantels eine Rotoide, d.h. eine in sich geschlossene Spirale mit mehreren Windungen. Li = Fi/F, (i ε 1, 2, 3); Rendering von Akkordräumen in APL2 Kristall und Torus verlangen zu einer realistischen Darstellung die Anwendung der Methoden des Solid Modeling. Diese werden jedoch von dem in APL2 vorhandenen graphischen Hilfsprozessor AP207 nur rudimentär unterstützt. Um gekrümmte Flachen darzustellen, verdeckte Kanten und Flächen unsichtbar zu machen, Oberflächen zu strukturieren, eine Szene zu beleuchten und perspektivisch darzustellen, müsste der Benutzer eigene Funktionen schreiben. ◊ Sprühmethode Da es in dieser Arbeit nur um Protoypen der Visualisierung ging, wurde eine einfache Sprühmethode entwickelt, welche auf eine realistische Darstellung verzichtet. Ebene und gekrümmte Flächen werden durch Aufsprühen von Farbpunkten sichtbar gemacht. Das ganze Objekt bleibt – je nach Dichte der Farbpunkte – mehr oder weniger transparent. 38 Abb. 10: Dreieck zur Definition von Flächenkoordinaten Hie die Kno (Ab der dur Mo und Bild Abb. 10 Dreieck zur Definition von Flächen Hierbei ist F die Fläche eines ebenen Ausgangsdreiecks, Fi die Teilfläche, die ein Aufpunkt P im Dreieck mit der dem Knoten Pi gegenüberliegenden Dreiecksseite aufspannt (Abb. 10). Sind die Sprühpunkte generiert, so werden sie in der vereinfachten Rendering Pipeline prozessiert. Sie durchlaufen alle Koordinatentransformationen, die für das Modell und dessen perspektivische Darstellung nötig sind und erscheinen schließlich als MARKER auf dem ä Definiere Digitale Kamera Bildschirm. 4.2 Kamera Zur Speicherung von Graphiken wird Auflösung von 4000x3000 Pixels defi Graphikfensters: SHR207½'OPEN'(0 'AP207 Came ◊SHR207½'WINDOW'(0 Kamera 4000 0 30 Zur Speicherung von Graphiken wird eine virtuelle Digitalkamera in AP 207 mit einer Auflösung von 4000x3000 Pixels definiert. Dies geschieht beim Initialisieren des Graphikfensters: ä Grab the image Bilder werden gespeichert mit den An SHR207½'GRDATA'('JPEG' 0 0 APL - Journal 2007, 26. Jg., Heft 1/2 (RC JPEG)½SHR207 ä Save the image in a file APL-Journal Visualisierung musikalischer Akkordräume ä Definiere Digitale Kamera mit 12 MegaPixels SHR207½'OPEN'(0 'AP207 Camera' 4001 3001 20 430) SHR207½'WINDOW'(0 4000 0 3000 0 0 280 210) Bilder werden gespeichert mit den Anweisungen ä Grab the image SHR207½'GRDATA'('JPEG' 0 0 280 210) (RC JPEG)½SHR207 ä Save the image in a file ä FILE is an associated NAME: 3 11 ÓNA 'FILE' ES(0ôJPEG FILE FILENAME)/1 5 keiten von Akkord zu Akkord. Schablonen helfen beim Auffinden von Modulationswegen. Der Torus visualisiert Zyklen und Netze der Durmoll-Harmonik. Die Sprühmethode stellt Klangtetraeder gut dar, stößt aber an ihre Grenzen bei den Stark verzerrten Oktaedern. Strukturierte Programme in APL2 erlauben eine Vielfalt von Teilansichten bei beiden 3D-Modellen. Eine Kostprobe geben 12 ausgewählte Torusdarstellungen in Abschnitt 6. Der Durmoll-Torus wurde so implementiert, Als fortführende Tätigkeiten sind gedass Oktaeder, Dur-Tetraeder und Moll- plant: Tetraeder beliebig ausgewählt werden können. Dasselbe gilt für die 15 verschiedenen • Optimierungen der graphischen DarKanten und die verschiedenen Flächen der stellungen, Oktaeder und Tetraeder. • eine Implementierung des Kleinterztorus, • Anwendung des Klangtorus in der MuZusammenfassung und Ausblick sikanalyse und bei der Komposition Durmoll-Kristall und Durmoll-Torus bilden und die Riemannschen Funktionen exakt ab. • eine Kopplung von graphischer und Der Kristall zeigt die Navigationsmöglichmusikalischer Wiedergabe. Anhang Zwölf ausgewählte Torusdarstellungen Abb. 11: Torus mit 12 Oktaedern APL - Journal 2007, 26. Jg., Heft 1/2 Abb. 12: Torus mit 4 Oktaedern 39 APL-Journal Visualisierung musikalischer Akkordräume Abb. 13: Quint und Großterzbeziehungen Abb. 15: 15 Vier Moll-Tetraeder u. Kleinterzbeziehungen Abb. Vier Moll-Tetraeder u. Kleinterzbeziehungen Abb. 17: Netz der Nebenfunktionen 40 Abb. 14: Groß- und Kleinterzbeziehungen Abb. InhaltInhalt von Abb. 15 Abb. ohne Flächenfüllung Abb.1616: von 15 ohne Flächenfüllung Abb. 18: Chromatische Toroide APL - Journal 2007, 26. Jg., Heft 1/2 9 9 APL-Journal Visualisierung musikalischer Akkordräume Abb. 19: Seitenansicht des zweischaligen Torus Abb. 20: Durquint-Toroide u. Nebenfunktionen Abb. 21: Dur-Großterzen und Nebenfunktionen Abb. 22: Kleinterzzyklen und Nebenfunktionen 10 10 Adresse des Autors: Dr. Helmut Engelke, eMail: Helmut.Engelke@online.de APL - Journal 2007, 26. Jg., Heft 1/2 41 APL-Journal Workstation APL2 Neues in Workstation APL2 V2.0 Seit 9. November 2007 ist der Service Level 11 von Workstation APL2 Version 2 für alle APL2-Anwender und für alle APL2-Plattformen verfügbar. Neben den üblichen Fixes zu bekannt gewordenen Problemen bietet dieser Service Level wieder einige wesentliche Erweiterungen, die von deutschen APL2-Anwendern gewünscht wurden. Service Level 11 ◊ In den Editoren bewirkt REFRESH, die neue Menüoption bzw. der neue Knopf Neuerungen für alle Plattformen: in der Werkzeugleiste, dass das editierte Objekt in der zuletzt gespeicherten ◊ Begrenzung aufgehoben: Version erneut geöffnet wird. Die Begrenzung der Anzahl der Namen ◊ Ungültige Zeichen werden in Editorlinks vom Zuweisungspfeil bei der Vekfenstern in „reverse video“ angezeigt. tor-Spezifikation wurde aufgehoben. ◊ Die öffentlichen Arbeitsbereiche GUI◊ Neue externe Funktion REPLACEX: TOOLS und GUIVARS werden auch als Die neue externe HochleistungsfunkNamespaces mitgeliefert. tion REPLACEX kann Instanzen von ◊ Beim AP 207 OPEN wird jetzt ein neuer Zeichenketten in einem großen AlphaFenstermodus UNICODE unterstützt. zeichenvektor sehr schnell ersetzen. ◊ Der AP 145 erhält viele Erweiterungen: ◊ AP 127 und AP 227: ● Steuerungsmöglichkeit der Fortschritts● Beim CONNECT des AP 127 wurde die leiste Längenbeschränkung der Parameter ● Unterstützung des Mausrads „id“ und „password“ aufgehoben. ● Leisten zur Horizontalteilung von Dia● Der XML-Spalten-Datentyp wird jetzt logen sowohl beim AP 127 als auch beim AP ● Horizontale Verschiebeleisten für die 227 unterstützt. Module „Combobox“ und „Listbox“ ● Die Eigenschaft STATE ENABLE für sta Neuerungen für die tische Steuerungsmodule Windows-Plattform: ● Unterstützung von Mehrfachargumenten in den Funktionen GET_PROPERTY ◊ APL Assist ist eine neue wählbare Werk und SET_PROPERTY zeugleiste, die alle besonderen APLZeichen enthält. Die APL-Zeichen kön (Übersetzung: Axel Güth) nen an die aktuelle Cursorposition im Sitzungs-Manager oder im Objekt-Editor Weitere Informationen zu APL2 Version 2 Serdadurch platziert werden, dass man vice Level 11 erhalten Sie im APL2 User’s Guide auf sie in dieser Werkzeugleiste klickt. und der Online-Hilfe nach der Installation des Service Levels oder auf der IBM APL2 Website Dabei kommt es nicht auf die aktuelle http://www-306.ibm.com/software/awdtools/ Tastatureinstellung (APL on/off) an. apl/support.html ◊ Arbeitsbereichsdateien (.apl oder .atf) können jetzt mit „drag & drop“ in das Darüber hinaus Informationen zu Workstation Fenster des Sitzungsmanagers gezo- APL2 Version 2 bei: Dittrich & Partner Consulting gen werden. Der Benutzer bekommt GmbH, Telefon: 0212-26066-0, Kieler Str.17, Fax: 0212-26066-66, D-42697 Solingen, eMail: dabei die passende Auswahl angebo- info@dpc.de ten: )LOAD, )COPY, )IN 42 APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal Bericht APL\360 CLEAR WS Dieter Lattermann So wie’s früher einmal war Persönliche Erinnerungen Erste Begegnung Meine erste Begegnung mit APL hatte ich während eines Aufenthalts bei der IBM World Trade Corporation in White Plains, N.Y. im Jahre 1968. Ein Kollege, Rainer Kogon, führte mich zu einer Art Schreibmaschine, IBM 2741, die mit Hilfe eines Telefons mit einem Computer verbunden werden konnte. Man musste eine Telefonnummer wählen und einen Anmeldecode eingeben, dann meldete das System APL\360 CLEAR WS rückte den Kugelkopf um 6 Stellen ein und wartete auf meine Eingabe. Mit OnlineHilfe war man damals noch nicht verwöhnt, aber ich hatte mir einiges gedrucktes Material besorgt. Ich konnte also loslegen, musste mich jedoch mit dem ungewöhnlichen Zeichensatz vertraut machen. Eine spezielle Tastaturbelegung war auf den Tasten markiert. Die Eingabe von 3õ4 bewog den Computer, mit 12 zu antworten und eine weitere Eingabe anzufordern. Zunächst noch weit entfernt davon, die Möglichkeiten der Verarbeitung von ganzen Datenstrukturen mit einer einzigen Funktion würdigen zu können, war schon die sofortige Antwort des Systems eine gänzlich neue Erfahrung. Kein Programmieren im herkömmlichen Sinn, keine Kompilation, kein „Link-Edit“! Meine erste APL-Funktion löste eine quadratische Gleichung, überraschenderweise auch für einen Satz von Gleichungen, wenn die Parameter in einer geeigneten APL-Struktur an geordnet waren. setzen. Das geschah dann auch. APL am Wissenschaftlichen Zentrum der IBM in Heidelberg 1973 übernahm Dr. Blaser die Leitung des Wissenschaft lichen Zentrums (WZH oder HDSC). Ich folgte ihm bald nach Heidelberg. Eine der neuen Forschungsrichtungen wurde die endbenutzerorientierte Informatik. Wesentlicher Bestandteil der Arbeit war die Entwicklung von Prototypen von Endbenutzersystemen, mit denen in gemeinsamen Projekten mit Partnern aus Wirtschaft und Wissenschaft expeZurück in Deutschland, be rimentiert werden sollte. richtete ich meinem damali Dafür waren sehr produktigen Chef, Dr. Albrecht Bla ve Werkzeuge erforderlich. ser, von meinen Erfahrun APL erwies sich als ein sehr gen. Nicht viel später stand geeignetes und wurde in APL auch innerhalb der IBM verschiedenen Projekten Deutschland zur Verfügung. eingesetzt, zum Beispiel Es lag nahe, APL für die Per- beim „Interaktive Programsonal- und Projektplanung mierung für Endbenutzer“ in unserer Anwendungsent- (IPE), einem Tabellenkalwicklungsabteilung einzu- kulationssystem oder beim APL - Journal 2007, 26. Jg., Heft 1/2 43 APL-Journal APL Bericht „Integrated Data Analysis and Management System“ (IDAMS). Bei letzterem wurde es bald notwendig, nicht in APL geschriebene Programme von APL aus zu nutzen. Eine Schnittstelle, die das ermöglicht, wurde entwickelt und später vom IBM-Labor in Santa Teresa in die APL-Produkte integriert. Die Zusammenarbeit des WZH mit den APL-Entwicklern war eng, Heidelberg beteiligte sich immer wieder am Testen neuer APL-Versionen. Es wurde sogar einmal überlegt, die Entwicklung von APL-Systemen nach Heidelberg zu verlegen. Ein „Abfallprodukt“ der APL-Benutzung war das APL-Funktionspaket „APL Complementary Functions“, das die Produktivität von APL-Programmierern noch einmal steigern konnte und außerdem auch einen pädagogischen Wert hatte. Der schlug sich in einem Buch „APL in Beispielen“, Dieter Lattermann, Oldenbourg 1978, nieder. Die reiche Erfahrung in der Benutzung von APL führte zur Einrichtung des „APL Focal Point“ in Heidelberg, wo sich IBM-Mitarbeiter gezielt und praxisorientiert in APL ausbilden lassen konnten. Naturgemäß wurde eng mit deutschen, österreichischen und europäischen Marketing- und Unterstützungsfunktionen zusammengearbeitet. Unzählige Auftritte 44 Wolfgang Janko, Universität Karlsruhe als Vorsitzenden des Programmkomitees und Dr. Claus O. Köhler vom Deutschen Krebsforschungszentrum Heidelberg als erfahrenen Organisator. Eine Reihe enthusiastischer APLer stieß dazu, ein Verein dessen einziger Zweck die Organisation von APL’82 war, wurde gegründet. Die Die internationale Planung begann und erKonferenz APL’82 in streckte sich bis zum ersten Heidelberg Tag der Konferenz, dem 26. 1980 fand die 11. interna- Juli 1982. Die Sitzplätze in tionale APL-Konferenz in den Hörsälen des KonfeNordwijkerhout, Niederlan- renzortes, der Universität de statt. Am Ende der Kon- Heidelberg, reichten oft d Die internationale Konferenz ferenz wurde, wie üblich, nicht aus, etwa 800 TeilP APL’82nehmer in Heidelberg der Ort der übernächsten wurden registriert. u gegründet. Die Die internationale KonferenzDie Vorträgedewurden b Konferenz 1982 festgelegt. in drei Planung begann d APL’82 in Heidelberg paralellen Reihen und erstreckte sich 2 zum ersten Tag gehbis alten, die Liste S Konferenz, dem der der Sprecher war H 26. Juli 1982. Die fe illuster: Ken IverSitzplätze in den U son Hörsälen - der Vater von des Konb APL,ferenzortes, Adin Falkoff der n Universität Heidel– sein Kollege und T berg,der reichten oft einer ersten w nicht aus, etwa 800 L Anwender in seiner Teilnehmer wurden registrier d formalen wurden Beschreiin drei paralellen Reih u Liste der Systems Sprecher war illuste bung des 1980 fand die 11. internationale APLm der Vater von APL, Adin Falko Konferenz in Nordwijkerhout, /360, JimNiederlande Brown B und einer derwie ersten statt. Am Ende der Konferenz wurde, üb- Anwende gerade eine 1980 fand die 11. internationale APL- – der malenKonferenz Beschreibung lich, der Ort der übernächsten 1982 des Sys h Konferenz in Nordwijkerhout, Niederlande Implementierung – der gerade festgelegt. Ich kann nicht Brown mehr sagen, wer deneine Implü statt.kann Am Ende dermehr Konferenz wurde, der wie übIch nicht sagen, erweiterten erweiterten Sprache Namen „Heidelberg“ zuerst fallen Sprache ließ. Als er als APL – lich, der Ort der übernächsten Konferenz 1982 hatte, Trenchard More - der gefallen war, gab es fertig plötzlich keine Mitbewerwer den Namen „Heidelals APL2 gestellt hatA festgelegt. Ich kann nicht mehr sagen, wer den über seine Array-Theory vortru berg“ zuerst fallen e Namen „Heidelberg“ zuerst fallen ließ. Als er – der Begründer der exak c ließ. Als gefallen gefallen war,ergab es plötzlich keine MitbewerArithmetik, um nur einige wenig N war, gab es plötzlich eingeladenen Vorträgen wurde V che Anwendungen in der Ind keine Mitbewerber d Noch nicht ganz ernst genom mehr. Mike Bergen, c Vortrag über APL auf Micro früher WZH, konndem schon über „Files as Va te leicht überzeugt D chen wurde. werden, sich der PlaA nung anzunehmen. Der APL Club GermanA g Der wiederum geAPL Germany e.V.) d wann Professor Dr. APL’82 war eine sehr erfolgre bei Marketingveranstaltun gen und bei Meetings von Benutzergruppen wie SHARE und SEAS folgten. An der Teilübersetzung und Übernahme der ISO-Norm 8485 für APL durch das Deutsche Institut für Normung (DIN) war das WZH wesentlich beteiligt. B ber mehr. Mike Bergen, früher WZH, konnte gewesen, dass sich der eigen d leicht überzeugt werden, sich der Planung dete Verein nun auflösen mu R anzunehmen. Der wiederum gewann Professor Beteiligten nicht 1/2 einleuchten. ber mehr. Mike Bergen, früher WZH, APL konnte - Journal 26. Jg., Heft W Dr. Wolfgang Janko, 2007, Universität Karlsruhe als die Konferenz auch finanziell e leicht überzeugt werden, sich der Planung E Vorsitzenden des Programmkomitees und Dr. Rund 80.000 DM Überschuss anzunehmen. Der wiederum gewann Professor A die Konferenz auch finanziell ein voller Erfolg: Rund 80.000 DM Überschuss wurden erzielt. Was also tun? Die Antwort lag auf der Hand: 1986 wurde der 20. Geburtstag der ersten Ein neuer Verein mussteImplementierung her. So wurde vonder APL auf einem System APL Club Germany aus IBM/360 der Taufe gehoben gefeiert. Im Jahr 1998 wiederholte und ins Vereinsregister eingetragen. Er wurde sich die Situation von 1980: Auf der Konferenz Rom wurden mehrere diskuErbe des Vermögens voninAPL’82. Erster Vor- Konferenzorte Berichtund jemand Berlin als Möglichkeit sitzender wurde Wolfgangtiert, Janko, dienannte meisten beendete damit jede weitere Debatte. Ich erAktiven der APL-Konferenz landeten im Vorstand des gehoben neuen Vereins. Wolfgang Janko aus der Taufe folgten Gerald Dittrich, Dieter Lattermann und und ins Vereinsregister kürzlich Reiner Nussbaum. Zwei jährliche Trefeingetragen. Er wurde fen und ein (ziemlich) regelmäßig erscheinenErbe des des Vermögens APL-Journal sind die wichtigsten Posten in der Bilanz des Vereins. von APL’82. Erster Vor- Die Treffen bieten Foren für alle Anbieter sitzender wurde Wolf-von APL-Systemen und APL-Dienstleistungen. Da die Benutzer von gangAPL Janko, die meiseine überschaubare Gemeinde bilden, ten Aktiven APL- die Treffen mit deerschien esder zweckmäßig, nen der IBM-APL-Benutzerorganisation GSE Konferenz landeten gemeinsam abzuhalten. Das geschieht seit im Vorstand des neueinigen Jahren. Zweck die Organisation von APL’82 war, wur- en Vereins. Wolfgang leicht überzeugt werden, sich der Planung anzunehmen. Der wiederum gewann Professor Dr. Wolfgang Janko, Universität Karlsruhe als Vorsitzenden des Programmkomitees und Dr. Claus O. Köhler vom Deutschen Krebsforschungszentrum Heidelberg als erfahrenen Organisator. Eine Reihe enthusiastischer APLer stieß dazu, ein Verein dessen einziger nz ale APLiederlande e, wie übrenz 1982 n, wer den eß. Als er Mitbewer- te, Trenchard More - der Theoretiker, der über seine Array-Theory vortrug, Ulrich Kulisch – der Begründer der exakten Computer-Arithme gegründet. Die tik,de um nur Planung begann einund igeerstreckte wenigsich e bis zum ersten Tag zu der nennen. Konferenz, In dem 26. Juli 1982. Die einge l adenen Sitzplätze in den V oHörsälen r t r ädes g eKonn ferenzortes, der wur d e über Universität Heideloft erfberg, olgrreichten eiche nicht aus, etwa 800 Teilnehmer wurden registriert. Vorträge Anwendungen in der Die Induswurden in drei paralellen Reihen gehalten, die trieListeberichtet. der Sprecher war Noch illuster: Kennicht Iverson der Vater von APL, Adin Falkoff – sein Kollege ganz ernst genommen wurund einer der ersten Anwender in seiner fordes Systems Jim de malen ein Beschreibung Vortrag über APL/360, auf Brown – der gerade eine Implementierung der Micro-Computern, erweiterten Sprache als APL2in fertigdem gestellt hatte, Trenchard More der Theoretiker, der schon über „Files as Variabüber seine Array-Theory vortrug, Ulrich Kulisch – gesprochen der Begründer der wurde. exakten Computerles“ Arithmetik, um nur einige wenige zu nennen. In eingeladenen Vorträgen wurde über erfolgreiche Anwendungen in der Industrie berichtet. Noch nicht ganz ernst genommen wurde ein Vortrag über APL auf Micro-Computern, in dem schon über „Files as Variables“ gesprochen wurde. APL Club Germany e.V. (jetzt: APL Germany e.V.) Der APL Club Germany e.V. (jetzt: H, konnte r Planung Professor rlsruhe als es und Dr. Krebsforerfahrenen siastischer n einziger war, wur- APL’82 war eine APL Germany e.V.) sehr erfolgreiche gewesen, APL’82 Konferenz war eine sehr erfolgreiche Konferenz gewesen, dass sich der eigens dafür gegründass sich der eigens dafür dete Verein nun auflösen musste, wollte den Beteiligten nicht Verein einleuchten. nun Außerdem war gegründete aufdie Konferenz auch finanziell ein voller Erfolg: lösen wollte wurden den BeRundmusste, 80.000 DM Überschuss erzielt. Was also tun? Die Antwort lag auf der Hand: teiligten nicht einleuchten. Ein neuer Verein musste her. So wurde der APL Club Germany aus die der Taufe gehoben Außerdem war Konfeund ins Vereinsregister eingetragen. Er wurde renz finanziell einErster volErbeauch des Vermögens von APL’82. Vorwurde Wolfgang Janko, die meisten ler sitzender Erfolg: Rund 80.000 DM Aktiven der APL-Konferenz landeten im Vorstand des neuenwurden Vereins. Wolfgang Janko Überschuss erzielt. folgten Gerald Dittrich, Dieter Lattermann und Was also tun? DieZweiAntwort kürzlich Reiner Nussbaum. jährliche Treffen und ein (ziemlich) regelmäßig erscheinenlagdes auf der Hand: Ein neuer APL-Journal sind die wichtigsten Posten in der Bilanz des Vereins. Die So Treffen bieten Verein musste her. wurForen für alle Anbieter von APL-Systemen und Da die Benutzer von de APL-Dienstleistungen. der APL Club Germany APL eine überschaubare Gemeinde bilden, erschien es zweckmäßig, die Treffen mit denen der IBM-APL-Benutzerorganisation GSE gemeinsam abzuhalten. Das geschieht seit einigen Jahren. APL-Journal Janko folgten Gerald Dittrich, Dieter Lattermann und kürzlich Reiner Nussbaum. Zwei jährliche Treffen und ein (ziemlich) regelmäßig erscheinendes APL-Journal sind die wichtigsten Posten in der Bilanz des Vereins. Die Treffen bieten Foren für alle Anbieter von APLSystemen und APL-Dienstleistungen. Da die Benutzer von APL eine überschaubare Gemeinde bilden, erschien es zweckmäßig, die Treffen mit denen der IBM-APLBenutzerorganisation GSE gemeinsam abzuhalten. Das geschieht seit einigen Jahren. auf Kiel gelegt und schließlich auch mit professioneller Unterstützung durch eine Konferenz-Organisationsfirma an der TU Berlin erfolgreich durchgeführt. Die Teilnehmerzahl bewegte sich um die 200, immerhin der Bestwert der letzten Jahre, der bei den beiden letzten Konferenzen nicht wieder erreicht wurde. Die Reaktion auf die Einladung von APL Germany 1986 wurde der 20. Ge- und GSE zum 40. Geburtsburtstag der ersten Imple- tag lässt jedoch berechtigte mentierung von APL auf Hoffnung aufkommen, dass einem System IBM/360 ge- das gewählte Motto „2006: feiert. Im Jahr 1998 wieder- die nächsten 40 Jahre mit holte sich die Situation von APL“ nicht unpassend ist. 1980: Auf der Konferenz in Rom wurden mehrere Konferenzorte diskutiert, jemand nannte Berlin als Möglichkeit und beendete damit jede weitere Debatte. Ich erklärte mich bereit, die Dieter Lattermann war Rolle des Conference Chair von 1988 bis 2005 Vorsitzu übernehmen, da ich auf zender des APL Germany viele Helfer rechnen konnte. e.V. So wurde APL 2000 Berlin APL - Journal 2007, 26. Jg., Heft 1/2 45 k C re K n O d u J n D m d d J APL-Journal Nachrichten EU-Kommissarin Reding und US-Internetpionier Cerf empfehlen raschen Wechsel zum neuen Internet-Technikstandard IPv6 Potsdam. Mit Video-Ansprachen von EU-Kommissarin Viviane Reding und Internetpionier und GoogleVorstandsmitglied Dr. Vinton Cerf hat am 7. Mai 2008 ein Gipfeltreffen zur Einführung der neuen Internetgeneration begonnen. Auf der Expertentagung am HassoPlattner-Institut in Potsdam appellierte Cerf an die Computernutzer, bei den Internetanbietern auf die zügige Einführung des neuen Technikstandards IPv6 zu drängen. Das Kürzel IP steht für „Internet-Protokoll“ und bezeichnet das Verfahren, mit dem sich Computer und Geräte im weltweiten Netz verknüpfen. Die für Informationsgesellschaft und Medien zuständige EU-Kommissarin Reding kündigte einen Aktionsplan der Europäischen Union zur beschleunigten Einführung der nächsten Internetgeneration an. Auf dem zweitägigen „IPv6 Summit“ befassen sich rund 70 Experten aus dem In- und Ausland mit der Frage, wie der Übergang auf die neue Internetgeneration IPv6 in Deutschland vorangetrieben werden soll. 2010 zu schaffen. Viele Innovationen kämen nicht zu Stande, weil zu viel Kapazität darauf verwendet werde, die Knappheit des IPv6-Adressraumes zu verwalten. Der 64-jährige Informatiker Cerf, der zusammen mit Dr. Robert Kahn (69) als einer der beiden Väter des Internets gilt und Vorstandsmitglied beim Suchmaschinen-Anbieter Google ist, mahnte zur Eile beim Übergang auf die neue Internetversion. Cerf schätzt, dass „irgendwann zwischen 2010 und 2011“ keine alten IPv4-Adressen mehr verfügbar sein dürften, um neue Router und Webserver ans Internet anzubinden. Deshalb würden künftig immer mehr Netzanschlussnummern vergeben, die ausschließlich IPv6-tauglich seien. „Denken Sie daran, dass von insgesamt drei Milliarden Mobiltelefonen weltweit bereits 415 Millionen internetfähig sind und dass der Anteil solcher Handys weiter steigt“, betonte Cerf. Außerdem nehme die Internetnutzung jährlich um rund 40 Prozent zu. So habe zum Beispiel China mit 220 MilliReding sagte, die Kommis- onen Internetnutzern kürzsion werde den Mitglieds- lich die USA überholt. In seistaaten in Kürze Maßnah- ner Video-Botschaft verwies men vorschlagen, um den Cerf darauf, dass der Überentscheidenden Schritt in gang auf das neue Internet die neue Welt der Internet- nicht leicht sei. „Wir könversion IPv6 bis zum Jahre nen nicht einfach umschal- 46 ten und sagen, ab morgen gibt es nur noch IPv6“, betonte Cerf. Notwendig sei ein Parallelbetrieb von altem und neuem Standard. „Wenn im Netz dann aber etwas falsch läuft, kann es die Probleme sowohl in Protokollversion Vier als auch Sechs geben“, sagte der US-Internetpionier, der auch Mitgründer und langjähriger Vorstandsvorsitzender der Internet Corporation for Assigned Names and Numbers (ICANN), einer Art internationaler Verwaltungsrat des Netzes, sowie Gründer der Internet Society (ISOC), der zentralen Interessensvertretung des Internets, ist. So müsse zum Beispiel geklärt werden, wie die Netzwerkmanagementsysteme mit widersprüchlichen Meldungen über die Lenkung der Datenpakete, das so genannte Routing, in beiden Protokollversionen umgehen sollen. Das neue Internetprotokoll bietet nach Ansicht von Tagungsleiter Prof. Christoph Meinel, Direktor des Hasso-Plattner-Instituts und Vorsitzender des deutschen IPv6-Rats, „große Innovationschancen“. Verbraucher könnten dank IPv6 leicht über viele eigene Netzanschluss-Adressen verfügen, eigene private Netzwerke betreiben und von außen auf Einrichtungen und Ge- APL - Journal 2007, 26. Jg., Heft 1/2 APL-Journal Nachrichten räte im Haushalt zugreifen. Die neue Technologie werde viele Internet-Anwendungen einfacher und damit wirtschaftlicher machen, unterstrich Meinel. Experten versprechen sich von IPv6 vor allem mehr Sicherheit, höhere Leistung, bessere Fähigkeit zur Anpassung an neue Anforderungen und leichtere Erweiterbarkeit. Weitere Informationen zur Kontakt: Prof. Christoph Tagung und zu IPv6: http:// Meinel, Hasso-Plattner-Instiwww.ipv6council.de/media. tut für Softwaresystemtechnik GmbH, Prof.-Dr.-HelmertEin Hintergrundpapier zum Str. 2-3, D-14482 Potsdam, notwendigen Übergang auf Tel. 0331.55 09 - 222, Fax: den neuen Internetstan- -55 09-325, eMail: officedard IPv6 findet man im In- meinel@hpi.uni-potsdam. ternete unte: http://www. de, Internet: http://www. ipv6council.de/fileadmin/ hpi-web.de summit08/PM_Hintergrund_ Adresse des IPv6-Rats: IPv6.pdf. www.ipv6council.de. Darmstädter Forscher auf internationaler Mobilfunk-Konferenz WCNC in Las Vegas mit Preis ausgezeichnet Darmstadt. Die Forscher Andreas Schmidt, Nicolai Kuntze und Michael Kasper vom Darmstädter Fraunhofer-Institut für Sichere Informationstechnologie (SIT) haben für ihr Grundsatzreferat „On the deployment of mobile trusted modules“ auf der IEEE-WCNC-Konferenz (Wireless Communications and Networking Conference des Institute of Electrical and Electronics Engineers, Las Vegas, USA, 31.3.-2.4.2008, www.ieeewcnc.org) den Preis für einen der besten Konferenzbeiträge erhalten. „In unserer Veröffentlichung zeigen wir, wie eine Referenzarchitektur für mobile Endgeräte nach den Spezifikationen der Trusted Computing Group (TCG) und der Mobile Phone Working Group (MPWG) umgesetzt werden kann, wie das praktische Design und die Implementierung die- ses Konzepts aussehen und wie es auf einem geeigneten Betriebssystem angewendet werden kann“, fasst Kuntze zusammen. „Eine vertrauenswürdige mobile Plattform besteht aus Bereichen, die jeweils unterschiedlichen Interessenvertretern wie Netzb etreiber und Dienstanbieter zugeordnet und durch einen physikalischen Sicherheitsanker geschützt werden. Besonders wichtig ist die Inbesitznahme des Gerätes durch den Benutzer und die geheime Übertragung der Benutzeridentitäten zwischen verschiedenen Geräten und Netzkomponenten.“ In der Veröffentlichung werden die entsprechenden Konzepte der MPWG, also Trusted Engines und Mobile Trust Modules (MTM), beschrieben und gezeigt, wie diese auf der Basis der verfügbaren Trusted Platform Modules (TPM) implemen- APL - Journal 2007, 26. Jg., Heft 1/2 tiert werden können. Ein solcher virtueller MTM (vMTM) kann beispielsweise die Daten und Funktionalität einer SIM-Karte beherbergen und so deren Einsatzzweck auf die Authentifikation und das Identitätsmanagement auch auf normalen PC-Plattformen ausdehnen. Das sichere Smartphone könnte damit langfristig auch die Sicherheit beim Einsatz normaler Computer erhöhen. Der prämierte Konferenzbeitrag ist zum Download (PDF, 2.675kB) verfügbar unter: http://www.sit. fraunhofer.de/fhg/Images/ MTM_deployment_paper_ tcm105-116931.pdf Kontakt: Fraunhofer-Institut für Sichere Informationstechnologie, Rheinstr. 75, D-64295 Darmstadt, Tel. 069.97 20 20 56, Fax -17 23 72, eMail: m.kip@ mpr-frankfurt.de, Internet: http://www.sit.fraunhofer.de/ 47 APL-Journal Impressum Allgemeine Informationen APL-Journal 26. Jg. 2007, ISSN 1438-4531 Herausgeber: Rainer Nußbaum, APL-Germany e.V., Mannheim, http://www.apl-germany.de Redaktion: Dipl.-Volksw. Martin Barghoorn (verantw.), TU Berlin, Franklinstr. 28, D-10587 Berlin, Tel. (030) 314 24392, Fax (030) 314 25901 Verlag: RHOMBOS-VERLAG, Berlin, Kurfürstenstr. 17, D-10785 Berlin, Tel. (030) 261 9461, Fax (030) 261 6300, eMail: verlag@rhombos.de, Internet: www.rhombos.de Erscheinungsweise: halbjährlich Erscheinungsort: Berlin Gestaltung: RHOMBOS-VERLAG Druck: dbusiness.de GmbH, Berlin Copyright: APL Germany e.V. (für alle Beiträge, die als Erstveröffentlichung erscheinen) Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutzgesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürfen. Eine Haftung für die Richtigkeit der veröffentlichten Informationen kann trotz sorgfältiger Prüfung von Herausgeber und Verlag nicht übernommen werden. Mit Namen gekennzeichnete Artikel geben nicht unbedingt die Meinung des Herausgebers oder der Redaktion wieder. Für unverlangte Einsendungen wird keine Haftung übernommen. Nachdruck ist nur mit Zustimmung des Herausgebers sowie mit Quellenangabe und Einsendung eines Beleges gestattet. Überarbeitungen eingesandter Manuskripte liegen im Ermessen der Redaktion. (Stand 2007) APL-Germany e.V. ist ein gemeinnütziger Verein mit Sitz in Düsseldorf. Sein Zweck ist es, die Programmiersprache APL, sowie die Verbreitung des Verständnisses der Mensch-Maschine Kommunikation zu fördern. Für In teressenten, die zum Gedankenaus tausch den Kontakt zu anderen APLBenutzern suchen, sowie für solche, die sich aktiv an der Weiterverbrei tung der Sprache APL beteiligen wol- len, bietet APL-Germany den adäquaten organisatorischen Rahmen. 1. Vorstandsvorsitzender Dr. Reiner Nussbaum Dr. Nussbaum gift mbH, Buchenerstr. 78, 69259 Mannheim, Tel. (0621) 7152190. Beitragssätze: 2. Vorstandsvorsitzender: Martin Barghoorn Sekr. FR 6-9, Technische Universität Berlin, Franklinstr. 28, 10587 Berlin, Tel. (030) 314 24392 Außerordentliche Mitglieder: Jurist./natürl. Pers. 500,- EUR* Schriftführer Michael Baas Dynamic Logistics Systems GmbH, Wilhelm-Schöffer-Str. 29, 63571 Gelnhausen, Tel. (06051) 13068, Fax (06051) 1642, eMail: m.baas@ dls-planung.de Bankverbindung: BVB Volksbank eG Bad Vilbel BLZ 518 613 25 Konto-Nr. 523 2694 Schatzmeister Uwe Janza Janza Software Consulting, Bauerngasse 18, 90443 Nürnberg, Tel. 0911-327075, Fax 0911-327076 Auf Antrag, über den der Vorstand entscheidet, kann jede natürliche oder juristische Person Mitglied werden. Organe des Vereins sind die mindestens einmal jährlich stattfindende Mitgliederversammlung sowie der jeweils auf zwei Jahre gewählte Vorstand. Ordentliche Mitglieder: Natürliche Personen 32,- EUR* Studenten / Schüler 11,- EUR* * Jahresbeitrag Hinweis: Wir bitten alle Mitglieder, uns Adressenänderungen und neue Bankv erbindungen immer sofort mitzuteilen. Geben Sie bei Überweisungen den Namen und/ oder die Mitgliedsnummer an. ✂ Einzugsermächtigung Mitglieds-Nr.: ___________________ Ich erkläre mich hiermit widerruflich damit einverstanden, daß APL Germany e.V. den jeweils gültigen Jahres-Mitgliedsbeitrag von meinem unten angegebenen Konto abbucht. Mit der Datenübermittlung an das oben genannte Kreditinstitut bin ich einverstanden. Einen eventuell bestehenden Dauerauftrag habe ich bei meiner Bank gelöscht. Bankbezeichnung: ___________________________________________________________________________________ BLZ: __________________________ Konto-Nr.: ________________________________________ Datum: __________________________ Unterschrift: ________________________________________