Recuit
Histoire, partie 1
En début d'après-midi, le soleil de fin octobre joue avec le garçon et ses amis. Ce n'est pas encore effrayant. Halloween est dans des heures.
Vidéo et code
Cette séquence vidéo montre le recuit simulé pour placer uniformément 3200 points autour d'une sphère. Initialement, les points sont placés dans une double spirale du pôle nord au pôle sud. Je n'essayais pas une double spirale; J'espérais un peu plus de diffusion initiale, mais cela fonctionne quand même. Les couleurs sont juste pour la visualisation. Après les points initiaux, le processus de recuit commence. https://en.wikipedia.org/wiki/Annealing_(métallurgie ) décrit un processus de recuit physique, où le métal est chauffé pour détendre une structure cristallisée, permettant aux atomes de se déplacer dans une relation différente. Certains matériaux pourraient même être recuits sous la chaleur du soleil d'octobre. Le JSL ici est peaufiné pour la vidéo et n'est pas optimisé pour autre chose... mais assez bon. Pendant la phase de recuit, un programme de chauffage et de refroidissement contrôle le degré d'éloignement des points par rapport à leur voisin le plus proche. Parce qu'il y a beaucoup de points entassés aux pôles, le calendrier doit maintenir le système chaud pendant un certain temps afin que ces points aient le temps de migrer. A cette « température élevée », les points sautent suffisamment loin pour aller souvent trop loin dans le voisinage d'un autre point. La phase de refroidissement progressif de l'horaire laisse les points s'installer, bougeant de moins en moins. La vidéo se termine avant qu'ils ne soient complètement installés.
Télécharger JSL
Recuit - YouTube

Triangulation
Histoire, partie 2
En fin d'après-midi, il est temps d'enfiler le costume.Toujours pas trop effrayant.C'est bientôt Halloween.Le costume du garçon est un croisement entre un pyjama et une peau de tigre, avec un fin coussinet en plastique cousu à l'extrémité des jambes, un masque moulé avec sangle élastique et moustaches peintes, et une queue qui traîne sur le sol.Très cool.Sa mère a acheté la tenue à Woolworths, 364 jours plus tôt.
Vidéo et code
Il n'y a que cinq Solides platoniques .Le sixième est l'humour d'un programmeur 3D.Le tétraèdre (4 faces), l'octaèdre (8 faces) et l'icosaèdre (20 faces) ont des faces triangulaires, tout comme ce modèle à 6396 faces. La partie 1 a expliqué comment utiliser le recuit pour répartir 3200 points autour d'une sphère.Maintenant, le problème est de transformer cet ensemble de points en un ensemble de triangles qui ne se chevauchent pas et qui couvrent pourtant complètement la sphère.JSL a une fonction de triangulation 2D https://community.jmp.com/docs/DOC-6686 .Parce que ces triangles vivent sur une sphère, nous avons besoin d'un algorithme 3D.J'ai utilisé le programme QHULL sur une machine Linux pour faire la triangulation 3-D.(Au début, le problème semblait résoluble, et j'ai essayé de bricoler mon propre code.J'ai eu tort.)
(Les fichiers et le script sont joints.Vous n'avez pas besoin de faire cette étape.Vous devrez retoucher les chemins de fichiers, peut-être avec $DOWNLOADS.)
Créez un fichier à partir de la table de données JMP qui ressemble à ceci :
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
...
Envoyez-le à l'autre machine et exécutez ceci :
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.csv
>Desktop/windowsShare/sphere18.zerobased.delaunay
Et récupérez ce fichier à renvoyer à JMP :
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
...
Le code ici sert à faire la vidéo pour expliquer la triangulation... bien que je n'aie aucune idée du fonctionnement réel de l'algorithme QHULL.J'ai pensé que je devrais peut-être réorganiser l'ordre généré des triangles, mais l'ordre d'origine semblait intéressant.Il y a aussi une fonction lente d'entrée et de sortie lente https://en.wikipedia.org/wiki/12_basic_principles_of_animation#Slow_In_and_Slow_Out vers la fin... en commençant le chariot lentement, en accélérant, puis en décélérant jusqu'à un arrêt en douceur. Le suffixe 18 vous donne un indice sur le nombre d'itérations par lesquelles ce code est passé.Cela fait un beau costume pour le monde.
Télécharger JSL
C'est pas de lune - YouTube

Je trouve le sens de la profondeur dans cette image fixe assez convaincant. (Tests de dernière minute... ce script utilise certaines fonctionnalités de JMP 13.JMP 13 est maintenant disponible ! )
Objets
Histoire, partie 3
31 octobre 1959, 18h30. Un enfant de quatre ans monte dans la rue avec son père, un sac de friandises à la main, et aucune idée de ce qui se passe. La première maison ou les deux sont les maisons de ses amis, ce n'est pas grave, il y est allé plusieurs fois. « Va à la porte, sonne, dis trompeur , tendez le sac.
Puis ils traversent le frontière . Il ne connaît pas ces maisons. Le premier est OK; son père appelle une salutation et envoie le garçon à la porte. "Twiker tweat!". Ils rient, lâchent quelque chose dans le sac.
La porte de la maison voisine est ouverte et le cœur du garçon commence à battre. Il ne comprenait pas vraiment le Magicien d'OZ à la télévision en noir et blanc, mais il pensait vraiment que les singes volants étaient effrayants. Mais c'est pire. Debout dans l'embrasure de la porte, chapeau pointu, visage vert... des années plus tard, il réaliserait que c'était un maquillage parfait et ils avait probablement une télévision couleur.
Papa : « Vas-y, monte les marches. Elle ne te fera pas de mal.
Garçon : "Noooooooooon"
Sorcière, caquetant : "Allez petit garçon... j'ai des bonbons pour toi..."
Vidéo et code
Le code qui a construit cette vidéo utilise des espaces de noms pour représenter acteurs comme objets. Les objets sont vaguement inspirés de la conception de Drew dans https://community.jmp.com/docs/DOC-9687 , et ont plusieurs couches de sous-classement. Vous pourriez trouver la façon dont les objets se rendent un peu effrayants, un peu comme des singes volants. Les acteurs ont des règles pour régir leurs interactions lorsqu'ils errent dans leur monde. Il existe deux instances d'acteurs « pôles » ; leur objectif principal est de repousser les autres acteurs des pôles nord et sud (car le système de coordonnées que j'ai choisi ne gère pas correctement les pôles). Les acteurs rouges et bleus sont instanciés au pôle nord et sont repoussés l'un de l'autre et des pôles. L'acteur bleu, ou distingué, a des talents particuliers : marche en crabe, suivi de l'équateur et recherche de l'est. Contrairement aux acteurs rouges, le bleu a des moyens et une motivation. La caméra suivra le bleu. La plupart de ces choses sont beaucoup plus proches du plaisir que de la réalité. L'ambiance n'est pas ce qu'elle semble être. Les soleils sont bien trop proches et ont des crochets célestes inexpliqués qui les retiennent. Les corps des créatures ne sont que des sphères enfoncées profondément dans la surface. Lorsque les bestioles tournent trop vite, leurs pattes se croisent, se démêlant quelques images plus tard.
Télécharger JSL
TessellationDance - YouTube

Mise à jour 22 juin 2018 : liens de réparation