Board logo

标题: 中小学数学画板想挑战你的地位 [打印本页]

作者: pcgoer00    时间: 2018-4-15 22:08     标题: 中小学数学画板想挑战你的地位

xp系统
中学教师制作
https://pan.baidu.com/s/1LUS1X1FT6KPugCgVO4I7tQ

本人脑子开过2次刀,得过1次脑中风,
制作化了我2年时间,

今天升级了角标的画法,等几天发表。

内含我得全国一等奖的代数画板愿代码。

4句话说清几何画板的设计原理也有代码。
MouseDown 定心
MouseMove 定形
Mouseup    画图
利用line和shape控件,在vb6.0下,实现几何画板的设计原理。
作者: pcgoer00    时间: 2018-4-15 22:20

Option Explicit
Dim KZD(0 To 10) As xydxy_type
Dim BDMG   As Integer
Dim dqtx As Integer
'MouseDown 定心
'MouseMove 定形
'MouseUp 画图
'利用line和shape控件,在vb6.0下,实现几何画板的设计原理。
'补充
'通过鼠标右键移动来实现控点的移动
'根据控点位置决定显示图形大小形状


Private Sub Form_Load()
Dim i As Integer

Shape0(0).Width = 150
Shape0(0).Height = 150
Shape0(0).FillStyle = 0
For i = 1 To 5 '加载控件几何图形 line0通过复制粘贴操作设置为控件数组
   Load Line0(i)
   Load Shape0(i)
   Shape0(i).Width = 150
   Shape0(i).Height = 150
   Shape0(i).FillStyle = 0
Next i

Shape0(0).BorderColor = &HFF00FF '控点颜色
Shape0(0).FillColor = &HFF00FF
Shape0(1).BorderColor = vbGreen
Shape0(1).FillColor = vbGreen
Shape0(2).BorderColor = vbBlue
Shape0(2).FillColor = vbBlue
Shape0(3).BorderColor = &HC0C000
Shape0(3).FillColor = &HC0C000

Picturego.Width = Picturego.Height
BDMG = CInt(Picturego.Width / 20)
Call Optiontx_Click(dqtx)



End Sub


Sub shoutx(ByVal dq As Integer)
Dim i As Integer
Dim x As Integer
'功能 根据控点位置决定显示图形大小形状

For i = 0 To 2 '显示控点位置
    Shape0(i).Left = KZD(i).xx - Shape0(i).Width / 2
    Shape0(i).Top = KZD(i).yy - Shape0(i).Height / 2
    Shape0(i).Visible = True
Next i


If dq = 0 Then '圆
   
    For i = 0 To 2
       Line0(i).Visible = False
    Next
    Shape_tx.Visible = True

    x = KZD(1).xx - KZD(0).xx
    x = Abs(x)
    Shape_tx.Shape = 3       '1 2 4 5 6 椭圆 矩形 自己实验
    Shape_tx.Height = 2 * x
   
    Shape_tx.Width = Shape_tx.Height
    Shape_tx.Left = KZD(0).xx - Shape_tx.Width / 2
    Shape_tx.Top = KZD(0).yy - Shape_tx.Height / 2
End If


If dq = 1 Then '三角形

    For i = 0 To 2
       Line0(i).Visible = True
    Next
    Shape_tx.Visible = False
   
    Line0(0).x1 = KZD(0).xx '0-1 显示3条线中的一条
    Line0(0).y1 = KZD(0).yy
    Line0(0).x2 = KZD(1).xx
    Line0(0).y2 = KZD(1).yy
   
    Line0(1).x1 = KZD(0).xx '0-2
    Line0(1).y1 = KZD(0).yy
    Line0(1).x2 = KZD(2).xx
    Line0(1).y2 = KZD(2).yy
   
   
    Line0(2).x1 = KZD(1).xx '1-2
    Line0(2).y1 = KZD(1).yy
    Line0(2).x2 = KZD(2).xx
    Line0(2).y2 = KZD(2).yy


End If


End Sub









Private Sub Optiontx_Click(Index As Integer)
Dim i As Integer

Optiontx(Index).Value = True

