ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】TractrixからCatenaryを求める。

成果物 棒を真っ直ぐ押していったときにできるTractrixから、縮閉線evolute or法線を引いていくとCatenaryが求められるので、やってみました。逆もできるのですが、積分が大変そうなので、後々やっていこうと思います。 仕組み こちらのサイトをもとにTractr…

【Processing】黄金角で球面状のサンプリングをする。

成果物 このような方法を使って、球状にRayを飛ばしていた人がいたので、やってみました。軌跡を表示すると非常にきれいなのでやってみてください。 仕組み zを少しずつ変えながら、黄金角に従って球状に配置していくと均一にサンプリングできます。 こちら…

【Minecraft】Skinをよりリアルにする方法。

成果物 左側が修正前で、右側が修正後です。 ざっくり見ると違いが分かりにくいかもしれませんが、右側の方がより立体的で生き生きしているように見えると思います。これは、お友達が作ってくれたテクスチャで元々のクオリティが高かったので、頑張って改良…

【Minecraft Animation】走るアニメーションを作ってスムーズに繋げる

成果物 www.youtube.com 走るアニメーションを作って、歩くアニメーションのテクニックを合わせることで、足り始めて止まるところまでのアニメーションを作ってみました。 仕組み I want to be an Animatorさんのチュートリアルを参考にしました。リアルなア…

【Minecraft Animation】ゴミ箱のアニメーションを作る

成果物 www.youtube.com Mac嫌いの友達がRotten Apple Garbage Proというパソコン名にしていたので、そこから着想を得て作ってみました。(アニメーション内のゴミ箱は高級なただのゴミ箱であってそれ以外の何物でもありません)思いのほか高級感のあるゴミ…

【Processing】120 cellを作る

成果物 www.youtube.com あまりに美しかったので驚きました。 仕組み 頂点はこのようになっています。Φは黄金比です。また、辺の長さは2/(Φ*Φ)です。 permutations of (0, 0, ±2, ±2) (±1, ±1, ±1, ±√5) (±φ−2, ±φ, ±φ, ±φ) (±φ−1, ±φ−1, ±φ−1, ±φ2) and all…

【Processing】600 cellを作る

成果物 www.youtube.com 120 cellを先に作ったのですが、600 cellより圧倒的に美しかったので後で説明します。 仕組み 頂点はこのようになっています。Φは黄金比です。また、辺の長さは2/Φです。 The 96 even permutations of (+-phi,+-1,+-1/phi,0). The 8 …

【Processing】正十二面体を頂点情報だけから作る。

成果物 120 cell, 600 cellを作るにあたって、辺、面の情報を手動で登録するのは不可能に近いので、頂点情報と辺の長さから辺を自動生成するようにしました。 仕組み 頂点はこのようになっています。Φは黄金比です。また、辺の長さは2/Φです。 絶対値符号の…

【Blender Animation】Minecraft Rigをリアルに歩かせる。

成果物 www.youtube.com 数々のアニメーターの中でも特にリアルな動きのZAminationさんのTutorialをもとに作成しました。Rigも配布しており、2.9にも対応したのでそちらも合わせて使っています。 分かったこと まず、足が開いた2つ状態を設定しておき、その…

【Processing】穴の開いた毛細血管のようなパターンをConstrained Delaunay図の最短経路を大量に結んで作る。

成果物 www.youtube.com ようやくConstrained DelaunayをA Starアルゴリズムで解くことが出来ました。これは、かなり重要なアルゴリズムで、ゲームのAIもこれと似た仕組みを使って障害物を避けながら移動しています。 仕組み 前回Constrained Delaunayのアル…

【Arduino】一定の周期で繰り返すタイマーを作る。

成果物 邪魔にならないように、黒く仕上げました。勉強するときに、25分勉強、5分間目を休めるという流れにしたいのですが、時間をはかるためだけにわざわざタイマーやタブレットを触っているとかなりのタイムロスなので、自動で行ってくれるようにしました…

【Nekodigi】ロードマップを公開します。

成果物 今後何をするかを書いた、カレンダーを公開します。 calendar.google.com というのも、来年は投稿頻度が非常に低くなってしまう可能性があるからです。詳しくは今年の年末にも言おうと思うのですが、来年からしばらく勉強の時間をいただきたいと思い…

【Processing】Constrained DelaunayからVoronoi図を生成してみた。

成果物 Constrained Delaunayはそのままだと周囲との接続関係の情報を持たないので、何とか何とか登録して試してみました。面を張るところまではいきませんでしたが、線は生成することができました。おおよそConstraintに直交するようにVoronoi図ができてい…

【Processing】Convex Hull同士のMinkowski和を計算する。

成果物 左上の物体Aを、真ん中の物体Bの周りで一周させ通った部分を物体Bに追加したのがMinkowski和です。これを使うと、危険物からXm以内の危険エリアを計算するといったことができます。また、Constrained Delaunayと組み合わせると、ある物体のXm以内に近…

【Processing】Constrained Delaunayを使って、文字でくりぬかれたVoronoi図を作る。

成果物 今回は、前回のConstrained Delaunayを発展させて文字で行っていました。前回は一つの輪で切り取っていましたが、文字では多数の輪があり、切り取る輪、残す輪があるので、思った以上に難解でした。 最終的にPolygon in Polygonを使った後処理で解決…

