
2025.02.18
「売上をスケールする」AIの使い道とは アルペンが挑む、kintone×生成AIの接客データ活用法
Easing解析(全1記事)
リンクをコピー
記事をブックマーク
安原祐二氏(以下、安原):パート6ということで、Easing解析の話をしていきましょう。これはまず動画から見ていきましょうか。
すごくありがちな話ですが、UIとかをこうやってヒョヒョヒョヒョヒョッと出すのがよくあるじゃないですか。実装も簡単なのでよく使うのですが、今日はこれの性質を徹底的に考えていきましょう。
練習問題です。代表的な実装例はこうです。Lerpというのがあります。pとオレンジ色で書いてあるものが両方に含まれているのがポイントです。これはプログラムなので、1つ前の値が次の値に使われるということになります。要するに漸化式ですね。
Lerpは、Vector2版やVector3版があるのですが、これはx軸y軸それぞれやるだけの話なので、なんてことはありません。
復習すると、LerpはLinear Interpolationのことです。線形補間と訳されますが、aというポイントとbというポイントがあったら、そこを点線で結んで、なぞっていくものを式で作りたいわけです。
(スライドを示して)今ここに書いていますが、(1−t)にaを掛けて、bにtを掛ける。覚えにくいと思いますが、これも覚えておいたほうがいいです。覚えるとけっこう便利です。
覚え方ですが、tに0を入れた時にaと一致するようにする、tに1を入れた時にbと一致するようにする、と考えるとそんなに難しくはないかなと思います。
このとおりにプログラムでは実装します。自分で実装することはないと思いますが、こういうふうになっています。さっきの式をそのまま書いているだけです。
それを呼び出すほうは毎フレーム呼ぶよと。ここから数学の話にいくのですが、つまり、この毎フレーム呼んでるほうを漸化式で置き換えると、こういう感じになるでしょうと。例えば0.1というのがあったら、こうなっている。
この一般項を求めることがまず最初の目標になるわけです。前の値を使わずにいきなり(答えを)出せるか。つまり数学的に言うと、問題はこうなります。Tとαにしましょう。0.1の代わりにαにして、目標をTとしましょう。これを一般項を求めよという問題を解けばいいわけですね。
漸化式なので、P0=0と初項は必要です。ちょっとがんばってやっていくのですが、ここはけっこう受験テクニックみたいな話になります。退屈かもしれませんが、順番に見ていきましょう。
この2つ目のテクニックが最大の山場です。これはもう完全に数学のテクニックです。Pn+1およびPnの代わりにsというのを置いて、そういうsがあるでしょと仮定しちゃうわけです。
なんでこういうことをするかというと、こういう式をでっち上げて、上から下を引くんですね。この2式を引き算すると、Tαの部分が消滅します。つまり、このTαを消滅させたかったわけで、そのためのsです。
Tαが見事消滅したので、Pn−sみたいなやつをqnと置くと(qn=Pn−s)、非常に単純な等比数列になるのがわかるでしょうか。公比1-αの等比数列が(スライドを示して)ここに現れるので、これで一般式は出てきます。
あとはqやsを元に戻していきます。qを戻して、sはこの上から2番目の式を解けばTと一致することがわかるので、sの代わりにTを置いて、はい、これが答えになります。見事に一般項が出ました。
というわけで、一般項が出たら何がうれしいかというと、グラフを書けるようになります。こんな感じです。60フレーム後に、だいたいこの位置に行っていることがわかります。αに0.1を入れた場合は、こんな感じになります。
「一般項を求めてめでたしめでたし」ではなくて、こうやってターゲットが動的に動いても付いていくというのをプログラム中に使うのがけっこう便利だったりします。Lerpの本当にうれしい真髄というのはこれです。
60fps版で0.1だったら30fps版でここに何を入れたらいいのかというのがわかると便利です。これで一般化できたということになります。漸化式のままでこれができるかという話です。
これはもうゴリゴリとやっていくという話ですが、まず60fpsの時の係数をαとしておくと、このnの1秒後というのは60になるんですね。30fpsの時はβとしましょう。という計算をしていきます。
つまり60乗と30乗でαとβを導き出せばいいので、60と30の代わりに、mとかnとかを置いてしまえばより一般的な式ができてβが出せます。
これの何がうれしいかというと、60fps版はこうでした。じゃあ30fps版は? というのがもう出るわけです。先ほどの式でありましたが、べき乗、つまりPowというものを使います。Powerを使うとβという係数が出ます。30fps版の係数が出ます。実際は60割る30で2なので、2乗でも出るんですけれども。なぜPowerを使っているかというと、これですね。汎用的にどのフレームレートでも同じ動きをさせようと思ったら、30で割る代わりにdeltaTimeを掛けると、60fpsよりも高いフレームレートでも、同じ動きが作れるようになります。
もちろん30fpsの赤い玉のほうがガクガクしていますが、動きは一致しているのがわかるでしょうか。
こういうのが役に立つか立たないかという話になるんですが、例えばよくある話で言うと、最新のiPadは120fpsに対応しています。あるアプリを作って動きを作って、このデバイスだけ120フレームで動いてると、補間がそこだけ早くなっちゃうじゃないですか。でも、同じ動きで滑らかにしたいのが120fpsのうれしさなので、今の式を知っているとそういうところにも対応できます。
または、Windowsでゲームを作っていると、モニターのリフレッシュレートはけっこうまちまちですよね。最新だと144hzみたいなものもあるので、ここで一般化できるのは非常に大きな武器になります。
というわけでパート6、ちょっと難しい話になったかもしれませんが、難しかったのは数学の部分ですよね。でもあれはググると解き方がけっこう出てくるので、解けるんだということをわかっておくことが大事ですね。解く羽目になったら調べてがんばれば解けます。
これもブログ書いたので、ぜひあとで見てください。ここはわりと役に立つ情報が書いてあると思います。パート6は以上です。
2025.02.13
“最近の新人は報連相をしない”という、管理職の他責思考 部下に対する「NG指示」から見る、認識のズレを防ぐコツ
2025.02.13
AIを使いこなせない人が直面する本当の課題 元マッキンゼー・赤羽雄二氏が“英語の情報”を追い続ける理由
2025.02.06
すかいらーく創業者が、社長を辞めて75歳で再起業したわけ “あえて長居させるコーヒー店”の経営に込めるこだわり
2025.02.12
マネージャーは「プレイング3割」が適切 チームの業績を上げるためのマネジメントと業務の比率
2025.02.14
報連相ができない部下に対するコミュニケーションの取り方 「部下が悪い」で終わらせない、管理職のスキル向上のポイント
2025.02.13
上司からは丸投げ、部下からはハラスメント扱い、業務は増加…プレイングマネジャーを苦しめる「6つの圧力」とは
2025.02.12
何度言っても変わらない人への指示のポイント 相手が主体的に動き出す“お願い”の仕方
2025.02.13
「みんなで決めたから」を言い訳にして仲良しクラブで終わる組織 インパクトも多様性も両立させるソース原理
2025.02.10
32歳で「すかいらーく」を創業、75歳で「高倉町珈琲」で再起業 「失敗したからすかいらーくができた」横川竟氏流の経営哲学
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
着想から2か月でローンチ!爆速で新規事業を立ち上げる方法
2025.01.21 - 2025.01.21
新人の報連相スキルはマネージメントで引きあげろ!~管理職の「他責思考」を排除~
2025.01.29 - 2025.01.29
【手放すTALK LIVE#45】人と組織のポテンシャルが継承されるソース原理 ~人と組織のポテンシャルが花開く「ソース原理」とは~
2024.12.09 - 2024.12.09
『これで採用はうまくいく』著者が語る、今こそ採用担当に届けたい「口説く」力のすべて
2024.11.29 - 2024.11.29
第20回エクゼクティブメンターイベント「今、「ひと」と組織が共創する〜働き方の未来へ」
2024.12.07 - 2024.12.07