• 10711阅读
  • 12回复

drawArc后如何获得圆弧两个端点的坐标? [复制链接]

上一主题 下一主题
离线hellogritty
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-29

       求教各位达人

   startAngle是怎么确定的?
   drawArc(-50, -100,100, 200, 45*16, 90*16 ),画出的圆弧的起点并不是rect(-50, -100,100, 200)的内切圆与直线y=x的焦点
离线yangfanxing
只看该作者 1楼 发表于: 2010-03-29
-50, -100,100, 200:构成外框rect
45*16, 90*16 :起始和终止角度。

说得确切点儿,是内切【椭圆】!
这样的坐标得通过计算得到!
PHPWind好恶心。。。不想看这种界面。。。
离线hellogritty

只看该作者 2楼 发表于: 2010-03-29
引用第1楼yangfanxing于2010-03-29 20:27发表的  :
-50, -100,100, 200:构成外框rect
45*16, 90*16 :起始和终止角度。
说得确切点儿,是内切【椭圆】!
这样的坐标得通过计算得到!


坐标系x正方向向右,y正方向向下时
起点角度45×16,圆弧的起点就应该是直线y=-x与rect内切椭圆的交点,但是我画出来的圆弧的起点却是rect的对角线与内切椭圆的交点
离线yangfanxing
只看该作者 3楼 发表于: 2010-03-29
引用第2楼hellogritty于2010-03-29 20:34发表的  :
坐标系x正方向向右,y正方向向下时
起点角度45×16,圆弧的起点就应该是直线y=-x与rect内切椭圆的交点,但是我画出来的圆弧的起点却是rect的对角线与内切椭圆的交点


对的。这里的角度是“相对角度”不是我们通常能认知的45°,呵呵。。。
n*45°对应对角线
n*90°对应对称线
角度真不好算。。。

实在要算的话可否考虑同时借用一个正方形以及○来辅助。。。
PHPWind好恶心。。。不想看这种界面。。。
离线hellogritty

只看该作者 4楼 发表于: 2010-03-29
引用第3楼yangfanxing于2010-03-29 20:41发表的  :
对的。这里的角度是“相对角度”不是我们通常能认知的45°,呵呵。。。


那圆弧的起点怎么算啊,能提示下思路不?多谢了
离线yangfanxing
只看该作者 5楼 发表于: 2010-03-29
没研究过。。。哎。。。这个得问他他他是怎么设计的。。。
PHPWind好恶心。。。不想看这种界面。。。
离线xinqingfly

只看该作者 6楼 发表于: 2010-03-30
3点钟方向是在矩形内画圆弧的起始弧度,弧长就是从指定的起始角度开始划过的弧长而不是最后两个弧点所成的角度,正值为逆时针,负值为顺时针
菜鸟也是鸟
离线hellogritty

只看该作者 7楼 发表于: 2010-03-30
引用第6楼xinqingfly于2010-03-30 08:08发表的  :
3点钟方向是在矩形内画圆弧的起始弧度,弧长就是从指定的起始角度开始划过的弧长而不是最后两个弧点所成的角度,正值为逆时针,负值为顺时针


那起始角度就是从3点钟方向开始划过的弧长?
离线yangfanxing
只看该作者 8楼 发表于: 2010-03-30
引用第6楼xinqingfly于2010-03-30 08:08发表的  :
3点钟方向是在矩形内画圆弧的起始弧度,弧长就是从指定的起始角度开始划过的弧长而不是最后两个弧点所成的角度,正值为逆时针,负值为顺时针


不是。
弧长似乎不对。你看哈,
3点钟方向到对角线,45°;弧长H1;
对角线方向到12点钟方向(即90°),弧长H2;

很明显可以举个范例一眼就看出H2>>H1。所以这个资料没找到。。。
PHPWind好恶心。。。不想看这种界面。。。
离线xinqingfly

只看该作者 9楼 发表于: 2010-03-30
看不懂楼上的描述,45是角度,乘于16变成弧度
菜鸟也是鸟
离线hellogritty

只看该作者 10楼 发表于: 2010-03-30
引用第9楼xinqingfly于2010-03-30 10:51发表的  :
看不懂楼上的描述,45是角度,乘于16变成弧度


难道要看QT的源码?
离线yangfanxing
只看该作者 11楼 发表于: 2010-03-30
引用第8楼yangfanxing于2010-03-30 10:41发表的  :
3点钟方向到对角线,45°;弧长H1;
对角线方向到12点钟方向(即90°),弧长H2;
很明显可以举个反例一眼就看出H2>>H1。quote]
[quote]引用第9楼xinqingfly于2010-03-30 10:51发表的  :
看不懂楼上的描述,45是角度,乘于16变成弧度


就是按你的说法,H1=H2;但事实不是这样的。
PHPWind好恶心。。。不想看这种界面。。。
离线longteng9
只看该作者 12楼 发表于: 2011-05-12
算的很精彩,边看边学习,
快速回复
限100 字节
 
上一个 下一个