93026


### 質問内容

参考サイトの２つの動画ですがゲーム数学での微分は数学とはどう違うのでしょうか？  
Unityエンジンの動画の`8:22`のところですが以下のことが知りたいです。

### 知りたいこと

トライの動画等で微分の解き方を調べましたが`func(float x)`関数の意味がわかりません。なぜXの二乗を取る関数が必要なのでしょうか？

また、ゲーム数学上での微分の使われ方がどうやら数学とは違うみたいなのでそのあたりも知りたいです。

### 調べたこと

ネット上で微分の解き方について調べました。

### 参考サイト

[微分は傾き - ゲーム制作に使う数学を学習しよう #8
(YouTube)](https://www.youtube.com/watch?v=60NsGFP-B40&t=60s) (Unityエンジンの動画)  
[【数学Ⅱ】第６章 微分法と積分法 コンプリート
(YouTube)](https://www.youtube.com/playlist?list=PLfOJcbz0N8NAoJpanifZtP6qSmttwh6Ts)
(トライの動画)  
[微分のやり方 (【微分のやり方】導関数の公式)参照](https://study-line.com/bibun-matome/)

[code]

    using System;
    
    public static class Program
    {
        static float func(float x)
        {
            return x * x;
        }
        
        static float derivative(float x)
        {
            const float h = 0.1;
            return (func(x + h) - func(x)) / h;
        }
        
        public static void Main()
        {
            Console.WriteLine(derivative(3.0));
        }
    }
    
    
[/code]


CC BY-SA 4.0
2022-12-26T11:49:17.363
93022
2022-12-27T02:28:20.053
2022-12-27T02:28:20.053
3060
55177
question
c# 数学
微分におけるゲーム数学と数学の違いについて知りたい。


特にゲームを作る上での数学と普通の数学に差があるわけではありません。連続的に変化する値をコンピュータの上で表現するときに近似をしたくなることがあるという話です。

実数 x を与えると実数を返す関数 f について考えましょう。色々な解説で書かれているように、この関数 f を x で微分した関数 f'
は、以下の式で定義できます。

[![f'\(x\) = lim_{h → 0} \(f\(x+h\) - f\(x\) /
h](https://i.stack.imgur.com/MvEbN.png)](https://i.stack.imgur.com/MvEbN.png)

ここで、数学的には微分の定義として極限 (lim)
が必要になっているわけですが、この定義をそのままプログラムにしようとすると、プログラムの中のどこかで極限を計算しなければなりません。

よくあるプログラミング言語ではそういったことはできないので、別の方法で近似します。今回質問者さんが参考にされた動画では、`h`
としてとても小さい値を使って右辺の分数を計算した値を使って、微分の値を近似しています。実際は `h` を `0`
に近付けたときの極限を知りたいわけですが、それができないのでなるべく `0` に近い値で代用しているわけです。

ここで、いまこの微分の近似の計算を確かめるための例として f(x) = x²
を選んでいるのは、おそらくそうすると分かりやすいからでしょう。今回の方法はもっと色々な関数に対して同じように使えるので、別に f(x) = x²
にこだわる必要はありません。


CC BY-SA 4.0
2022-12-26T14:07:31.120
93026
2022-12-26T14:07:31.120
19110
93022
answer