VB6画双曲线
来源:互联网 发布:贝斯谱软件 编辑:程序博客网 时间:2024/04/30 16:24
Private Function 画双曲线函数()
Dim jd, a, b, c, xh, x4, y4, x5, y5, x0, y0, d
Me.Picture1.Circle (Aarray(k - 5), Aarray(k - 4)), 1, myclo '焦点F1
Me.Picture1.Circle (Aarray(k - 3), Aarray(k - 2)), 1, myclo '焦点F2
x0 = (Aarray(k - 5) + Aarray(k - 3)) / 2
y0 = (Aarray(k - 4) + Aarray(k - 2)) / 2
Me.Picture1.Circle (x0, y0), 1, myclo '画中心
If Aarray(k - 5) = Aarray(k - 3) Then '如果F1,F2的横坐标相等,则jd为pi/2
jd = pi / 2
Else
jd = -Atn((Aarray(k - 4) - Aarray(k - 2)) / (Aarray(k - 5) - Aarray(k - 3)))
End If
'A为实半轴长,C为焦点到中心的距离,B为虚半轴长
a = Abs((Sqr((Aarray(k - 5) - Aarray(k - 1)) ^ 2 + (Aarray(k - 4) - Aarray(k)) ^ 2) - Sqr((Aarray(k - 3) - Aarray(k - 1)) ^ 2 + (Aarray(k - 2) - Aarray(k)) ^ 2))) / 2
c = (Sqr((Aarray(k - 5) - Aarray(k - 3)) ^ 2 + (Aarray(k - 4) - Aarray(k - 2)) ^ 2)) / 2
b = Sqr(c ^ 2 - a ^ 2)
For xh = 0 To 2 * pi Step pi / 360 '设置循环,从0到2PI,步长为pi/18
If Cos(xh) = 0 Or Cos(xh + pi / 360) = 0 Then GoTo linenext '转到标签处
x4 = a / Cos(xh)
y4 = b * Tan(xh)
x5 = a / Cos(xh + pi / 360)
y5 = b * Tan(xh + pi / 360)
d = Sqr((x4 * Cos(jd) + y4 * Sin(jd)) ^ 2 + (y4 * Cos(jd) - x4 * Sin(jd)) ^ 2) '曲线上的点到中心的距离
If d > 200 Then GoTo linenext
Me.Picture1.Line (x0 + x4 * Cos(jd) + y4 * Sin(jd), y0 + y4 * Cos(jd) - x4 * Sin(jd))-(x0 + x5 * Cos(jd) + y5 * Sin(jd), y0 + y5 * Cos(jd) - x5 * Sin(jd)), myclo
linenext: '标签
Next
Erase Aarray
End Function
- VB6画双曲线
- 双曲线
- 绘制双曲线view
- 双曲线例子.m
- C# GDI+绘制双曲线
- iOS 双曲线波浪动画
- vb6
- vb6
- VB6
- VB6.0 【GDI+ 画直线】
- VB6利用win32API画玫瑰花算法
- 如何通过几何画板绘制双曲线
- 智能双曲线快速磨皮教程
- Android 双曲线波浪动画(第一发)
- 抛物线与双曲线、抛物面与锥面
- winform 关于双曲线的动态绘制
- echarts(双曲线)不刷新更新数据
- VB6围棋:窗体画线和画圆的应用
- 20100318-PHP面试考试题总结
- Mapx打包
- 【转】Web界面测试小结
- 创业投资——巴菲特从100元到160亿
- 数据库课程设计报告的编写规范与写作框架
- VB6画双曲线
- 数据库课程设计报告格式模版
- SUN-FAQ
- 自动进行团队构建和单元测试过程
- php WEB开发工具集
- 毕业了再来看...
- cupcake编译生成的system.img模拟器不能正常启动
- Hibernate 三种状态的区分,以及save,update,saveOrUpdate,merge等的使用
- error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file