If Index = 0 Then '圆 初始位置显示一个圆
   
    dqtx = 0
    KZD(0).xx = 10 * BDMG '设置红色控点初始位置
    KZD(0).yy = 4 * BDMG
   
    KZD(1).dx = 3 * BDMG '绿色的相对偏移量
    KZD(1).dy = 0
   
    KZD(2).dx = 0        '兰色的相对偏移量
    KZD(2).dy = 3 * BDMG
   
    For i = 1 To 2 '建设控点位置
        KZD(i).xx = KZD(0).xx + KZD(i).dx
        KZD(i).yy = KZD(0).yy + KZD(i).dy
    Next i


ElseIf Index = 1 Then '三角形

    dqtx = 1
    KZD(0).xx = 10 * BDMG
    KZD(0).yy = 4 * BDMG
  
    KZD(1).dx = 4 * BDMG
    KZD(1).dy = 0
    KZD(2).dx = 3 * BDMG
    KZD(2).dy = -3 * BDMG
         
    For i = 1 To 2
        KZD(i).xx = KZD(0).xx + KZD(i).dx
        KZD(i).yy = KZD(0).yy + KZD(i).dy
   
    Next i
   

End If

Call shoutx(dqtx)




End Sub

Private Sub Picturego_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim i As Integer

If Button = 2 Then '右键是移动控点功能
       Exit Sub
End If
  
KZD(0).xx = x
KZD(0).yy = y

For i = 1 To 2 '实现整体移动,相对位置不动
    KZD(i).xx = KZD(0).xx + KZD(i).dx
    KZD(i).yy = KZD(0).yy + KZD(i).dy
Next i


Call shoutx(dqtx)


End Sub



Sub set_daxiao(ByVal MOVx As Integer, ByVal MOVy As Integer, ByVal dq As Integer)
Dim i, mv As Integer '设置形状大小 几何图形 通过鼠标右键移动来实现
Dim dx, dy, ddd, ddd2, ddb, bl As Double
Dim x, y As Integer
'功能 通过鼠标右键移动来实现控点的移动


ddb = 50000    '判断是那个控点近鼠标 三角形等有用
mv = 1
For i = 1 To 2
  x = KZD(i).xx
  y = KZD(i).yy
  dx = Abs(MOVx - x)
  dy = Abs(MOVy - y)
  ddd = Sqr(dx * dx + dy * dy)
  If ddd < ddb Then
     mv = i
     ddb = ddd
  End If
Next i


If dq = 0 Then

    x = KZD(0).xx '用勾股定理计算距离
    y = KZD(0).yy
    dx = Abs(MOVx - x)
    dy = Abs(MOVy - y)
    ddd = Sqr(dx * dx + dy * dy)
   
   
    KZD(1).dx = ddd '实际只有一个控点有效,对称的么
    KZD(1).dy = 0
   
    KZD(2).dx = 0
    KZD(2).dy = ddd
   
    For i = 1 To 2
        KZD(i).xx = KZD(0).xx + KZD(i).dx
        KZD(i).yy = KZD(0).yy + KZD(i).dy
    Next i

ElseIf dq = 1 Then
   dx = MOVx - KZD(0).xx
   dy = MOVy - KZD(0).yy
   KZD(mv).xx = KZD(0).xx + dx '一次只有一个控点位置变化
   KZD(mv).yy = KZD(0).yy + dy
   KZD(mv).dx = dx
   KZD(mv).dy = dy
   
End If


Call shoutx(dq)


End Sub

Private Sub Picturego_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)

'实现目的 设置形状大小  通过鼠标右键移动来实现
If Button = 2 Then
       Call set_daxiao(x, y, dqtx)
End If

End Sub

Private Sub Command1_Click() '画图
Dim x, y, x1, y1, x2, y2, rr As Integer
Picturego.DrawWidth = 4

If dqtx = 0 Then '圆
        x = KZD(0).xx
        y = KZD(0).yy
        rr = Abs(KZD(1).xx - KZD(0).xx)
        Picturego.Circle (x, y), rr, RGB(0, 0, 0)
        Picturego.Circle (x, y), 30, vbRed
        
