- 締切済み
描画
DirectXで扇形を描画する質問です。 60度の角度で上方向に扇形を描画さしたいのですが(円弧の方が上) 開始地点は275から半径50の扇形を描画さしたいのですが pD3Device->SetTexture(0, pTexture[0]); pt[0].x = 250.0f; pt[1].x = 300.0f; pt[3].x = 275.0f; pt[2].x = 275.0f; pt[0].y = 225.0f; pt[1].y = 225.0f; pt[2].y = 275.0f; pt[3].y = 275.0f; pt[0].tu = pt[3].tu = 0.0f / 1024; pt[1].tu = pt[2].tu = 200.0f / 1024; pt[0].tv = pt[1].tv = 0.0f / 1024; pt[2].tv = pt[3].tv = 200.0f / 1024; pD3Device->DrawPrimitiveUP(D3DPT_TRIANGLEFAN,2,pt,sizeof(CUSTOMVERTEX)); このままでは、斜面が50の三角形ができただけで・・・ pt[0].xとpt[1].xは、ただ単に50とゆうだけで角度で表していないので場所は変わるかと思いますがpt[2].xとpt[3].xは275から開始でお願いします。 これを扇形にしたいのですが、どなたかご教示ください。お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- machongola
- ベストアンサー率60% (434/720)
こんばんは。 私も「Direct3D」は、かじり程度でしか無いのですが、此れだと、二等辺三角形が出来上がるだけだと思います。 0~60度までに対応した、扇形の丸い部分の座標も必要なはずで、pt[n]の配列個数も、此の程度の数では済まないと思います。 pt[0]//点A pt[1]//点B pt[n]//点B~点Cを結ぶ円弧の点 //n~mまで沢山ある pt[m] pt[m+1]//点C こんな感じでは無いのでしょうか?