设椭圆中心在原点,x,y轴长度为a,b那么
记 u = (x*cosθ+y*sinθ)/a; (1)
v = (x*sinθ-y*cosθ)/b; (2)
椭圆方程为
u^2 + v^2 = 1
变换方程(1),(2)为
x = a*cosθ*u - b*sinθ*v;
y = -a*sinθ*u-b*cosθ*v;
不知道那错了,大家能把求椭圆上一点的坐标值的公式告诉我吗
记 u = (x*cosθ+y*sinθ)/a; (1)
v = (x*sinθ-y*cosθ)/b; (2)
椭圆方程为
u^2 + v^2 = 1
变换方程(1),(2)为
x = a*cosθ*u - b*sinθ*v;
y = -a*sinθ*u-b*cosθ*v;
不知道那错了,大家能把求椭圆上一点的坐标值的公式告诉我吗
(x-a)/(m^2)+(y-b)/(n^2)=1(a,b)椭圆中心
m为半长轴长
n为半短轴长还有,如果你要画椭圆,用circle方法就可以了。
然后
x=m*cosθ+a
y=n*sinθ+b
真是有分人,呵呵~~接
推导:
标准公式:
(x-a)^2/(m^2)+(y-b)^2/(n^2)=1 ==>注意,上面的标准公式错了,这个是对的,但上面的最终结果没错故,设(x-a)/m=cosθ (y-b)/n=sinθ (因为cosθ^2+sincθ^2=1)
然后可求得,
x=m*cosθ+a
y=n*sinθ+b
Dim x As Single, y As Single, a As Single, b As Single, m As Single, n As Single
Dim i As Integer
Dim theta As Integer
Const PI = 3.14159Me.Scale (-5, 5)-(5, -5)
a = 0
b = 0
m = 3
n = 2Me.CurrentX = m + a
Me.CurrentY = b
For i = 0 To 360
x = m * Cos(i * PI / 180) + a
y = n * Sin(i * PI / 180) + b
Me.Line -(x, y)
Next iEnd Sub调试通过
还是说说你要干什么用吧