Glühen
Geschichte, Teil 1
Am frühen Nachmittag spielt die späte Oktobersonne mit dem Jungen und seinen Freunden. Es ist noch nicht beängstigend. Halloween ist noch Stunden entfernt.
Video und Code
Diese Videosequenz zeigt Simulated Annealing zur gleichmäßigen Platzierung von 3200 Punkten um eine Kugel. Zunächst werden die Punkte in einer Doppelspirale vom Nordpol zum Südpol platziert. Ich habe nicht versucht, eine Doppelspirale zu schaffen; Ich hatte auf eine etwas stärkere anfängliche Ausbreitung gehofft, aber es funktioniert trotzdem. Die Farben dienen lediglich der Visualisierung. Nach den Anfangspunkten beginnt der Glühvorgang. https://en.wikipedia.org/wiki/Annealing_(metallurgy ) beschreibt einen physikalischen Glühprozess, bei dem Metall erhitzt wird, um eine kristallisierte Struktur zu entspannen, wodurch sich die Atome in eine andere Beziehung bewegen können. Einige Materialien können sogar in der Wärme der Oktobersonne geglüht werden. Die JSL hier ist für das Video optimiert und für nichts anderes optimiert ... aber gut genug. Während der Glühphase wird durch einen Heiz- und Kühlplan gesteuert, wie weit sich die Punkte von ihrem nächsten Nachbarn entfernen dürfen. Da an den Polen viele Punkte zusammengedrängt sind, muss der Zeitplan das System eine Weile heiß halten, damit diese Punkte Zeit haben, wegzuwandern. Bei dieser „hohen Temperatur“ springen die Punkte so weit, dass sie oft zu weit in die Nachbarschaft eines anderen Punktes vordringen. Die allmähliche Abkühlungsphase des Zeitplans führt dazu, dass sich die Punkte beruhigen und sich immer weniger bewegen. Das Video endet, bevor sie sich vollständig beruhigt haben.
Laden Sie JSL herunter
Glühen – YouTube

Triangulation
Geschichte, Teil 2
Am späten Nachmittag ist es Zeit, das Kostüm anzuziehen. Immer noch nicht allzu gruselig. Es ist fast Halloween. Das Kostüm des Jungen ist eine Mischung aus Pyjama und Tigerfell, mit einem dünnen Fußpolster aus Kunststoff, das an die Enden der Beine genäht ist, einer geformten Maske mit Gummiband und aufgemalten Schnurrhaaren und einem Schwanz, der über den Boden schleift. Sehr sehr cool. Seine Mutter hatte das Outfit 364 Tage zuvor bei Woolworths gekauft.
Video und Code
Es gibt nur fünf platonische Körper . Der sechste ist 3D-Programmierer-Humor. Das Tetraeder (4 Flächen), das Oktaeder (8 Flächen) und das Ikosaeder (20 Flächen) haben dreieckige Flächen, ebenso wie dieses Modell mit 6396 Flächen. In Teil 1 wurde erklärt, wie man durch Tempern 3200 Punkte auf einer Kugel verteilt. Das Problem besteht nun darin, diese Punktmenge in eine Menge Dreiecke umzuwandeln, die sich nicht überlappen und dennoch die Kugel vollständig abdecken. JSL verfügt über eine 2D-Triangulationsfunktion https://community.jmp.com/docs/DOC-6686 . Da diese Dreiecke auf einer Kugel leben, benötigen wir einen 3D-Algorithmus. Ich habe das QHULL-Programm auf einem Linux-Rechner verwendet, um die 3D-Triangulation durchzuführen. (Zuerst schien das Problem lösbar zu sein, und ich habe versucht, meinen eigenen Code zusammenzubasteln. Ich habe mich geirrt.)
(Dateien und Skript sind angehängt. Sie müssen diesen Schritt nicht ausführen. Sie müssen die Dateipfade ändern, möglicherweise mit $DOWNLOADS.)
Erstellen Sie eine Datei aus der JMP-Datentabelle, die wie folgt aussieht:
Desktop/windowsShare/sphere18.csv. Hand-edit the first two rows with your favorite editor.
3
3200
0.0174574781 -0.009345855 0.9998039265
0.0370915586 0.1378584254 0.9897571777
-0.016638696 -0.082236389 0.9964739485
0.1316324218 0.1496379046 0.9799394895
-0.076811566 -0.102578513 0.9917548246
-0.124948516 -0.055647123 0.9906014669
-0.164864305 -0.100732341 0.9811588843
0.0174820473 0.0708889403 0.9973310063
...
Senden Sie es an den anderen Computer und führen Sie Folgendes aus:
grab some software for a linux machine to do a tessellation in N dimensions (N==3 for us)...
sudo apt-get install qhull libqhull-dev qhull-bin
do the tesselation...
qhull Qt i Desktop/windowsShare/sphere18.zerobased.delaunay
Und lassen Sie diese Datei an JMP zurücksenden:
head Desktop/windowsShare/sphere18.zerobased.delaunay -- show the output of the tessellation
6396 -- number of triangles
1601 1605 1607 -- zero-based row numbers of vertices of first triangle
1802 1800 1804
1800 1613 1804
1798 1613 1800
1424 1611 1418
1611 1424 1619
1814 1812 1631
1629 1814 1631
1603 1597 1406
...
Der Code hier dient dazu, das Video zu erstellen, um die Triangulation zu erklären ... obwohl ich keine Ahnung habe, wie der QHULL-Algorithmus tatsächlich funktioniert. Ich dachte, ich müsste vielleicht die erzeugte Reihenfolge der Dreiecke neu anordnen, aber die ursprüngliche Reihenfolge schien interessant zu sein. Es gibt auch eine Slow-In-/Slow-Out-Funktionhttps://en.wikipedia.org/wiki/12_basic_principles_of_animation#Slow_In_and_Slow_Outgegen Ende... langsames Ausfahren des Dolly-Outs, Beschleunigen und dann Abbremsen bis zum sanften Stopp. Das Suffix 18 gibt Ihnen einen Hinweis auf die Anzahl der Iterationen, die dieser Code durchlaufen hat. Es ist ein schönes Kostüm für die Welt.
Laden Sie JSL herunter
ThatsNoMoon – YouTube

