「フラグメントシェーダー」の版間の差分

提供:ペチラボ書庫
ナビゲーションに移動 検索に移動
(ページの作成:「== 座標変換(2D) ==」)
 
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
== 座標変換(2D) ==
== 座標変換(2D) ==
ピクセル座標が与えられ、テクスチャ空間から値を取ってくることを考える。
ピクセル座標を <math>p</math> とする。
変換後の座標を <math>p'</math> とする。
テクスチャ上の点 <math>p'</math> を変換して <math>Ap'</math> に移ったら <math>p</math> に一致する、ような <math>p'</math> を見つければよい。
=== そのまま ===
<math>p'=p</math>
=== 平行移動 ===
テクスチャを <math>v</math> だけ平行移動させる。
テクスチャを <math>v</math> ずらすということは、ピクセル目線だと自分が <math>-v</math> 動くということであり、
<math>p' = p - v</math>
=== 回転移動 ===
テクスチャを <math>\theta</math> だけ回転させる。
ピクセル目線だとやはり自分が <math>-\theta</math> だけ回転することになる。
回転行列などで計算する。
=== 拡大・縮小 ===
テクスチャを <math>k</math> 倍に拡大(縮小)する。
ピクセル目線だと自分が <math>\frac{1}{k}</math> 倍になれば、相手が <math>k</math> 倍になっているように見える。
<math>p' = \frac{p}{k}</math>

2025年2月2日 (日) 20:23時点における最新版

座標変換(2D)

ピクセル座標が与えられ、テクスチャ空間から値を取ってくることを考える。

ピクセル座標を [math]\displaystyle{ p }[/math] とする。


変換後の座標を [math]\displaystyle{ p' }[/math] とする。

テクスチャ上の点 [math]\displaystyle{ p' }[/math] を変換して [math]\displaystyle{ Ap' }[/math] に移ったら [math]\displaystyle{ p }[/math] に一致する、ような [math]\displaystyle{ p' }[/math] を見つければよい。

そのまま

[math]\displaystyle{ p'=p }[/math]

平行移動

テクスチャを [math]\displaystyle{ v }[/math] だけ平行移動させる。

テクスチャを [math]\displaystyle{ v }[/math] ずらすということは、ピクセル目線だと自分が [math]\displaystyle{ -v }[/math] 動くということであり、

[math]\displaystyle{ p' = p - v }[/math]

回転移動

テクスチャを [math]\displaystyle{ \theta }[/math] だけ回転させる。

ピクセル目線だとやはり自分が [math]\displaystyle{ -\theta }[/math] だけ回転することになる。 回転行列などで計算する。

拡大・縮小

テクスチャを [math]\displaystyle{ k }[/math] 倍に拡大(縮小)する。

ピクセル目線だと自分が [math]\displaystyle{ \frac{1}{k} }[/math] 倍になれば、相手が [math]\displaystyle{ k }[/math] 倍になっているように見える。

[math]\displaystyle{ p' = \frac{p}{k} }[/math]