2018年11月8日のブックマーク (2件)

  • ベクトルの正規化 - MonoBook

    ベクトルの正規化とは、ベクトルの各要素の合計が「1」になるように変換することをいう。 一般的にベクトルは「方向」と「大きさ」を表すなどと表現されるが、正規化することで「方向」のみを表したい場合に何かと都合が良い。 正規化されたベクトルは「法線」と呼ばれる。 ただコンピューターの世界で「法線」という場合は3DCGにおける「頂点データに含まれる法線」を指していることの方が圧倒的に多い。 計算式[編集 | ソースを編集] 三次元ベクトルを正規化する計算式をC#でそれっぽく書くとこんな感じである。 public Vector3 Normalize(Vector3 vec3) { if (Vector3.Zero == vec3) { return Vector3.Zero; } double num1 = ((vec3.X * vec3.X) + (vec3.Y * vec3.Y)) + (vec

    MonoBook
    MonoBook 2018/11/08
  • ベクトルのノルム - MonoBook

    ベクトルのノルム(英語:norm)とは、ベクトルの長さのことである。 算数の式でのノルム表記は「」という感じで変数を2個の縦棒で囲む。 これにより「変数はベクトルの長さだよ」と意味付けできる。 二次元ベクトルの記述例[編集 | ソースを編集] 例としてピタゴラスの定理でよくみる直角三角形の3つの辺の長さを求める計算式は以下のよう記述される。 これをノルムを使って「cは長さだよ」と明記すると以下のようになる。単純に変数の格納物が何なのかを明記しただけである。平方根やシグマなどの記号と異なり、何かしらの計算が発生するわけではない。いわゆるプログラミング言語でいう「型」みたいなものである。 注意[編集 | ソースを編集] ある3DCGのライブラリにおいてベクトルの正規化(Normalize)を行う関数の名称を「norm」と略しているものがあった。非常に紛らわしいので注意しよう。 関連項目[編集

    MonoBook
    MonoBook 2018/11/08