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 Feld­reihenfolge 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:
Programm­ausschnitt
(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 dama­li­ 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
ge­hbis
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
ei­nund
igeerstreckte
weni­gsich
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
er­fberg,
olg­rreichten
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-An­wen­dungen
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
vertrauens­wür­dige mobile
Plattform besteht aus Bereichen, die jeweils unterschiedlichen Interessenvertretern wie Netz­b 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 Pro­gram­miersprache
APL, sowie die Verbreitung des Verständnisses der Mensch-Maschine
Kom­munikation zu fördern. Für In­
te­res­senten, die zum Gedankenaus­
tausch den Kontakt zu anderen APLBenut­zern su­chen, sowie für sol­che,
die sich ak­tiv an der Weiter­ver­brei­
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
Adres­senänderungen und neue
Bank­v erbindungen immer sofort mitzuteilen. Geben Sie bei
Überwei­sungen 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:
________________________________________