已知椭圆的长轴和短轴长度,以及起始和结束的角度,怎样平分此起始角至结束角之间
的一段圆弧为N等分?又如何得到各点的座标及外切线与椭圆中心点之间的角度?我是想做成类似椭圆公章的效果,因此需要定位上面的文字大小及位置。

解决方案 »

  1.   


    1、找到椭圆的中心坐标;
    2、根据起始角至结束角,以及显示字数来等分弧度;
    3、根据每段弧度的中心角度,可以算出通过公式,算出每段弧的中心点坐标;
    4、设定一定的距离,去旋转画图,这一点,参看:
    http://blog.csdn.net/knight94/archive/2006/03/25/638397.aspx
      

  2.   

    tiaoci(我挑刺,我快乐) :
    好象有一种模拟近似的算法,可惜我找不到那篇文章了。
      

  3.   

    Knight94(愚翁) :
    我主要是不知道如何等分弧度,旋转画图等都没有问题。我已做出正圆形的公章了。
    http://blog.csdn.net/johnsuna/archive/2006/03/23/635989.aspx
      

  4.   

    laviewpbt(人一定要靠自己) :
    没你想像的那么简单,目前数学上平分椭圆圆弧的公式都还没有哩。所以只能是近拟模拟,但如何做呢?
      

  5.   

    请参看
    <<工程中的数值分析>>
      

  6.   

    楼上的弟兄:
    是书还是论文?有没有电子版的?给我一份?a3news#hotmail.com
      

  7.   

    为什么不用类库中(GDI+)现成的方法?沿椭圆弧路径填充你的文字就可以了。
      

  8.   

    niwalker() :
    有这种方法吗?是什么方法?偶怎么没有看到过,呵呵。谢谢指点一下?
      

  9.   

    没有看到?那就是Niwalker的独家专有技术了,哈。
    想想什么东西可以填充一条路径?没错,那就是Brush对象,在GDI+中,有三种Brush对象,你要用的就是TextureBrush。OK, 提示到此为止,后面应该没有问题了吧?
    注:采用此方法仅仅是对你要解决的问题的一个替代方案,当文本填充路径的时候,会发生比例上的变形,这个变形问题可以在填充前进行适当调整来解决。