这就是我想要做的。我有一个字体,基本上是每个字形的位图矩形。我正在尝试获得这样的弧形文本效果:
我的计划是,给定一个中心和一个半径,我将求解每个字形的位置和角度。
我有一个可以找到位置的功能:
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;
}
它需要我知道弧度将占据多少圆,并且需要从当前字形绘制的起始角度开始多少度。
我想不出的是一个函数,可以在给定字形的半径、中心、宽度和高度的情况下找到给定字形将占据的角度。每个字形可以有不同的维度。
看到这个:
如您所见,我正在寻找弧度,即圆的那个扇区。
我怎么计算呢?
谢谢