ElseIf dqtx = 1 Then '三角形
     x1 = KZD(0).xx
     y1 = KZD(0).yy
     x2 = KZD(1).xx
     y2 = KZD(1).yy
     Picturego.Line (x1, y1)-(x2, y2), RGB(0, 0, 0) '0-1
     x2 = KZD(2).xx
     y2 = KZD(2).yy
     Picturego.Line (x1, y1)-(x2, y2), RGB(0, 0, 0) '0-2
     x1 = KZD(1).xx
     y1 = KZD(1).yy
     Picturego.Line (x1, y1)-(x2, y2), RGB(0, 0, 0) '1-2
End If

Call Optiontx_Click(dqtx)


End Sub

Private Sub Command2_Click() '清空
Picturego.Cls
End Sub
作者: pcgoer00    时间: 2018-4-15 22:25

中小学数学画板
一个简单的课件制作工具,主要功能有
数学实验模拟器,Basic语言编程模拟器,画几何图形,画函数曲线,
教学机器人模拟器。

全力打造中国人自己设计的几何画板。

其他的功能附带实现,
使用前请阅读使用帮助。

无力挑战几何画板的统治地位,但几何画板的早期版本的作者也是中小学教师,别人能做到,我国的中小学教师就不行么?心有不甘!就算落后20年,也要奋力追赶。

本软件在画基础图形的操作过程似乎比几何画板要简单,特别是对小学老师来说。
但现在版本的几何画板明显是专业程序员的作品,整体功能差距还是很大。

画几何图形,画函数曲线支持保存为文件。
教学机器人模拟器能保存程序。
Basic语言编程模拟器能保存程序。
所有能保存的都能打开。
其他的只有现场演示功能。


本软件在 xp系统下设计,
win7上测试能运行,但没有到64位机上测试,
本学校没有1台机子是64位的。
win10上测试运行失败。

能不能用,靠运气。
启动画面的是3价幻方。
或者是丽水鼎湖峰风景。

软件设计
浙江省象山县丹城中学顾熙杰
作者: pcgoer00    时间: 2018-4-15 22:30

如何动摇的几何画板统治地位
几何画板,中小学教师的痛!

先看孔德宏老师谈的国产软件,
张景中院士的超级画板,要盗超级画板的版。


这确实是让我觉得作为一个中国人感到耻辱和羞愧的地方:在广大的中小学,对于成千上万的中小学数学教师和全中国几亿中小学生,我们几乎连一个像样地数学软件都没有!我们都在用着外国人的,从小就这样,大了还能还会怎样呢?或许当小学生长大后他会说:我们从来都是用国外的!

我没有这个本事去编制和开发这种软件,这使我感到耻辱。那不知,几乎这十多亿中国人都没能开发和搞好这种软件,这让我绝望!对中国的数学教育,对全体中国人!感到痛心!?
面对免费的GeoGbra,面对被国人广泛使用的几何画板……这一切都是国外的。面对这一切,我真的无语了!


张景中院士的超级画板,
本人虽然不支持要盗他的版,
因为投入太大,不是本人这样小打小闹,
但本人也不理解,为什么没有测试版本?
免费版本功能限制这么厉害?
这样就没有广大的教师来使用和学习这个软件,
自然就无法动摇几何画板的统治地位。

国家教育投入不足,张景中院士的研究开发成本
1000万,无法补足,所以只好收费。
中小学更穷,只能使用免费软件,
所以就盗几何画板的版。

现在几何画板也收费了,350元,专业程序员要养家糊口的,没有办法。

只剩下一条路了,
开放原代码,引进广大中小学教师中的编程高手
一起来参与,但中小学教师的水平有限,
估计比本人高不了多少。

引进业余程序员,一起改进软件,
导致网络上类似软件满地跑,总比没有免费的好。
作者: pcgoer00    时间: 2018-4-15 22:37

本人知道一个中学教师难以动摇
几何画板的统治地位,
但人多了,
总能摇晃几下吧?
蚂蚁摇不动大树,
但能咬断大树。
作者: 聂毅    时间: 2018-5-7 10:28

不知提取提取码是多少,下载不了
作者: stg1109    时间: 2018-5-8 09:39

您是做的共享吗?那提取码是多少?




欢迎光临 inRm3D: 画板论坛 (http://inrm3d.cn/) Powered by Discuz! 7.0.0