Math」タグアーカイブ

幾何学関係アルゴリズムで参考になりそうなリポジトリー

2Dの幾何学関係のアルゴリズムで参考になりそうなリポジトリー

2つの円の共有点

Algorithms/CircleCircleIntersectionPoints.js at master · williamfiset/Algorithms · GitHub
https://github.com/williamfiset/Algorithms/blob/master/com/williamfiset/algorithms/geometry/CircleCircleIntersectionPoints.js

円と直線の共有点

Algorithms/LineCircleIntersection.js at master · williamfiset/Algorithms · GitHub
https://github.com/williamfiset/Algorithms/blob/master/com/williamfiset/algorithms/geometry/LineCircleIntersection.js

2つの直線の共有点

Algorithms/Line.java at master · williamfiset/Algorithms · GitHub
https://github.com/williamfiset/Algorithms/blob/master/com/williamfiset/algorithms/geometry/Line.java

他にも線形代数やグラフ理論など数学系のコードがあるようです。

リンク

GitHub – williamfiset/Algorithms: A collection of algorithms
https://github.com/williamfiset/Algorithms

2直線の交点を計算するアルゴリズム

ゲームを作っていると2直線の交点が知りたいこともあるかなと思います。

そんな時に役立つ2直線の交点を計算するC#のコードです。

Line Intersection | Unity Community
https://forum.unity.com/threads/line-intersection.17384/

算数・数学の時間に勉強した範囲でコード化できる内容ですが自分で作るとなると結構な手間かなと思います。

UnityでMathf.Clampを使ったときの挙動

Mathf.Clampはゲームを作るときに便利な関数ですが、境界での挙動がどうなっているかよく忘れてしまいます。

そこで、動作結果をメモしてみようと思います。

float版

float a0 = Mathf.Clamp (0.0f, 3.5f, 5.5f);
Debug.Log ("a0=" + a0);

float a8 = Mathf.Clamp (8.0f, 3.5f, 5.5f);
Debug.Log ("a8=" + a8);

実行結果

a0=3.5
a8=5.5

int版

int b0 = Mathf.Clamp (0, 3, 5);
Debug.Log ("b0=" + b0);

int b8 = Mathf.Clamp (8, 3, 5);
Debug.Log ("b8=" + b8);

実行結果

b0=3
b8=5

リンク

Unity – スクリプトリファレンス: Mathf.Clamp
https://docs.unity3d.com/ja/current/ScriptReference/Mathf.Clamp.html