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

提供:ペチラボ書庫
ナビゲーションに移動 検索に移動
(ページの作成:「== 座標変換(2D) ==」)
 
1行目: 1行目:
== 座標変換(2D) ==
== 座標変換(2D) ==
ピクセル座標が与えられ、テクスチャ空間から値を取ってくることを考える。
ピクセル座標を <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:21時点における版

座標変換(2D)

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

ピクセル座標を [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]