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

삼각측량
스토리, 파트 2
늦은 오후, 의상을 입을 시간입니다.여전히 너무 무섭지 않습니다.거의 할로윈입니다.소년 의상은 파자마와 호랑이 가죽이 교차된 형태로, 다리 끝에 꿰매어진 얇은 플라스틱 발 패드, 신축성 있는 끈이 달린 성형 마스크, 페인트 칠한 수염, 땅에 끌리는 꼬리가 있다.아주, 아주 멋져요.그의 엄마는 364일 전에 Woolworths에서 그 옷을 샀다.
비디오 및 코드
5개만 있습니다 플라토닉 솔리드 .여섯 번째 3D 프로그래머 유머입니다.4면체(4면), 8면체(8면) 및 20면체(20면)는 6396개의 면이 있는 이 모델과 마찬가지로 삼각형 면을 갖습니다. 1부에서는 어닐링을 사용하여 구 주위에 3200개의 점을 퍼뜨리는 방법을 설명했습니다.이제 문제는 해당 점 집합을 겹치지 않으면서도 구를 완전히 덮는 삼각형 집합으로 바꾸는 것입니다.JSL에는 2D 삼각 측량 기능이 있습니다. https://community.jmp.com/docs/DOC-6686 .이 삼각형은 구에 있기 때문에 3D 알고리즘이 필요합니다.Linux 시스템에서 QHULL 프로그램을 사용하여 3D 삼각 측량을 수행했습니다.(처음에는 문제가 다루기 쉬워 보였고, 나는 내 자신의 코드를 꿰맞추려고 노력했다.내가 틀렸어.)
(파일과 스크립트가 첨부되어 있습니다.이 단계를 수행할 필요가 없습니다.아마도 $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 <Desktop/windowsShare/sphere18.csv
>Desktop/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분. 네 살짜리 아이가 아빠와 함께 손에 트릭 오어 트릿 가방을 들고 거리를 향합니다. 첫 번째 또는 두 개의 집은 그의 친구의 집입니다. 큰 문제는 아닙니다. 그는 여러 번 거기에 있었습니다. "문으로 가서 벨을 누르고 속임수 , 가방을 내밀어.”
그런 다음 그들은 강을 건너 경계 . 그는 이 집들을 모른다. 첫 번째는 괜찮습니다. 그의 아버지는 인사를 외치고 소년을 문으로 보냅니다. "Twiker 트위트!". 그들은 웃으며 가방에 무언가를 떨어뜨립니다.
옆집의 문이 열리고 소년의 심장이 두근거리기 시작한다. 그는 흑백 TV로 오즈의 마법사를 잘 이해하지 못했지만 날아다니는 원숭이가 무섭다고 생각한 것은 분명했다. 그러나 이것은 더 나쁩니다. 출입구에 서서, 뾰족한 모자, 녹색 얼굴... 몇 년 후 그는 그것이 완벽한 화장이라는 것을 깨달았고 그들 아마도 컬러 TV가 있었을 것입니다.
아빠: “어서, 계단을 올라가. 그녀는 당신을 해치지 않을 것입니다.”
소년: "안돼요"
마녀, 낄낄거림: "어서 꼬마야...사탕을 가져왔어..."
비디오 및 코드
이 비디오를 빌드한 코드는 네임스페이스를 사용하여 배우 개체로. 물체는 Drew의 디자인에 따라 느슨하게 패턴화됩니다. https://community.jmp.com/docs/DOC-9687 , 여러 계층의 서브클래싱이 있습니다. 물체가 날아다니는 원숭이처럼 다소 무섭게 렌더링되는 방식을 찾을 수 있습니다. 액터는 자신의 세계를 돌아다닐 때 상호 작용을 제어하는 규칙이 있습니다. "극" 액터에는 두 가지 인스턴스가 있습니다. 그들의 주요 목적은 북극과 남극에서 다른 배우를 격퇴하는 것입니다(내가 선택한 좌표 시스템이 극을 제대로 처리하지 못하기 때문입니다). 빨강 및 파랑 액터는 북극에서 인스턴스화되고 서로 간에 그리고 극에서 반발됩니다. 파란색 또는 저명한 배우는 게 걷기, 적도 따라 가기, 동쪽 찾기와 같은 특별한 재능을 가지고 있습니다. 빨간색 배우와 달리 파란색에는 수단과 동기가 있습니다. 카메라는 파란색을 따릅니다. 이것의 대부분은 현실보다 재미에 훨씬 더 가깝습니다. 분위기는 보이는 것과 다릅니다. 태양은 너무 가깝고 설명할 수 없는 스카이훅이 태양을 떠받치고 있습니다. 동물의 몸은 구체에 불과하며 표면 깊숙이 눌려 있습니다. 동물이 너무 빨리 회전하면 다리가 교차하여 몇 프레임 후에 엉킴이 풀립니다.
JSL 다운로드
테셀레이션댄스 - YouTube

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