ねこでじ(Nekodigi)

Nekodigi’s diary

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

2020-03-01から1ヶ月間の記事一覧

【Processing】多角形の交差

成果物 今回は、少しづつ進めていた多角形の交差の報告です。今回は、独自のアルゴリズムを使って処理をしています。実際にやってみるとトラブル続きでやっと単純な図形ではそこそこ結果が出せるようになりました。ただ、まだバグが多いので改良が必要です。…

【Processing】かくかくの直線をベジェ曲線で少しづつなぞっていく

成果物 www.youtube.com ちょっと思っていたもの違いましたが、一応完成しました。 仕組み ポイントと、ポイントが載っている辺の次の辺上のポイントを繋いでいくことで描いています。おそらく、ソースコードを見ていただいた方がわかりやすいと思います。 …

【Processing】Diamond-Square AlgorithmでPlasma Fractalを作る

成果物 Plasma Fractalはフラクタルの一種で、拡大しても同じようなパターンが見えます。生成するさいも、再帰的に計算していきます。プラズマや宇宙背景放射のように見えます。 仕組み まず、2のn乗+1の正方形のマスを作ります。そして、四つの角にランダム…

【Processing】XYZ色空間とRGB色空間の変換。烏帽子型のあのグラフを表示する!

成果物 XYZ色空間は知らなくても、この図を見たことがある方は多いのではないでしょうか。これは、XYZ色空間を二次元(xyY)に変換したものです。三角形がCIERGBの範囲で、多くの色の一部しか表せていないことがわかります。 ちなみに、XYZをただ入力すればこ…

【Minecraft Modding】Spherical Voronoi / Delaunay Mod完成!

成果物 www.youtube.com Spherical VoronoiとDelauanyの骨組みに沿ってブロックを並べるアイテムを追加し、とうとう目標をすべて達成することができました。 ダウンロード https://www.curseforge.com/minecraft/mc-mods/spherical-voronoi-mod/files 仕組み…

【Minecraft Modding】Spherical Voronoiを実装する

成果物 www.youtube.com 前回のSpherical Delaunay Triangulationの外心を繋いでSpherical Voronoiを作ってみました。 やっぱりみたらし団子ー ダウンロード https://www.curseforge.com/minecraft/mc-mods/spherical-voronoi-mod/files 仕組み Delaunay Tri…

【Minecraft Modding】Spherical Delaunay Triangulationを実装する!

成果物 www.youtube.com ProcessingもMinecraftもJavaなので簡単に実装することができました。 みたらし団子ー ダウンロード https://www.curseforge.com/minecraft/mc-mods/spherical-voronoi-mod/files dl=0:embed:cite] 仕組み 前回の記事をご覧ください…

【Minecraft Modding】球面上の点をサンプリングする。

成果物 www.youtube.com MinecraftでSpherical Voronoiを実装するための第一歩として、球面上の点をサンプリングしてみました。 仕組み 前回の記事と同じ仕組みで動いています。 nekodigi.hatenablog.com 本体が写っていないときもTESRを表示する方法をQiita…

【Processing】球体のVoronoi図を作る

成果物 www.youtube.com 前回の3DVoronoi図に比べて、かなりきれいに仕上がりました。実は2DVoronoi図に近い仕組みで動いていて、意外に簡単な処理になっています。骨組みだけでもきれい。 仕組み 実は、球体のDelaunay TriangulationはConvex hullと全く同…

【Processing】Biham Middleton Levine Traffic Modelで、葉っぱにも見える不思議なパターンを作る

成果物 www.youtube.com 砂が流れ落ちるようなアルゴリズムになっていて、きれいなマツの葉のような模様を作りだすことができます。4Kの高解像度のシュミレーション結果はこちらです。 仕組み 進行方向にブロックがないとき、赤ブロックは右に動き、青ブロッ…

【Processing】球面上の点をサンプリングする

成果物 www.youtube.com 今回は、Spherical Voronoiのために球面上のポイントをサンプリングするプログラムを作ってみました。 仕組み 今回は、x,y,zが求められればいいので、極座標を使わず、そのまま求めています。 こちらのサイトをもとにしています。 Sp…

【Processing】画像をB-Spline曲線に沿って変形させる。

成果物 www.youtube.com 今回は、前回の曲線に変形を施すシステムと、B-Spline曲線のシステムを組み合わせて、画像を変形させてみました。 仕組み B-Spline曲線が、曲線上の任意の座標を取得できるという性質を利用して、初めてから終わりに向かって座標を取…

【Processing】球面の画像をStereographic Projectionで投影する。

成果物 ※修正しました。修正前も別の良さがあるので下に引き続き残しおきます。 www.youtube.com www.youtube.com バーン! 動画では球体を表示していませんが、極座標をそのまま画像の位置に割り当てているので動作は同じです。 仕組み 前回の逆変換の式を…

【Processing】Stereographic Projectionで球面を平面に投影する。

成果物 www.youtube.com 球面の模様を平面に投影した面白い画像が載っている本を読んで、ずっとやりたいと思っていたStereographic Projectionのやり方を見つけたので早速やってみました。動画内で線がちらちら出てきますが、一番外側の線が真上に来た時に生…

【Processing】マンハッタン距離から高次pノルムまでのVoronoi図を表示する。

