数学试卷怎么在文档上加图画(数学卷子图片怎么转换成doc文档)

数学试卷怎么在文档上加图画(数学卷子图片怎么转换成doc文档)

首页数学更新时间:2024-07-28 11:00:20

对于数学老师来说,在word里面画图,一直是一件很麻烦的事情。Word的插入图形里面,没有点的概念,插入的线段里面,也没有端点的概念,所以要在word里利用三条线段画一个简单的三角形,都是一件很麻烦的事情,因为两条边的端点很难完全重合,即使放大好多倍,精确地移到一起,也还是有瑕疵。而几何画板画图就没有这个困扰。几何画板的画图方式是点驱动一切,所有的图形都是由点来控制,这一点很符合我们数学几何图形的定义方式,可以很精确地控制图形的形状、位置,很方便地画出自己想要的图形,所以以前经常做的事就是在几何画板里面画好想要的图形,然后再截图进word,虽然很方便,但是也有不少不足,例如图片的文件比较大,例如图片的打印没有word里的形状打印清晰,图片的打印速度没有word里形状的打印速度快。那能不能直接用几何画板的方式在word里画图呢?

在word里,用word vba(即word宏)可以精确地操控形状,快速地插入和删除形状,再用小圆来表示点,那么就可以用vba来模仿几何画板的画图方式。

要用Vba来模仿几何画板的画图方式,那么就要有几何画板类似的插入点,插入线段的方法。很可惜,在word里,鼠标的操作以及鼠标信息的获取比较困难,只能暂时用面板来操作,但是也很方便。

实现方式:

插入点的实现:没有任何限制的自由点,可以用坐标的形式输入(如图),

其余点的输入,可以采取参数的形式,例如中点(如图)可以采用参数的形

式输入,也相当于代替鼠标的选择操作,在速度上,可能和鼠标操作相差不大,但在编程实现方面确实容易很多。插入点的实现在vba中很容易实现,以半径很小的圆来代替,例如半径为两个像素点的圆。通过面板输入的数据,可以例如这段代码插入“点”:ActiveDocument.Shapes.AddShape(Type:=msoShapeOval, Left:=a - 1, Top:=b - 1, Width:=2, Height:=2),其中a,b表示输入的两个坐标,word里的坐标体系,左上角代表坐标原点,向右和向下分别是横坐标和纵坐标增大。

几何的基本形状,甚至是复杂形状,基本上都是由点来控制,所以只要控制了点,就基本上控制一切几何图形了。通过点来控制点,可以输入:中点、垂足、对称点、旋转点、放缩点、交点、平移点,基本上可以满足日常图形的操作了。通过点来控制线,可以输入:线段、曲线(贝塞尔曲线)。利用贝塞尔曲线可以模仿很多曲线,例如正弦曲线:

在Word VBA中画正弦曲线
Private Sub 正弦曲线()
Dim i As Single, x1 As Single, x2 As Single, x As Single, n As Single
Dim sngArray(1 To 100, 1 To 2) As Single
Const PI As Single = 3.1415
x1 = Int(Me.TextBox1) '初始角度值
x2 = Int(Me.TextBox2) '终止角度值
x = Int(Me.TextBox2 - Me.TextBox1) '终初角度差
n = x / 360 '波数
For i = 1 To 100
sngArray(i, 1) = 100 2 * i
sngArray(i, 2) = 200 - 30 * Sin(4 * n * PI * i / 200 x1)
Next
'添加贝塞尔曲线
ActiveDocument.Shapes.AddCurve SafeArrayOfPoints:=sngArray

(这段代码来自excelhome网站上的网友)

到此,基本上很多几何画图操作都可以在word面板上精确操作完成,甚至平时一些固定操作,可以设置成一个按钮,通过预先设置的代码完成。例如坐标系的绘制,以及一些有趣的图形(几何画板里的工具栏预设了很多工具),甚至一些立体图形。

个人写了一些代码,很容易分享,只要把vba的代码分享给其他人,让对方导入即可。代码所占的空间很小,即使做了很多操作,估计都不会超过1M,可以很方便地分享给其他老师(例如微信分享)。

当然,利用vba在word里来模仿几何画板的画图方式,这是一个比较大的系统工程,它需要有一些编程的知识。但是只要稍微了解一些编程知识的老师都能操作,关键是它很容易分享,很多情况下,并不需要知道原理,能拿来用就行,有了它,数学老师再也不怕出题时,图画得不准了。

,
大家还看了
也许喜欢
更多栏目

© 1998-2024 shitiku.com.cn,All Rights Reserved.