スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

乗算の計算式

プログラム上での乗算ブレンドの計算式

bg=背景 add=重ねるテクスチャ a=アルファ値
( add - bg ) * a + bg
bg * (1 - a) + add * a とも書ける

ベクトルで考えると忘れないことに気付いた
・・・けどそのことを忘れるのでメモしておいた

ねよっと
スポンサーサイト

三角形の内分点の比率について

三角形の内分点の比率について

適当な三角形ABCの中に適当な点Pがある
このとき、BH:HC と AP:PH について考えてみる 
使う知識は、二つのベクトルの外積のノルムはそのベクトルで作成する平行四辺形の面積と等しいということだけ。
math_1.jpg

まずBH:HCについて考える
この比率は以下の三角形の面積比と等しくなる
math_2.jpg

この比は↓の三角形の比とも等しくなる
math_3.jpg
この三角形は外積を利用して求まるので以下の比であらわせる


このことから  となる




AP:PHについてはパッと見少し分かりにくいけど以下の図形の面積比と同様になる
math_4.jpg
よって  となり

 が導ける

Googleスプレットシートの数式をつかって大量の計算を一気に済ませる

大量な数値に大して一定の計算をさせたいときがある。
重い計算だったりXML内の表記だったりでプログラム内で処理できないのに大量にあると非常に面倒。
そんな時はGoogleのスプレットシートを使っているのでメモ。


まずは数値をコピペで貼り付ける。
次にひとつ横のセルにA1を使った計算式を記入する(関数使うなりなんなりと)
sp1.jpg


ここまできたらあとは右下の四角の点をドラッグすればよいだけ
他の行もA2やA3に自動で対応してくれるので問題ない
sp2.jpg


本来の使い方ではないんだろうけど結構便利なので是非お試しあれ!!
ねよっと。

座標系プログラムの極小技

小技とまで呼べないかもしれないので極小技
技の極みみたいで逆にかっこよくなっちまってるのは置いておこう。

ここまで期待させといてなんだけど、本当にどうでもいいことだったりする。

Vector2 (X,Y)を90度回転させると (-Y,X)となる

はい。
これだけだよ。


後はXNAのただのメモだぞ。

3D座標が画面上のどこにくるか調べたい時は
Viewport viewport = Graphics.GraphicsDevice.Viewport;
でビューポートを取得してやって
Vector3 screenPos = viewport.Project(調べたい3D座標, カメラのprojection行列, カメラのview行列, Matrix.Identity);
としてやる
screenPosのXとYに座標が入ってるぞ。


極ねよっと。

フランクフルトと球の当たり判定! (線分と点の距離)

3Dにおける円柱と球の当たり判定が欲しくなった

線分と点の距離が必要になった

というわけでメモ。
ちなみにこれで出した距離 < 球の半径+円柱の半径 
を条件として利用することになる。

きちんと考えると円柱じゃなくて フランクフルト みたいな図形になるよね。

temp.jpg

求める点と線の最近線ベクトル = c - b
c = a * 係数K
係数K = cの長さ / aの長さ
cの長さ = aの単位ベクトル と b の内積

これで分からないものは無いはず。

K>1 なら
点と線分の先を結んだ線が一番短い距離となる
K<0 なら
点と線分の元を結んだ線が一番短くなる


今更だけど青い点が線分の始点と終点で赤いのが点ね。
そしてもっと今更だけど似たような記事を昔書いた気がしないでもない。
まぁいいやぁ~



ねよっと。
プロフィール

あしゅ

Author:あしゅ
ぷぃぷぃ日常。
いつのまにか雑記ブログに。

カテゴリ
最新記事
検索フォーム
最新コメント
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。