80年代中日关系 知乎:让PPT飞起来

来源:百度文库 编辑:偶看新闻 时间:2024/05/07 15:20:16
让PPT飞起来 - 【代码】绘制李萨茹曲线

发件人:让PPT飞起来 查看添加拒收
时 间:2011年12月8日(星期四) 下午4:45纯文本 |
收件人:
leiting306
大 小:1.8K
打印 |显示邮件原文 |导出为eml文件 |邮件有乱码? |转发到群邮件 |保存到记事本 |作为附件转发
备 注:
删除
请认准此标志,拥有此标志的才是发自腾讯公司的系统邮件。
标记:已将此邮件标记为星标邮件。取消星标
阅读原文
;
学过编程的朋友一定编写过绘制图案的程序,什么函数曲线呀,杨辉三角形呀,金刚石、李萨茹图形等等。数学老师会遇到很多关于数学图形的问题。有些图形用VBA在PPT中绘制,可以得到极佳效果。如:李萨茹曲线是在X轴方向和Y轴方向振幅不变,但周期不同的二维谐振子运动的轨迹。数学表达式如下:
X=r1*sin(a*th)
Y=r2*sin(b*th) 0≤th≤2π
函数图形怎么画?VBA演示给你看。

插入如图片最上面的一排控件,插入如下代码。运行前先打开“工具”菜单——宏——安全性,将级别设为低。 ;
————————————————————————————————————————————————
'单击“开始”
Private Sub CommandButton1_Click()
Const PI = 3.14 '定义常数pi
'定义几个变量,VB中Dim a, b, c As Integer,其实a,b还是变体型变量
Dim a As Integer, b As Integer, gra As Integer, k As Integer
Dim th As Single
w = 400 '绘图区域宽度
h = 200 '绘图区域高度
'获取两个文本框的文本信息
a = TextBox1.Text
b = TextBox2.Text
k = 400 '画线的密度,即下面的步长
For th = 0 To 2 * PI + 0.01 Step PI / k 'th:角度, 0≤ th ≤ 2π
DoEvents '把权限交给系统,起到缓冲作用,但是可能导致整个For 语句执行缓慢
x = 0.4 * w * Sin(a * th) + 365
y = 0.4 * h * Sin(b * th) + 270
'赋色后绘制墨迹
'With ActivePresentation.SlideShowWindow.View
'.PointerColor = RGB(255, 0, 0)
'.DrawLine x + 1, y, x, y + 1
'End With
'绘制线条,并赋色
With ActivePresentation.Slides(1)
.Shapes.AddLine(x + 1, y, x, y + 1) _
.Line.ForeColor.RGB = RGB(255, 0, 0)
End With
Next
End Sub
———————————————————————————————————————————————— ; ;
'单击“清除”
Private Sub CommandButton2_Click()
'清除绘制的线条
With Application.ActivePresentation.Slides(1).Shapes
For intShape = .Count To 1 Step -1 'For Each 语句也是可行的
With .Item(intShape)
If .Type = msoLine Then .Delete
End With
Next
End With
End Sub ; ;
———————————————————————————————————————————————— ;
'单击“退出”
Private Sub CommandButton3_Click()
'退出播放
Application.SlideShowWindows(1).View.Exit
End Sub
———————————————————————————————————————————————— ;
感谢mllm为大家带来的教程及VBA源代码,同时感谢Ye4241(微博)给VBA代码添加的注解及优化了VBA代码以使同时满足PowerPoint 2010的运行。
VBA还能做什么?让我们拭目以待! ;