1

ユーザーが実際に鉛筆で黒い線を描くことができるトラッカーと長方形の紙があります。私のプログラムでは、true が黒で false が白であるプレーンからビットマップを取得したので、そのビットマップを使用してライン上にボールを設定できます。

ここで問題が発生します。黒いピクセルを検索すると、ビットマップの正しいコードが得られますが、metaio を介してボールを配置すると、ボールは正しい場所になく、線上ではなく、はるかに上にあります。

for(column = 0; column < width && !stop; column++)
    {
        for(row = 0; row < height && !stop; row++)
        {
            if (bitmap[row][column])
                stop = true;
        }
    }

    if (stop)
    {
        m_geometry->setTranslation(metaio::Vector3d(-m_x,-m_y,0));
        m_y = (0 - 160 - column);
        m_x = row;
        m_geometry->setTranslation(metaio::Vector3d(m_x,m_y,0));
        cout << m_geometry->getTranslation().x << " " << m_geometry->getTranslation().y << " "<< m_geometry->getTranslation().z << endl;
    }

誰かがこれで私を助けることができますか? 状況をペイントで描いたので、アイデアが得られました。

http://img195.imageshack.us/img195/4945/naamlooszw.png (ボールの代わりに三角形を描いてすみません)

敬具、

4

1 に答える 1

0

get3dPositionFromScreenCoordinatesを使用して、ターゲット平面に対する 3D 座標を見つけ、返された値を使用してジオメトリ (つまり、ボール) を変換できます。

より良い回答を得るために、このような質問をmetaio HelpDeskに投稿してください。

于 2013-02-11T11:11:09.940 に答える