가열 냉각
스토리 1부
이른 오후, 10월 말의 햇살이 소년과 친구들과 함께 놀고 있습니다. 아직은 무섭지 않습니다. 할로윈이 몇 시간 남았습니다.
비디오 및 코드
이 비디오 시퀀스는 구 주위에 3200개의 점을 균등하게 배치하기 위한 시뮬레이션 어닐링을 보여줍니다. 처음에는 점들이 북극에서 남극으로 이중 나선형으로 배치됩니다. 나는 이중 나선을 시도하지 않았습니다. 나는 좀 더 초기에 확산되기를 바랐지만 어쨌든 효과가 있습니다. 색상은 시각화를 위한 것일 뿐입니다. 초기 지점 이후에 어닐링 프로세스가 시작됩니다. https://en.wikipedia.org/wiki/Annealing_(metallurgy )은 금속을 가열하여 결정화된 구조를 이완시켜 원자가 다른 관계로 이동할 수 있도록 하는 물리적 어닐링 과정을 설명합니다. 일부 재료는 10월의 따뜻한 태양에 녹아버릴 수도 있습니다. 여기 JSL은 비디오용으로 조정되었으며 다른 용도로 최적화되지는 않았지만 충분합니다. 어닐링 단계 동안 가열 및 냉각 일정에 따라 포인트가 가장 가까운 이웃으로부터 얼마나 멀리 떨어져 있는지 제어됩니다. 극에는 많은 지점이 밀집되어 있기 때문에 해당 지점이 다른 지점으로 이동할 시간을 갖도록 일정에 따라 시스템을 잠시 뜨거운 상태로 유지해야 합니다. 그 "고온"에서는 지점이 충분히 멀리 점프하여 종종 다른 지점의 이웃으로 너무 멀리 이동합니다. 일정의 점진적인 냉각 단계를 통해 포인트가 안정되어 점점 더 적게 움직입니다. 완전히 자리를 잡기 전에 영상이 종료됩니다.
JSL 다운로드
어닐링 - YouTube

