よろしくお願いします。
2つのベクトルのなす角度を求める関数
float 2VecRotate(const D3DXVECTOR3* v1,const D3DXVECTOR3* v1)
{
float r = ( float )acos( D3DXVec3Dot( v1 , v2 ) / ( D3DXVec3Length( v1 ) * D3DXVec3Length( v2 ) ) );
D3DXVECTOR3 n;
D3DXVec3Cross( &n , v1 , v2 );
if( n.y < 0 ) r = ( PI * 2 ) - r;
return r;
}
を作ったのですがこの二つのベクトルが限りなく同じ場合、値がおかしくなるのですが
どうしてでしょうか?
2つのベクトルのなす角度
Re:2つのベクトルのなす角度
ソースコードで気づいた点は、関数の2つめの引数もv1になっていること。
今、環境がないけど、これは原因じゃないの?
関数名が、2VecRotateというのもおかしいね。
ちゃんとコンパイルできるソースコードをコピーして載せたか確認してください。
> を作ったのですがこの二つのベクトルが限りなく同じ場合、値がおかしくなるのですが
> どうしてでしょうか?
どうおかしくなるのかの説明をしてください。
入力例と期待する結果と期待はずれな結果を。
今、環境がないけど、これは原因じゃないの?
関数名が、2VecRotateというのもおかしいね。
ちゃんとコンパイルできるソースコードをコピーして載せたか確認してください。
> を作ったのですがこの二つのベクトルが限りなく同じ場合、値がおかしくなるのですが
> どうしてでしょうか?
どうおかしくなるのかの説明をしてください。
入力例と期待する結果と期待はずれな結果を。