Ich finde das Gefühl der Tiefe in diesem Standbild ziemlich überzeugend. (Last-Minute-Test ... dieses Skript verwendet einige JMP 13-Funktionen. JMP 13 ist jetzt verfügbar!)
Objekte
Geschichte, Teil 3
31. Oktober 1959, 18:30 Uhr. Ein Vierjähriger geht mit seinem Vater die Straße entlang, eine Süßes-oder-Saures-Tüte in der Hand und keine Ahnung, was los ist. Das erste oder zweite Haus sind die Häuser seiner Freunde, keine große Sache, er war schon oft dort. „Gehen Sie zur Tür, klingeln Sie, sagen wir maltrickertreat, halte die Tasche hin.“
Dann überqueren sie dieGrenze. Er kennt diese Häuser nicht. Der erste ist in Ordnung; Sein Vater ruft einen Gruß und schickt den Jungen zur Tür. „Twiker tweat!“. Sie lachen, lassen etwas in die Tüte fallen.
Die Tür zum nächsten Haus steht offen und das Herz des Jungen beginnt zu klopfen. Er verstand den Zauberer von OZ im Schwarzweißfernsehen nicht wirklich, aber er fand die fliegenden Affen auf jeden Fall gruselig. Aber das ist schlimmer. Als er in der Tür stand, spitzer Hut, grünes Gesicht ... Jahre später wurde ihm klar, dass es das perfekte Make-up war undSiehatte wahrscheinlich einen Farbfernseher.
Papa: „Los, geh die Stufen hinauf. Sie wird dir nichts tun.“
Junge: „Neeeein“
Hexe, gackernd: „Komm schon, kleiner Junge... ich habe Süßigkeiten für dich…“
Video und Code
Der Code, der dieses Video erstellt hat, verwendet Namespaces zur DarstellungSchauspielerals Objekte. Die Objekte sind lose nach Drews Entwurf gemusterthttps://community.jmp.com/docs/DOC-9687und verfügen über mehrere Unterklassenebenen. Vielleicht finden Sie die Art und Weise, wie sich die Objekte darstellen, ein wenig beängstigend, ähnlich wie fliegende Affen. Die Schauspieler haben Regeln, die ihre Interaktionen regeln, während sie durch ihre Welt wandern. Es gibt zwei Fälle von „Pole“-Akteuren; Ihr Hauptzweck besteht darin, andere Akteure vom Nord- und Südpol abzuwehren (weil das von mir gewählte Koordinatensystem die Pole nicht ganz richtig berücksichtigt). Die roten und blauen Akteure werden am Nordpol instanziiert und voneinander und von den Polen abgestoßen. Der blaue oder vornehme Schauspieler hat besondere Talente: Krabben laufen, dem Äquator folgen und den Osten suchen. Im Gegensatz zu den roten Akteuren verfügt Blau über Mittel und Motivation. Die Kamera folgt Blau. Das meiste davon ist viel mehr Spaß als die Realität. Die Atmosphäre ist nicht das, was sie zu sein scheint. Die Sonnen sind viel zu nah und werden von ungeklärten Himmelshaken gehalten. Die Lebewesenkörper sind nur Kugeln, die tief in die Oberfläche eingedrückt sind. Wenn sich die Tiere zu schnell drehen, kreuzen sie ihre Beine und entwirren sich ein paar Frames später.
Laden Sie JSL herunter
TessellationDance – YouTube

Update 22. Juni 2018: Reparaturlinks