【Minecraft】Hypixel Zombiesで初めてDuo Winした話。

概要 本当はスクリーンショットを貼りたかったのですが、Windowsの固定キーが発動して取れませんでした( ゚Д゚)。 www.youtube.com ※追記 80000Killの人と二度目のDuo Winをすることが出来ました。本当に良かったです。 4人、3人で勝ったことはあったのですが…

【Processing】Delaunay図を自在に切り取る!Constrained Delaunayを実装する。

成果物 基本的なDelaunay図の最終形態とも言うべきConstrained Delaunayがとうとう完成しました!これを使うと、自由自在に穴をあけたり、線を入れたりすることができます。仕組み自体はシンプルですが、接続情報の変更が非常に複雑で、難しかったです。改良…

【Processing】Worley Noiseに色を付けて、渋くてきれいなVoronoi図を作る。

成果物 普通のVoronoi図を点からの距離が遠いほど黒くなるようにするだけで、人工的な雰囲気が緩和され、味が生まれました。コード自体も非常にシンプルです。 Worley Noiseについて Worley noise - Wikipedia コード Worley Voronoiという名前で追加してい…

【Processing】遊星ギアを作ってみる。

成果物 アンパ…ではありません。簡略化のため歯をなくしたので遊星摩擦車的なものになってしまいましたが、これでも、動作する様子ははっきりわかります。 仕組み ja.wikipedia.org コード Planetary Gearという名前で追加しています。 github.com

【Processing】円で形を削り取り、波や浸食された砂岩のような表現を作る。

成果物 The Waveや滑らかな浸食された氷をみると、まるで球たいで削ったような形をしていたので作ってみました。背景色と同じ円を描いて削られたように見せるというシンプルな仕組みですが、雰囲気は出ている気がします。 コード Circle Erodeという名前で追…

【Processing】Lab色空間からRGBに変換したかった(試作)

成果物 単純に色飛びしたのか、それともミスなのかわからないのですが、違和感があります。まだまだ分からないことが多いので、手掛かりが見つかったら修正していきたいと思います。修正できる方がいたら報告お願いします。 仕組み こちらのサイトのCIELabの…

【Processing】JavaFXを使ったPerspective Transform

成果物 前回、連立方程式を解いてPerspective Transformを行ったのですが、Division by Zero問題で誤差を増大させざるを得なかったので、JavaFXでもやってみました。 nekodigi.hatenablog.com 仕組み JavaFXのJarライブラリが見つからなかったので、Keystone…

【Processing】一度にたくさん書けるペンを作ってみた。

成果物 試験前にひたすら原子核のKLMN(アルファベット順です)を書き続けていた人がいたので、そんな退屈なことはプログラミングにやらせようということで作ってみました。ただ複製するだけでは面白くないので、ペンタブレットのライブラリを使って筆圧も考慮…

【Processing】黄金角に沿って並んだ円形のディスプレイを作る。

成果物 円形のディスプレイでも、通常格子型にLEDが配置されていますが、黄金角を使って配置してみると面白いのではということでやってみました。今回は、画像上の任意の点の情報が欲しいということで久しぶりにBicubic補間を使いました。 仕組み こちらの記…

【Processing】矢絣の模様を作る

成果物 模様シリーズとして矢絣も作ってみました。Processingでできそうなものは一通り済ませてしまったので、実装すると面白そうな模様があればリクエストお願いします。 仕組み 矢絣は実は長方形とひし形の組み合わせでできています。色を交互に並べながら…

【Processing】塊検出(Connected-component labeling)を実装する

成果物 二値化されたデータを塊ごとに分類してくれるプログラムです。物体の個数を数えたり、物体が繋がっているかを調べたりするときに便利です。 仕組み 画像の端から順に検査していき、trueのマスでラベルが張られていない場合は現在のラベルを設定し(ラ…

【Python】Face Depixelizerで今まで書いたドット絵をリアルにしてみた。

結果 今回は、モザイクを除去するAIを使って、ドット絵をリアルにしてみました。 こちらのColaboratoryかGithubで実行できます。 colab.research.google.com github.com 注意点 epsilonという項目があるのですが、この値を小さくしすぎると画像生成に失敗し…

【Processing】イラストを動かす(あご)

成果物 今回は、試しにかえる仙人を動かしてみようということで、ボールを食べるアニメーションを作ってみました。回転の原点を疑似的に変更しているのがポイントです。 仕組み Processingにはある点を中心に回転させるという機能はないのですが、回転の中心…

【Processing】あるxでのベジェ曲線のyを求める。

成果物 今回は、総集編として、あるxでのベジェ曲線のyを求めてみました。ついでに、直線にも対応させておきました。vertex、quadraticVertex、bezierVertexの様に曲線を指定することができます。 仕組み あるxでの二次、三次ベジェ曲線のyについてはこちら…

【Processing】文字が繋がって落ちていくタイピングゲームを作る。

成果物 www.youtube.com 今回もBox2Dを使ったタイピングゲームになります。以前はただ落ちるだけでしたが、今回は、Jointを使ってつなげてみました。ただそれだけなのですが、躍動感が生まれました。 仕組み 私の知る限り、Box2Dでは物体のSTATIC,DYNAMICを…