삼각측량
스토리 2부
늦은 오후, 의상을 입을 시간입니다. 그래도 별로 무섭지는 않아요. 할로윈이 거의 다가왔습니다. 소년의 의상은 잠옷과 호랑이 가죽의 혼합으로, 다리 끝에 얇은 플라스틱 발 패드가 꿰매어져 있고, 탄력 있는 끈과 칠해진 수염이 있는 성형 마스크, 땅에 끌리는 꼬리가 있습니다. 아주 아주 멋지네요. 그의 엄마는 364일 전에 울워스(Woolworths)에서 그 옷을 샀습니다.
비디오 및 코드
플라톤 다면체 는 5개뿐입니다. 여섯째는 3D 프로그래머 유머이다. 정사면체(4개 면), 팔면체(8개 면), 정이십면체(20개 면)는 면이 삼각형이고 면이 6396개인 이 모델도 마찬가지입니다. 1부에서는 어닐링을 사용하여 구 주위에 3200개 지점을 분산시키는 방법을 설명했습니다. 이제 문제는 해당 점 집합을 겹치지 않으면서 구를 완전히 덮는 삼각형 집합으로 바꾸는 것입니다. JSL에는 2D 삼각측량 기능 (https://community.jmp.com/docs/DOC-6686) 이 있습니다. 이러한 삼각형은 구에 존재하므로 3D 알고리즘이 필요합니다. 3차원 삼각측량을 수행하기 위해 Linux 시스템에서 QHULL 프로그램을 사용했습니다. (처음에는 문제가 다루기 쉬운 것 같아서 내 코드를 함께 맞추려고 했습니다. 내 생각이 틀렸습니다.)
(파일과 스크립트가 첨부되어 있습니다. 이 단계를 수행할 필요가 없습니다. $DOWNLOADS를 사용하여 파일 경로를 수정해야 합니다.)
JMP 데이터 테이블에서 다음과 같은 파일을 만듭니다.
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
...
다른 머신으로 보내고 다음을 실행하세요.
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 데스크탑/windowsShare/sphere18.zerobased.delaunay
그리고 이 파일을 가져와서 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
...
여기 코드는 삼각측량을 설명하는 비디오를 만들기 위한 것입니다. 하지만 QHULL 알고리즘이 실제로 어떻게 작동하는지 모르겠습니다. 생성된 삼각형의 순서를 다시 정렬해야 할 수도 있겠다고 생각했는데, 원래 순서가 흥미로워 보였습니다. 슬로우 인, 슬로우 아웃 기능도 있어요https://en.wikipedia.org/wiki/12_basic_principles_of_animation#Slow_In_and_Slow_Out거의 끝 부분...돌리 아웃을 천천히 시작하고 가속한 다음 부드럽게 정지할 때까지 감속합니다. 접미사 18은 이 코드가 수행한 반복 횟수에 대한 힌트를 제공합니다. 그것은 세상을 위한 멋진 의상을 만듭니다.
JSL 다운로드
댓츠노문 - YouTube

저는 이 정지 이미지의 깊이감이 매우 매력적이라고 생각합니다. (마지막 테스트...이 스크립트는 일부 JMP 13 기능을 사용합니다. JMP 13은 현재 사용 가능합니다!)
사물
스토리 3부
1959년 10월 31일 오후 6시 30분. 4살짜리 아이가 아빠와 함께 사탕 가방을 손에 들고 거리로 향하지만 무슨 일이 일어나고 있는지 전혀 모릅니다. 첫 번째 집이나 두 집은 그의 친구 집인데 별 문제가 되지 않습니다. 그는 그 집에 여러 번 가본 적이 있습니다. “문으로 가서 벨을 누르고 이렇게 말하세요.속임수, 가방을 내밀어요.”
그런 다음 그들은 건너경계. 그 사람은 이 집들을 몰라요. 첫 번째는 괜찮습니다. 그의 아버지는 인사를 하고 소년을 문으로 보낸다. “트위커 트위트!”. 그들은 웃으며 가방에 뭔가를 떨어뜨립니다.
다음 집으로 향하는 문이 열리고, 소년의 심장이 두근거리기 시작한다. 그는 흑백 TV에 나오는 오즈의 마법사를 잘 이해하지 못했지만, 날아다니는 원숭이들이 무섭다고 생각한 것은 분명했다. 그러나 이것은 더 나쁩니다. 뾰족한 모자를 쓰고 녹색 얼굴을 하고 출입구에 서 있었습니다. 몇 년 후 그는 그것이 완벽한 화장이었다는 것을 깨달았습니다.그들아마도 컬러 TV가 있었을 겁니다.
아빠: “자, 계단 위로 올라가세요. 그녀는 당신을 해치지 않을 것입니다.”
소년: "안돼아아아아아아"
마녀, 낄낄거리며: "어서 꼬마야...사탕 가져왔어..."
비디오 및 코드
이 비디오를 제작한 코드는 네임스페이스를 사용하여 다음을 나타냅니다.배우객체로서. 개체는 Drew의 디자인에 따라 느슨하게 패턴화되었습니다.https://community.jmp.com/docs/DOC-9687, 여러 계층의 하위 클래스가 있습니다. 마치 날아다니는 원숭이처럼 물체가 스스로를 약간 무섭게 만드는 방식을 발견할 수도 있습니다. 배우들은 자신의 세계를 돌아다닐 때 상호 작용을 관리하는 규칙을 가지고 있습니다. "극" 액터에는 두 가지 인스턴스가 있습니다. 그들의 주요 목적은 북극과 남극에서 다른 행위자를 밀어내는 것입니다(내가 선택한 좌표계가 극을 제대로 처리하지 못하기 때문입니다). 빨간색과 파란색 액터는 북극에서 인스턴스화되고 서로 및 극에서 밀어냅니다. 파란색 또는 저명한 배우는 게 걷기, 적도 따라 가기, 동쪽 탐색 등 특별한 재능을 가지고 있습니다. 빨간색 배우와 달리 파란색에는 수단과 동기가 있습니다. 카메라는 파란색을 따라갑니다. 대부분은 현실보다 재미에 훨씬 더 가깝습니다. 분위기는 생각보다 그렇지 않네요. 태양은 너무 가까워서 설명할 수 없는 스카이훅이 태양을 붙잡고 있습니다. 동물의 몸은 표면 깊숙이 눌려진 구체일 뿐입니다. 동물이 너무 빨리 회전하면 다리가 교차되어 몇 프레임 후에 얽힌 것이 풀립니다.
JSL 다운로드
테셀레이션댄스 - YouTube

2018년 6월 22일 업데이트: 수리 링크