wjfling 发表于 2003-11-11 16:48:00

急,我表示的椭圆弧怎么是这样呢?


我用下面的代码对椭圆弧进行重绘,怎么是这个样子?

-----------------------------------------------------------------------------------------------
startA = ellipise.startAngle
endA = ellipise.endAngle
line.beginPoint = {ellipise的Begin point}
Do While startA <= endA
      'Set point = New YMPoint
      pointX = majorRadius * Cos(startA)
      pointY = minorRadius * Sin(startA)
      pOrignX = pointX
      pOrignY = pointY
      
      pointX = pOrignX * Cos(arccosAngle) - pOrignY * Sin(arccosAngle)
      pointY = pOrignX * Sin(arccosAngle) + pOrignY * Cos(arccosAngle)

      pointX = pointX + center(0)
      pointY = pointY + center(1)
      pointZ = 0
      Set point = New YMPoint

      point.x = pointX
      point.y = pointY
      point.z = 0
      Set line.endPoint = point
      'line 为我的画线类
      line.draw()
      Set line = New ymLine
      Set line.beginPoint = point
      startA = startA + angle
      
       Loop
----------------------------------------------------
是不是我用的ellipise的公式不对呀,请班主指点!!!!!

wjfling 发表于 2003-11-11 16:53:00

注,虚线部分,为真正的椭圆弧,而黄色则为多出的部分。
我有测试的时候,有的时候多,而有的时候则少?
什么原因?

wjfling 发表于 2003-11-11 16:56:00

代码部分再说明,arccosAnagle为椭圆的旋转角度,起始的椭圆是在原点,center是真的CAD中的椭圆的中心。
YMPoint是我将等分的点,连接成为line

wjfling 发表于 2003-11-11 17:01:00

而有的时候则是这个样子的。

wjfling 发表于 2003-11-11 17:02:00

兰色,为我画出来的部分,整体部分,这是该椭圆弧。

wjfling 发表于 2003-11-11 17:38:00

不好意思,问题已经解决。

mccad 发表于 2003-11-11 19:41:00

晕,问题解决了也不说明原因

wjfling 发表于 2003-11-12 09:16:00

不好意思,刚好下班,没来得及写
应该使用
ellipise.startparameter(起点角)
ellipise.endParameter(终点角)
页: [1]
查看完整版本: 急,我表示的椭圆弧怎么是这样呢?