成果物 www.youtube.com 高次pノルムという表現が正しいのか微妙ですが、ひとまず、Voronoi図の境界線が変化しているということがわかると思います。Voronoi図はこれ以外にも距離関数を工夫することで様々なパターンを表示することができます。 仕組み 次の…

【Processing】3DのVoronoi図を作ってみた結果…

成果物 www.youtube.com もはや完全に訳が分からないです…2Dでさえ分かりにくいのに…何となく泡の塊のようだということを感じ取っていただけるとありがたいです。どうやら、同じ方法で球のVoronoi図も作れるようなので、そちらに期待しようと思います。 仕組…

【Processing】Delaunay TriangulationはConvex hullの影だった!

成果物 Convex hullの投影 www.youtube.com この動画を見ればわかるとうり、Convex hullを平面に投影すると見事にDelaunay Triangulationになることがわかります。初めて知ったときは本当に驚きました。また、Convex hullの計算時に隣接する面のデータを含ん…

【Processing】Quickhullアルゴリズムで2D、3D、4DのConvex hullを求める

成果物 www.youtube.com 今回は、Quickhullというアルゴリズムを使って、Convex hullの計算の計算を行ってみました。全く同じコードで複数の次元のConvex hullを求めることができるのが特徴です。動画にはありませんが4Dにも対応させています。なぜ4Dが必要…

【Processing】三角形の外接球を求める

成果物 www.youtube.com 立体VoronoiのためのDelaunay Tetrahedralizationをする前に平面Voronoiを3Dに対応させようということで、三角形の外接球を求めてみました。技術的に難しいので今回は、辞退します。 仕組み 三角形の外接球を求める式はこのようにな…

【Processing】四面体の外接球を求める

成果物 www.youtube.com 前回のVoronoi図を3Dに拡張してみたいということで、Delaunay tetrahedralizationを作るために四面体の外接球を求めるプログラムを書いてみました。Delaunay tetrahedralizationって名前が尋常じゃないですね… 仕組み 外接球の中心座…

【Minecraft Modding】SuperShape Modを1.12.2に対応させてCurse Forgeで公開する。

成果物 www.youtube.com 数々の先人たちの知恵を借りてとうとう完成させることができました。大きくForgeAPIが変更されていて大変でしたが、かなり使いやすくなったと感じました。Super Toroidも今後追加したいと思います。 ダウンロード https://www.cursef…

【Minecraft Modding】SuperShapeを表示する。

成果物 www.youtube.com Minecraft1.7.10でSuperShapeを表示してみました。ただ1.7.10はGradle2.0を利用しているなど、かなり古いので安定している1.12.2や最新版に移行していこうと思います。ビルド出来ず無念! 詰まったところ TessellatorのaddVertexWith…

【折り紙Tessellation】雪の結晶にも見えるBig Starを作った。

成果物 中心から放射状に延びていく様子がきれいです。 作り方 1:00:23ぐらいで、星の角の部分処理がありますが、新しい斜めの折り目をつけていって大丈夫です。結構はまりました。ー www.youtube.com

【Processing】画像をPerspective Transformする

成果物 www.youtube.com 前回のBicubic補完とPerspective Transformを組み合わせて、画像をPerspective Transformしてみました。左上の画像には、どの点でサンプルをとっているのかが表示されています。 仕組み Perspective Transformは、逆方向にも計算がで…

【Processing】画像をBicubic補完する

成果物 モザイクのような画像を入力すると、綺麗に補間されます、サンプルを細かくすると本物と同じような結果が得られます。左から、入力、出力結果、正解です。 仕組み Bicubic補完については、前回の記事をご覧ください。 nekodigi.hatenablog.com 基本的…

【Processing】Perspective Transformを実装する。

成果物 www.youtube.com 今日はPythonのPerspective TransformをProcessingで実装してみました。Numpyと比べて連立方程式がNaNになってしまうことが多いのでEPSILONを足して対応しています。そのため誤差が多いですが、ご了承ください。 仕組み 前回の記事を…

【Processing】Bicubic補間を実装する。

成果物 入力したのは黒丸で囲われた11x11の点ですが、よく見ないと分からないほど綺麗に保管されています。Bicubic補間は、実際にGIMPなどの画像処理ソフトで標準的に使われています。 仕組み Cubic Hermite Interpolationという三次式を2Dに拡張したもので…

【折り紙Tessellation】ライト輝かせてみた

成果物 トレース用のライトで照らしてみたところ、とてもきれいに輝いたので、過去の作品を一度まとめてみることにしました。 Tessellation 1-Cube Exercise Spread Hex Tessellation 作り方 www.youtube.com www.youtube.com

【折り紙Tessellation】Hydrangea TilesとCeltic Circleを作ってみた

成果物 今回もTessellationを作ってみました。トレース用のライトで照らしてみたところ、とてもきれいに輝きました。 Hydrangea Tiles 思ったよりも細かい部分が多く、ピンセットも使いながら作業しました。 Celtic Circle 片側にはカールするような模様が出…

【Python】ライブラリなしでPerspective Transformを実装する。

成果物 枠の変形に合わせて自動的に遠近法が計算されています。また、計算順序を逆にするだけで、簡単に逆変換ができるのでBilinear補間なども簡単に行うことができそうです。 仕組み この大きな行列式を使って、変換前と変換後の四つ角の座標から、比例係数…