NEUROMANTIC

自分でC/C++/UE4/Graphics/ゲームなどをやったことをメモするブログ

Algorithm

「2D多角形の内部、外部判定のやり方」のメモ

bowbowbow.tistory.com 判定とは一体 Aは外部にあって、Bは内部にあることが分かる。 2Dの多角形に対し、AまたはBみたいな点が図形の内部にあるか外部なのかを判別することを示す。 図形の内部に位置する点の特徴は Aは交点が偶数。Bは奇数のことがわかる。 …

超簡単なBehaviour Treeを実装してみた

Finite-State Machineとは(Behaviour Treeの以前に。。。) en.wikipedia.org Finite-State Machineは人工知能または条件による行動の分岐を実装する基本的な方法の一つである。 人工知能の各行動をモジュール化させたので、ある程度に柔軟さは持っているが…

グラフ・最短距離アルゴリズムのまとめメモ(3)

序文 「グラフ・最短距離アルゴリズムのまとめメモ(2)」に引き続きJPS、JPS+、GoalBoundingアルゴリズム(短距離アルゴリズム)を書きたいと思います。 日本語下手ですので用語について指摘して頂けましたらありがとうございます。 本文 JPS(Jump Point …

グラフ・最短距離アルゴリズムのまとめメモ(2)

序文 「グラフ・最短距離アルゴリズムのまとめメモ(1)」に引き続き、Dijkstra、Bellman-ford、A*、そしてJPSから派生した最短距離アルゴリズムを書きたいと思います。 日本語下手ですのでちょっと用語について指摘して頂けましたらありがとうございます。…

グラフ・最短距離アルゴリズムのまとめメモ(1)

序文 自分の頭の中で纏まらなくてブログで復習を兼ねて書きたいと思います。 そしていろいろと調べたりして基本以外にもある良いアルゴリズムも纏めて書こうしました。 参照 INTRODUCTIONS TO ALGORITHMS 3rd EDITION Chapter 22 幅優先探索 - Wikipedia 深…

Segment Treeを使用して部分和を計算する。

Segment Tree とは Segment Treeはバイナリツリー(二分木)を使用して区間やあるリストの範囲を貯蔵するに使われるデータ構造である。 Segment Treeは実装するリストの長さに対していつも平衡二分探索木である。なので探索に最悪O(lgN)がかかる。 Segment T…

Kahan summation algorithmを試してみました。

発端 0.01f を 10000 回足すと 100.003f になる話に関連して、カハンの加算アルゴリズムを使うと、浮動小数点数の合計を求めるときの誤差を減らせることも知っておきたい https://t.co/Ctrz6V3QQ6 pic.twitter.com/FPPrUG2v8W— Ryo Suzuki (@Reputeless) 201…