マウス操作からの変更

[戻る]
あう 2002/01/15(火) 19:24:43
今,Visual C++ 6.0のプログラムを改良していますが,マウス操作の場所を改良したい
のですが,うまくいきません!!
どのようにしたら,うまくいくか教えていただきたいのですが!?
<プログラム>
    CFaceFitModel*    pFace = GetDocument()->GetFace();
    CPoint movePoint( point.x - m_LastPoint.x , point.y - m_LastPoint.y );
    switch( GetDocument()->GetMouseMode() )
    {
    case MOUSEMODE_MOVE:
        pFace->MoveDrawCenter(movePoint);
        break;
    case MOUSEMODE_ZOOM:
        pFace->Zoom( (float)movePoint.y );
        pFace->Rotate(
                0 ,
                0 ,
                (float)movePoint.x / ROTATE_RATE
                );
        break;
    case MOUSEMODE_ROTATE:
        pFace->Rotate(
                (float)movePoint.x / ROTATE_RATE,
                (float)movePoint.y / ROTATE_RATE,
                0
                );
        break;
    }
    InvalidateRect(NULL,FALSE);
    m_LastPoint = point;
}

void CFaceView::OnLButtonDown(UINT nFlags, CPoint point) 
{
    SetCapture();
    m_LastPoint = point;
}

void CFaceView::OnLButtonUp(UINT nFlags, CPoint point) 
{
    ReleaseCapture();
    m_LastPoint = CPoint(0,0);
}

このプログラムはある2次元顔画像を3次元顔画像に変換して描画するツールのプログラムの
一部分なのですが,マウスを動かす事で,顔の位置を変えたり,ズームしたり,回転したり
とできます。ここで,回転角度を指定させたいのですがC++とVC++の勉強不足のため
うまくいきません。ちなみに,ROTATE_RATEとは変数であり,ここでは100.0fと定義されています。
このfの意味も教えていただけませんか??

NGA 2002/01/16(水) 09:13:50
> ちなみに,ROTATE_RATEとは変数であり,ここでは100.0fと定義されています。

定数の間違いでは?

浮動小数点定数は、接尾辞 f、F、l、または L を付けないとき、double 型になります。
接尾辞 f または F を付けると、float 型に、l または L を付けると、long double 型になります。

EIJI 2002/01/16(水) 10:42:38
>ここで,回転角度を指定させたいのですが

CFaceFitModel::Rotate()の引数の意味を調べてみたらよいのでは?

あう 2002/01/16(水) 21:22:28
いろいろありがとうございます。
CFaceFitModel::Rotate()の関数の定義しているものが見当たらないのですが・・・。

EIJI 2002/01/17(木) 10:39:48
[編集]−[ファイルから検索]コマンドなどで検索してみてください。
もしくはCFaceFitModelクラスの作者に聞いてみるとか。
ネットを検索してみましたが、ヒットしたのは東京大学の1件だけで
有益な情報は得られませんでした。

あう 2002/01/17(木) 14:16:52
EIJIさんいつもすみません。
このソフトはIPAという情報処理学会のソフトなので,もしかすると
3次元描画部分だけは,ソースファイルではなく,実行形式のファイルに
なっている可能性が高いとみました。

そこで,プログラムを実行する際にどのファイルに飛んでいるのかが
知りたいのですが,ステップ実行の方法がよくわかりません。

もし,よろしければ教えていただきたいのですが??

EIJI 2002/01/17(木) 15:16:15
>このソフトはIPAという情報処理学会のソフトなので

それならここで質問しても答えは見つからないでしょうね。

>そこで,プログラムを実行する際にどのファイルに飛んでいるのかが
>知りたいのですが,ステップ実行の方法がよくわかりません。

それはヘルプで調べればすぐわかると思いますが。

あう 2002/01/17(木) 16:32:04
ありがとうございます。

古いスレッドには追加発言できません。