以下是我正在嘗試的操作。我有一個字體,基本上是每個字形的位圖矩形。我試圖讓這樣的弧形文字效果:沿着圓形繪製時,將會佔據角度矩形(參見圖)
我的計劃是,給定一箇中心和半徑,我要解決每個字形的位置和角度。
我有一個可以找到位置的功能:
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;
}
它要求我知道多少圈將在弧度被佔用,需要多少度從一開始角度的當前字形應被吸引。
我無法弄清楚的是一個函數,用於在給定字形的半徑,中心,寬度和高度的情況下查找給定字形將佔據的角度。每個字形可以有不同的維度。
看到這個:
正如你所看到的,我在弧度尋找,圓的那個部門。
我怎麼計算它?
由於
你想計算'每個字符'的角度? –
我想計算每個字符將以弧度佔據多少圈。 – jmasterx