検索結果 14 件
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dの追跡カメラの特異姿勢問題
- 返信数: 9
- 閲覧数: 4990
Re: 3Dの追跡カメラの特異姿勢問題
行列を使うのなら 平行移動行列 D3DXMATRIX out; out._11 = out._22 = out._33 = out._44 = 1.0f; out._12 = out._13 = out._14 = out._21 = out._23 = out._24 = out._31 = out._32 = out._34 = 0.0f; out._41 = Trans.x; out._42 = Trans.y; out._43 = Trans.z; 回転行列 D3DXMATRIX outRot; outRot._11 = ( cos( zrot ) * cos( yrot ) ) + ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dの追跡カメラの特異姿勢問題
- 返信数: 9
- 閲覧数: 4990
Re: 3Dの追跡カメラの特異姿勢問題
仰る通り、仰角と方位角のみで計算しています(Z軸周りの回転は考慮に入れていません)
2つの角度が使われる座標計算、とはロボットアームの運動方程式のような2自由度系を考えなくてはだめだということでしょうか?
2つの角度が使われる座標計算、とはロボットアームの運動方程式のような2自由度系を考えなくてはだめだということでしょうか?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dの追跡カメラの特異姿勢問題
- 返信数: 9
- 閲覧数: 4990
3Dの追跡カメラの特異姿勢問題
こんにちは。現在よくある飛行機の後方に視点を置き、前方に注視点を置くというカメラを制御するプログラムを書いています そこで、視点と注視点を以下のようなコードで求めました(PIは円周率、EYLENGTHは視点までの距離、ATLENGTHは注視点までの距離です)。描画はDirectXを使っているので左手系になっています // 視点の座標を計算 D3DXVECTOR3 eyePos; eyePos.x = character[ CODE_PLAYER ]->pos_.x + EYELENGTH * cos(character[ CODE_PLAYER ]->rot_.y - PI / 2 ); ey...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: Visual Studioのmakeを外部から行いたい
- 返信数: 4
- 閲覧数: 4593
Re: Visual Studioのmakeを外部から行いたい
パスの問題だったんですね。こちらも解決しました。ありがとうございます
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: Visual Studioのmakeを外部から行いたい
- 返信数: 4
- 閲覧数: 4593
Re: Visual Studioのmakeを外部から行いたい
とりあえずmsbuildが一番お手軽そうだったので、msbuildで実行する方向でやってみました ということで、以下の手順で行いました 1.msbuildにPATHを通す(環境変数のPATHに”C:\Windows\Microsoft.NET\Framework\v4.0.30319”を追加) 2.実験用に空プロジェクト「makefiletest」を作成 3. makefiletestにmain.cpp,main.hを追加 //main.cpp #include <iostream> #include "main.h" int main() { std::cout << "Hello, fro...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: Visual Studioのmakeを外部から行いたい
- 返信数: 4
- 閲覧数: 4593
Visual Studioのmakeを外部から行いたい
開発環境:Visual Studio 2013 (C++) こんにちは。現在完成しているVisual Studioのプロジェクト(.sln)をビルドしてexeファイルを作るbatファイルを作りたいと考えています このようなことは可能なのでしょうか? メイクファイルプロジェクトを作り、コードを全て移植することも考えたのですが、こちらではプロパティ画面で追加のインクルードディレクトリやライブラリディレクトリを設定する項目がなく、DirectXのような外部インクルードができないという問題があります 少々漠然とした問ですが、自分でもどの方向にアプローチして挑戦したらいいのか解らない状態ですので、よろし...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++のオーバーライドで機能追加
- 返信数: 2
- 閲覧数: 2060
Re: C++のオーバーライドで機能追加
すみません。ありがとうございました
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++のオーバーライドで機能追加
- 返信数: 2
- 閲覧数: 2060
C++のオーバーライドで機能追加
こんにちは。オーバーライドに関する質問です C#の場合、以下のように継承したとします class car{ public virtural void DrawSpec() { Console.WriteLine("car"); } }; class taxi : car{ public override void DrawSpec() { base.DrawSpec(); Console.WriteLine("AutoDoor"); } }; というように、オーバーライドの継承元のクラスの処理を実行した後、継承先の処理を実行するという機能の追加ができますが、C++でこのようなことをすることは可...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタ型の配列を引数に渡した時の書き方
- 返信数: 10
- 閲覧数: 4547
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタ型の配列を引数に渡した時の書き方
- 返信数: 10
- 閲覧数: 4547
Re: ポインタ型の配列を引数に渡した時の書き方
あ、まさしく例外のことが起こってます(汗 ポインタだからインスタンスはまだ生成されてないですね。 Task *task[NUMOFOBJECT]; for ( int i = 0; i < NUMOFOBJECT; ++i ) { task[i] = new Task(); task[i]->init(); } で例外問題は回避できますが、こうなると最初の問題に戻って関数を呼ぼうとすると renderobject(task); と書くと、「関数呼び出しの引数が多すぎます」となりエラーが出ます。 ・・・やっぱり100個引数を用意して100回drawするしか手がないのでしょうか?
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタ型の配列を引数に渡した時の書き方
- 返信数: 10
- 閲覧数: 4547
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタ型の配列を引数に渡した時の書き方
- 返信数: 10
- 閲覧数: 4547
ポインタ型の配列を引数に渡した時の書き方
こんにちは、現在以下のようなコードがあります void Renderer::renderScene2( Task* pScene1, Task* pScene2 ) { if (pScene1 == 0 || pScene2 == 0) { return; } // ビューポートと深度バッファ(バックバッファ)のクリアとステンシルバッファの削除 if ( FAILED( pD3DDevice_->Clear( 0, NULL, // クリアする領域は全面 D3DCLEAR_STENCIL | // ステンシルバッファをクリア D3DCLEAR_TARGET | // バックバッファを指定 D3...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: DirectXでインデックスバッファの値が上書きされる
- 返信数: 2
- 閲覧数: 1620
Re: DirectXでインデックスバッファの値が上書きされる
まさにその通りでした。ありがとうございました! 具体的にはScene.cpp,Scene2.cppのdraw関数のDrawIndexedPrimitiveの直前でインデックスバッファを再設定したらうまくいきました。具体的には以下の通りです(Sceneのメンバ関数ですがScene2も同様です) void Scene::draw( LPDIRECT3DDEVICE9 pD3DDevice ) { if ( pD3DDevice == 0 ) { return; } if ( pMyVB_ == 0 ) { return; } // 座標変換(カメラの設定など) transform( pD3DDev...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: DirectXでインデックスバッファの値が上書きされる
- 返信数: 2
- 閲覧数: 1620
DirectXでインデックスバッファの値が上書きされる
使用OS:Windows 8 開発環境:Visual Studio 2013 使用ライブラリ:DirectXSDK June 2010 こんにちは。現在DirectX9を用いて、頂点と頂点インデックスを指定し「複数の」オブジェクトをレンダリングすることを考えています そこで「頂点バッファを作成」→「頂点バッファをロック」→「頂点の座標値の指定」→「頂点カラーの指定」→「頂点データのアンロック」→「頂点インデックスバッファの作成」→「インデックスバッファをロック」→「インデックスの書き込み」→「インデックスバッファをアンロック」という手順を2回繰り返し、それぞれの頂点座標とインデックスバッファを...