アニーリング
ストーリー、パート 1
午後早く、10月下旬の日差しが少年とその友達と遊んでいます。 まだ怖くない。 ハロウィーンはあと数時間です。
ビデオとコード
このビデオ シーケンスは、球体の周りに 3200 点を均等に配置するシミュレーテッド アニーリングを示しています。 最初に、ポイントは北極から南極への二重らせん状に配置されます。 私は二重スパイラルを目指していたわけではありません。もう少し初期の広がりを期待していましたが、とにかくうまくいきます。 色は視覚化のためのものです。 最初のポイントの後、アニーリングプロセスが始まります。 https://en.wikipedia.org/wiki/Annealing_(冶金)これは、金属を加熱して結晶構造を緩和し、原子が異なる関係に移動できるようにする物理的アニーリング プロセスです。 一部の素材は、10 月の太陽の暖かさで焼きなまされることさえあります。 ここのJSLはビデオ用に微調整されており、他のものには最適化されていません...しかし十分です. アニーリング フェーズでは、加熱と冷却のスケジュールによって、ポイントが最も近いポイントからどれだけ離れることができるかが制御されます。 極には多くのポイントが密集しているため、これらのポイントが移動する時間があるように、システムを少しの間ホットに保つスケジュールが必要です。 その「高温」では、ポイントが飛び跳ねすぎて、別のポイントの近くに行き過ぎてしまうことがよくあります。 スケジュールの段階的な冷却フェーズにより、ポイントが落ち着き、移動が少なくなります。 ビデオは完全に落ち着く前に終了します。
JSLをダウンロード
アニーリング - YouTube

三角測量
ストーリー、パート 2
午後遅く、衣装を着る時間。それでも怖くない。もうすぐハロウィンです。少年の衣装はパジャマと虎皮のクロスで、足の先に薄いプラスチック製のフットパッドが縫い付けられ、成形されたマスクには伸縮性のあるストラップと塗装されたひげがあり、地面を引きずる尻尾が付いています.とても、とてもクールです。彼の母親は、364 日前にウールワースで服を購入しました。
ビデオとコード
5つしかないプラトン立体.6番目は 3D プログラマーのユーモアです。四面体 (4 つの面)、八面体 (8 つの面)、および二十面体 (20 の面) には三角形の面があり、このモデルには 6396 の面があります。 パート 1 では、アニーリングを使用して 3200 個のポイントを球の周りに広げる方法を説明しました。ここでの問題は、その点のセットを、重なり合わないが球を完全に覆う三角形のセットに変えることです。JSLには2次元三角測量機能がありますhttps://community.jmp.com/docs/DOC-6686 .これらの三角形は球上に存在するため、3 次元アルゴリズムが必要です。Linux マシンで QHULL プログラムを使用して、3 次元の三角形分割を行いました。(最初、この問題は扱いやすいように見えたので、自分のコードをまとめてみました。私は間違っていた。)
(ファイルとスクリプトが添付されています。この手順を実行する必要はありません。おそらく $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をダウンロード
ThatsNoMoon - YouTube

この静止画の奥行感はかなり魅力的だと思います。 (直前のテスト...このスクリプトは、いくつかの JMP 13 機能を使用しています。JMP 13 が利用可能になりました! )
オブジェクト
ストーリー、パート 3
1959 年 10 月 31 日午後 6 時 30 分。 4 歳の男の子が、お父さんと一緒にトリック オア トリート バッグを持って通りに向かいますが、何が起こっているのかわかりません。 最初の家か二つの家は彼の友人の家で、大したことではありません。 「ドアに行き、ベルを鳴らして、言ってください。トリッカートリート、バッグを差し出してください。
それから彼らは境界. 彼はこれらの家を知りません。 最初のものは問題ありません。彼のお父さんは挨拶をして、男の子をドアに送ります。 「Twikerツイット!」。 彼らは笑い、バッグに何かを落とします。
隣の家の扉が開き、少年の心臓がドキドキし始める。 彼は白黒テレビでオズの魔法使いをよく理解していませんでしたが、空飛ぶ猿は確かに怖いと思っていました。 しかし、これはもっと悪いです。 戸口に立って、とんがった帽子をかぶって、緑の顔をしていた。彼らおそらくカラーテレビを持っていたでしょう。
お父さん:「さあ、階段を上って。 彼女はあなたを傷つけません。」
男の子「いやぁぁぁぁぁ」
魔女、くすくす笑いながら:「さあ、坊や…お菓子を用意してあるよ…」
ビデオとコード
このビデオを作成したコードは、名前空間を使用して表現します俳優オブジェクトとして。 オブジェクトは、ドリューのデザインの後に緩やかにパターン化されていますhttps://community.jmp.com/docs/DOC-9687 、およびサブクラス化のいくつかのレイヤーがあります。 オブジェクトが自分自身をレンダリングする方法が、空飛ぶ猿のように、少し恐ろしいことに気付くかもしれません。 アクターには、自分たちの世界を歩き回る際の相互作用を管理するルールがあります。 「ポール」アクターには 2 つのインスタンスがあります。それらの主な目的は、北極と南極から他のアクターを撃退することです (私が選んだ座標系は極を正しく処理していないためです)。 赤と青のアクターは北極でインスタンス化され、互いに反発し、極から反発します。 青い俳優、または著名な俳優には、特別な才能があります。カニ歩き、赤道追跡、東方探索です。 赤の俳優とは異なり、青には手段と動機があります。 カメラは青色に従います。 これらのほとんどは、現実よりも楽しみに近いものです。 見た目とは違う雰囲気。 太陽が近すぎて、原因不明のスカイフックが太陽を支えています。 生き物の体は、表面に深く押し込まれた単なる球体です。 生き物の回転が速すぎると、足が交差し、数フレーム後にもつれが解けます。
JSLをダウンロード
テッセレーションダンス - YouTube

2018 年 6 月 22 日更新: リンクの修復