[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

数学に関するs_ryuukiのブックマーク (225)

  • Unity初心者向け:Color.Lerp関数をより詳しく理解しよう

    Unity初心者向け:Color.Lerp関数をより詳しく理解しよう Unityでは、ゲーム内で色を動的に変化させる機会が多くあります。たとえば、徐々に空が明るくなったり、画面が夜色に染まったり、UIボタンがホバー時にふわっと色を変えたりするなどです。 こうした「色をなめらかに変化させる」処理を手軽に実現するために役立つのが、Color.Lerpという関数です。 この記事では、Color.Lerpの基的な使い方と仕組みを、改めて分かりやすく解説します。画像や動画は使わず、あくまでテキストで完結しますので、実際にUnityを触りながら確かめてみてください。 Color.Lerpの基 Color.Lerpは、2つのカラー(colorAとcolorB)を指定し、その間を0~1の割合(t)で補間した色を返す関数です。 Color.Lerp(Color colorA, Color colorB,

    Unity初心者向け:Color.Lerp関数をより詳しく理解しよう
  • 基礎線形代数講座

    - 線形代数・回転の表現 - 株式会社 セガ 開発技術部 こちらからも↓PDFをダウンロードできます https://techblog.sega.jp/entry/2021/06/15/100000

    基礎線形代数講座
  • SIMD並列化ライブラリSmartVectorDotNet開発の知見まとめ(1) IEEE754浮動小数型の低レベル操作

    現在、.NetSIMD並列化ライブラリSmartVectorDotNetを開発しております。 ライブラリの開発にあたっては数値型の低レベル操作、数学関数のアルゴリズムなど多くのノウハウを調査・実証し、パフォーマンスの追及を行ってきました。 ライブラリ自体はおおむね形になったので、後学のためその記録をここに残しておきます。 IEEE754浮動小数型の低レベル操作 (稿) SIMD演算の基礎 初等関数の実装 C#とdotnetの最適化 binary32(float), binary64(double)の基礎知識 現代的なコンピュータの多く、そして.Netの実行環境ではプリミティブな浮動小数型としてIEEE754のbinary32およびbinary64をサポートしています。 binary32の正規化数は次の数式で表すことができます。 \begin{array}{ll} binary32 &

    SIMD並列化ライブラリSmartVectorDotNet開発の知見まとめ(1) IEEE754浮動小数型の低レベル操作
  • 代数的データ型 in Unity

    はじめに 代数的データ型というものを知り、少し使えるようになってきたので、そのメモ・Unityでの使いどころを考えてみます。 代数的データ型 代数的データ型は以下の2種類を同時に表現できるものになります。 直積型(Product Type) 直和型(Sum Type) 直積型 直積型は複数の型を組み合わせた型です。C#で何も考えずにクラス・構造体を作成すると直積型になります。 基的にどのフィールドも値を持つことを期待して最初は作りますが、徐々に値がない場合もあることに気づくこともあるでしょう。 その場合は、nullを入れるかdefaultを入れるか等で対応します。

    代数的データ型 in Unity
  • How were Quaternion discovered

  • ゲーム開発者らが「ユーザーが確率を理解してくれない」とコミュニティで悩みを吐露し合う。でも優しくウソつく時もあるから単純な話でもない - AUTOMATON

    あるゲーム開発者がRedditにて、ゲーム内に「確率」を表記した場合、多くのプレイヤーが正しく理解してくれないとの見解を投じ、話題を呼んでいる。ゲームにおいては数値どおりの確率で処理されるとプレイヤーにストレスが生じうる可能性もあるようだ。 今回ゲーム内の確率表記にまつわるトピックが議論されているのは、Redditゲーム開発に関するコミュニティr/gamedev内のスレッドだ。スレッド投稿者のCable23000氏はゲームデザイナーだそうで、手がけた作品でプレイテストをおこなったところ、確率表記を正しく理解してくれないプレイヤーが続出したという。同氏はフィードバックの例として「10%の確率で新たなアイテムを獲得できるPerk」において、“10回に1回は新たなアイテムを獲得できる”といった認識をもたれていたとしている。 確率と試行回数 しかし、たとえば仮に50%の確率でドロップするアイテム

    ゲーム開発者らが「ユーザーが確率を理解してくれない」とコミュニティで悩みを吐露し合う。でも優しくウソつく時もあるから単純な話でもない - AUTOMATON
  • ヤング図形と競技プログラミング

    数学の様々な分野に登場するヤング図形について解説します。競技プログラミングと関係のありそうなトピックを多めに選びましたが、競技プログラミングのことを知らなくても楽しめると思います。 (2024/08/04: 大幅に改訂しました) ヤング図形とは ヤング図形とは、自然数の分割を箱を用いて可視化したものです。例えば 5 の分割 5=2+2+1 の場合、次のように 1 行目に 2 個の箱、2 行目に 2 個の箱、3 行目に 1 個の箱を書きます。 このヤング図形を \lambda=(2,2,1) のように表します。 より厳密に説明すると、正の整数 n の分割とは総和が n となる正の整数からなる広義単調減少列のことです。ヤング図形は上から下に向かって箱の個数が減っていきます。\lambda が n の分割であることを、\lambda\vdash n のように表すこともあります。 ヤング図形をテー

    ヤング図形と競技プログラミング
  • 【Unity】クォータニオンAPIをゼロから自作して完全再現する - Qiita

    はじめに クォータニオン(Quatenion, 四元数)は、ゲーム開発プログラミングにおいて、オブジェクトの姿勢や回転を表す1つの手段です。Unityにおいても例えば、transform.rotationがクォータニオンで実装されています。 この記事では、Unityにおけるクォータニオンの構造体(UnityEngine.Quaternion)を理解するために、内部実装を再現・実装します。また、数学に関しては解説記事の紹介に留めます。 UnityのC#部分の実装に関しては、一部のソースコードが公開されていますが、クォータニオンに関しては、dll呼び出しがあるために、内部実装が確認できない箇所もあるので、それを補完しつつ実装していきます。 参考:UnityEngine.QuaternionのC#の実装コード - Unity-Technologies/GitHub 実装するにあたって、Unity

    【Unity】クォータニオンAPIをゼロから自作して完全再現する - Qiita
  • 逆ポーランド記法とpreg_match_all

    第166回 PHP勉強会@東京 https://phpstudy.connpass.com/event/323312/

    逆ポーランド記法とpreg_match_all
  • グラフ表現で可視化する 圏論 - 共立出版

    ―圏を関係付き箙(クイバー)で表示する方法によって、小さな圏を手作りし、圏のなかで起こっていることを可視化する― 書では、圏を関係付き箙(クイバー、有向グラフ)で表示し、その集合表現(前余層)とその間の射を図示する手法を用いて、圏論における様々な概念を視覚的に捉える例を作る。書で目指しているのは、それにより、圏論を理解しやすくすることである。 書を読むための予備知識としては、集合と写像、集合の上の同値関係と類別の程度を想定している。 圏だけではなく、関手(集合表現)や自然変換をも、箙表現の構造箙を用いて視覚的に取り扱う方法を紹介している点は、書の大きな特徴である。これによって、特に極限や余極限の理解は劇的に容易になり、豊富な例を作ることができるようになる。書の後半で解説している随伴関手は、その最初の練習教材として用いることができる。随伴関手については、自然同型を表す竹内外史の著書

    グラフ表現で可視化する 圏論 - 共立出版
  • ゲーム作りとかCGに関わる数学③(中級) - Qiita

    ゲーム作りとかCGに関わる数学(初歩)③ この辺から、理系の高校~大学教養課程くらいのレベルの話になってきます。ちょ~っと難しいかもしれないけど頑張りましょう。 微分積分 ここは実は微分積分をやってくださいというリクエストがあったので入れてみました。 人によっては「え?ゲームプログラミングに微分積分とか使うの?」という現役のゲームプログラマの方もいるかもしれませんが、実は必要なんですよ。 高校でやる試験問題を解くみたいな事はしませんが、概念の理解は必要になります。 そもそも速度加速度にかんしても微分や積分の概念ですしね。 極限について 極限…この辺も、厳密な話をしだすと割と大変な話になっちゃいますので、一般的な高校で教えるような極限の話をしますね。極限と言えば、lim(limitの略ね)なんですがこれは などのように書いて、limの下に書いてある変数を右側の数字に「限りなく近づける」という

    ゲーム作りとかCGに関わる数学③(中級) - Qiita
  • 率の平均を求めてはいけない/Do_Not_Average_Rates

    Copyright © 2024 Speaker Deck, LLC. All slide content and descriptions are owned by their creators. About Terms Privacy DMCA Accessibility Statement

    率の平均を求めてはいけない/Do_Not_Average_Rates
  • ランダムベクトルの求め方

    経度と緯度の角度でランダムの単位ベクトルを求める。 経度は0~2π(0~360度)をランダムに選べば大丈夫ですが、緯度のほうはランダムに選ぶと問題があって、北極と南極の部分の表面積が赤道の部分に比べて小さくなるので、一様分布で乱数を振ると極に密集してしまうことになる。なので、乱数に対して面積に比例した重みをつける必要がある。 表面積の比は微分するイメージで、輪切りで細かく分割すると円周の長さの比になると考える。円周の長さの公式が2*πrなので、赤道から極までの円周の比はつまり半径の比になる。半径は三角比で求めるとcosΘになるので、つまり側面から見た輪切りの円周の長さはコサイングラフになる。 コサイングラフが面積比となり、面積比=確率とみなすので、グラフは確率密度と捉える。たとえば60°の角度のところはcos(60°)=0.5なので赤道に比べて面積が半分ということになる(赤道の半分ぐらいし

    ランダムベクトルの求め方
  • GitHub - kanaya/vector-complex-quaternion

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - kanaya/vector-complex-quaternion
  • C#の複素数クラスは便利 - Qiita

    C#での複素数クラス 単純な複素数クラスなら自分で実装できるが、算術関数も実装するとなると、大変そうであるので、ライブラリ等を利用したい。 java標準にはないので、Processing標準からは手段がない? pythonモードで複素数を扱ことが可能であり、過去の記事を貼っておく。 2024/04/14追記:いいライブラリがあったので、記事にしたものを貼っておく。 複素数の計算 二乗してみます。

    C#の複素数クラスは便利 - Qiita
  • わかりにくい線形代数を操作可能な図で表現することで簡単に理解できる無料の教科書「Immersive Math」

    「Immersive Math」は、数学のうちベクトルや行列などの計算を研究する分野である「線形代数」についてインタラクティブな図を用意することでわかりやすさを向上させた無料の教科書サイトです。 Immersive Math https://immersivemath.com/ila/index.html サイトのトップページはこんな感じ。「完全にインタラクティブな図を備えた世界で最初の線形代数」と述べられています。 中央に表示されている三角形の図はインタラクティブで、左上をクリックすることで回転・停止を切り替えられるほか、各頂点をクリックしてドラッグ&ドロップすることで位置を調整可能。自由に図を編集できるため理解しやすいというわけです。 ページをスクロールすると目次が現れました。まずは「Preface(序文)」をクリック。 「『百聞は一見に如かず』という言葉の通り、たくさんの言葉を重ね

    わかりにくい線形代数を操作可能な図で表現することで簡単に理解できる無料の教科書「Immersive Math」
  • カルマンフィルタの基礎について解説!

    記事では、カルマンフィルタの基礎について解説しました。 解説動画も出していますので、ぜひご覧ください! カルマンフィルタのモチベーション センサーからの情報には多くのノイズが含まれており、これをそのまま利用することは好ましくありません。目指すべきは、ノイズのない、真の情報を把握することにあります。しかし、このノイズフリーな状態を直接得ることはできません。このため、目に見えない「隠れ状態」としてこれを推定する必要があります。これについては、ベイズフィルタに関する以前の記事で状態推定問題として触れましたが、ベイズフィルタはその理論的基盤を提供するものであり、実際の実装にはコンピュータで扱える形式に落とし込む必要があります。カルマンフィルタは、この要求を満たす形でベイズフィルタの概念を実用化したものです。 ベイズフィルタについて知りたい方は以下の記事を参考にしてください。 ベイズフィルタによる

    カルマンフィルタの基礎について解説!
  • 4 ビット Float を自作したら、浮動小数点数の精度を理解できた - Qiita

    はじめに 浮動小数点数、なんとなくはわかっているものの実は理解がちょっと曖昧、という方いませんか? 僕は恥ずかしながら長らくそんな状態でした。 特に誤差と精度についてはかなり曖昧で、 「どれくらいの数値であればどれくらいの精度があるのか」 という点は全く自信がありませんでした1。(業務上、特に困ったこともなかった) この記事は、試しに4ビットの浮動小数点数を作ってみることにより、浮動小数点数の精度を理解することを目指します。 想定の読者さんは、 「浮動小数点数に関してはざっくり分かっているけど、実は精度や誤差に関してはちゃんと理解していない」 という方々です。具体的に言えば、緯度経度を32ビット浮動小数点数で表すと誤差がどれくらいになるのかがあまりピンと来ない2、という方などです3。 浮動小数点数の概要 ここでは、ざっくり浮動小数点数の概要に関して復習程度に触れます。 概要は分かっていると

    4 ビット Float を自作したら、浮動小数点数の精度を理解できた - Qiita
  • 浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記

    お近づきになりたい人向けシリーズです。 いろいろなトピックを詰め込みましたが、「これら全部を知らないといけない」のようなつもりではなく、いろいろなことを知るきっかけになったらいいなという気持ちなので、あまり身構えずにちょっとずつ読んでもらえたらうれしい気がします。 まえがき 予備知識 規格 用語 精度という語について 記法 表現について 有限値の表現について エンコードについて 丸めについて よくある誤差や勘違いの例 0.1 = 1 / 10? 0.1 + 0.2 = 0.3? 整数の誤差 Rump’s Example 基的な誤差評価 用語に関して 実数の丸め 有理数の丸め 基演算の丸め 差について 複数回の演算 補題たち 桁落ちについて Re: Rump’s example 融合積和 数学関数に関する式の計算 誤差の削減に関して 総和計算 数学関数の精度について 比較演算について 雑

    浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記
  • Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.