ねこでじ(Nekodigi)

Nekodigi’s diary

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

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

【Processing】水の浸食をシュミレーションし、フォトリアルな雪山を作る。

成果物 www.youtube.com 予想以上の美しさにちょっと驚きました。今回は、CodingAdventureで紹介されていたHydraulic ErosionをProcessingで実装していました。いくつかぶつかったポイントをまとめておこうと思います。 成果物 コード 仕組み コード 仕組み …

【Processing】ParlinNoiseとCellular Automataで洞窟を作る。

成果物 www.youtube.com 今回は、UnityでCellular Automataを使ってノイズから洞窟を作っているサイトがあったので、早速やってみました。参考にしたサイトではランダムノイズが使われていましたが、ParlinNoiseを組み合わせた結局よりリアルになりました。P…

【Processing】Icosphereを脈動させてみた。

成果物 www.youtube.com 正二十面体(Icosahedron)は分割した後、位置ベクトルの大きさを半径に補正するとIcosphereになり、そのままにすると分割されたIcosahedronになります。補正しない場合とした場合を補完するとどうなるのかやってみたところ、無事に…

【Processing】Icosphereを作成し、うねうね動かしてみた。

成果物 シンプルなIcosphere www.youtube.com 前回作った正二十面体(Icosahedron)を分割して、中心からの距離が一定になるようにすることで作ることができます。UV球に比べて、頂点が均一に分布しているのが特徴で、凹凸処理の結果が非常にきれいになりま…

【Processing】全ての正多面体を実装し、描画方法を視覚化する。

成果物 www.youtube.com 今回は、Icosphereを作るため正二十面体を作っていたのですが、ついでに全ての正多面体を実装しました。Wikipediaなどで調べてみると、意外な描画方法だったので、内部に描画する時のヒントを表示してみました。 成果物 コード 解説 …

【Processing】3DレンダリングエンジンにGlossyシェーダーと鏡面反射を実装する

成果物 以前の画像と比べて、光を反射する物体が二種類増えています。一つは鏡に似ている鏡面反射で、もう一つは、粗さ?を変更できるGlossyシェーダーです。(金属に近い感じです) 仕組み レンダリングエンジンの基本的な仕組みについてはこちらをご覧くだ…

【Processing】Path Tracingで3Dレンダリングエンジンを自作!

成果物 とうとう、Processingでレンダリングエンジンを自作することができました!Rayを大量に発射して光の反射を計算しているので、リアルな質感になっています。 仕組み Rayを使った、反射色の取得 カギになっているのがこの式です。x1が反射光の出発地点…

【Processing】線と球面、線と平面の交差

成果物 www.youtube.com 今回は、前回の2次元上でのRayを、3次元に拡張しました。球と無限の大きさの平面に対応しています。 解説 球 計算式はこちらです。Rayの原点をo、向きをl、円の中心をc、円の半径をrとしています。 Wikipediaに書いてあるとうり、交…

【Processing×Path Tracing】法線の周りの半球上の点をサンプリングする。

成果物 www.youtube.com PythonのPath Tracingのサンプルが動いたので、それをもとにProcessingでPath Tracingを作ってみるというシリーズを始めていこうと思います。今回は、そのための基礎として、半球状の点をサンプリングするプログラムを作りました。(…