これが私がやろうとしていることです。基本的に各グリフのビットマップ長方形であるフォントがあります。私はこのような弧を描いたテキスト効果を得ようとしています:
私の計画は、中心と半径を指定して、各グリフの位置と角度を解決することです。
位置を見つけることができる関数があります:
Vec2 Math::positionFromCenterToLineAt( Vec2 center, float dist,
float totalAngular, float angularDistance, float angularOffset )
{
float startAngle = -((totalAngular) / 2.0f);
float curAngle = startAngle + angularDistance;
curAngle -= angularOffset;
curAngle += angularDistance / 2.0f;
curAngle += CGE_PI;
Vec2 retVec = center;
Vec2 angVec = Vec2(sin(curAngle),cos(curAngle));
angVec *= dist;
retVec += angVec;
return retVec;
}
ラジアンでどのくらいの円が占有されるかを知る必要があり、現在のグリフを描画する開始角度からの角度が必要です。
私が理解できないのは、グリフの半径、中心、および幅と高さを考慮して、特定のグリフが占める角度を見つける関数です。各グリフは異なる次元を持つことができます。
これを参照してください:
ご覧のとおり、円のセクターをラジアンで探しています。
どうすれば計算できますか?
ありがとう