V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iVanilla
V2EX  ›  程序员

目前国内外有哪些比较好的模拟中学实验的软件?如果找不到好用的,有没有人有兴趣来造个轮子?

  •  
  •   iVanilla ·
    iVanilla · 2016-07-15 15:13:35 +08:00 · 8919 次点击
    这是一个创建于 3056 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于对理科的热爱,我在初中开始就喜欢做实验,但购买这些实验仪器花了不少钱,而且在家里存放化学药品也很危险。 于是我寻找可以模拟实验的软件,国内的像什么金华科、鳄鱼夹,还有最近的 NB 实验室软件都尝试过,国外的这类软件我不了解,而且这些软件价格不便宜,我当时甚至尝试自己开发个,不过那时我不怎么会编程,所以也做不出来。

    大家有没有用过类似的软件?如果做个开源的这种软件,有没有人愿意跟我一起造轮子?(要求能跨平台,目前在我看来用 Qt/C++是比较好的)

    63 条回复    2016-07-19 22:09:08 +08:00
    gowk
        1
    gowk  
       2016-07-15 15:40:43 +08:00 via Android
    很久之前我就想做这种软件,不过我是想用 HTML5 去做,移动端也可以使用,不知有没有兴趣一起做?
    iVanilla
        2
    iVanilla  
    OP
       2016-07-15 15:42:38 +08:00
    @gowk HTML5 的话,用 WebGL 更好(因为我是想做 3D 班的,我试过的软件基本上都是 2D 图片)
    gowk
        3
    gowk  
       2016-07-15 15:43:56 +08:00 via Android
    可以当做创业项目往 SaaS 的方向去做,是一个比较不错的方向
    iVanilla
        4
    iVanilla  
    OP
       2016-07-15 15:44:38 +08:00
    @gowk 如果做开源项目的话,能不能保证资金正常流动?
    killbad
        5
    killbad  
       2016-07-15 15:49:14 +08:00
    这种软件用 flex 开发比较省事,据我观察,目前市场上的一些实验软件,也都是用 flash 开发的,但 flash 有个缺点,比较容易被反编译,如果楼主手里有这些素材,可以试试先把别人的实验软件反编译,反正自己先研究下嘛,何必一上来就自己造轮子呐。
    iVanilla
        6
    iVanilla  
    OP
       2016-07-15 15:51:04 +08:00
    @gowk 更重要的是跨平台,桌面端和移动端都要支持。
    几年前我偶然看到一个 IP 网站,有提供网页版的模拟理化生实验平台,似乎用 Flash 还是 Java 插件的。
    但后来就打不开了。
    iwege
        7
    iwege  
       2016-07-15 15:51:22 +08:00
    楼主有兴趣的话可以和我联系一下~
    iVanilla
        8
    iVanilla  
    OP
       2016-07-15 15:53:14 +08:00
    @killbad Flash 这东西快死了, Adobe 自己都把 Flash Professional 改成做 HTML5 Canvas 了。
    而且以后是移动端的天下,你用 Flash 或者 Flex 是不是有点反人类?
    在我看来,客户端和网页版都做会更好。
    iwege
        9
    iwege  
       2016-07-15 15:58:51 +08:00
    忘记联系方式了: cyberiwege 在 G 家
    killbad
        10
    killbad  
       2016-07-15 16:05:21 +08:00
    @iVanilla , 虽然说 flash 的确是快死啦,但在现阶段,结合你项目的这个需求, flash 也是能完全胜任的,也是比较适合的,而且能快速地进行开发, flex 打包成的 AIR 项目,也是跨平台,移动端现在有很多 APP ,也是用 AIR 实现的, AIR 打包好的程序,能同时支持 PC , MAC , andriod, ios 。

    像你这种实验软件,难点并不在于程序的开发上,难点在于动画的设计上,基于 flash 的设计人员也是比较好找的。
    mars0prince
        11
    mars0prince  
       2016-07-15 16:08:41 +08:00
    挺有兴趣的,不知道市场如何,感觉现在小孩都不怎么看这些东西
    killbad
        12
    killbad  
       2016-07-15 16:08:59 +08:00
    @iVanilla ,难点应该在动画和交互的设计上,实验流程,各种动画特效,而这恰巧是 flash 非常擅长的。
    4074
        13
    4074  
       2016-07-15 16:15:04 +08:00
    我专业是电子类的,毕业设计的时候,导师知道我会 web ,就建议我做一个模拟电子实验的网站。可惜当时技术水平有限,就没有深入研究。
    感觉这种类型的东西,还是很有前景的哟。
    murmur
        14
    murmur  
       2016-07-15 16:33:00 +08:00
    为什么要模拟呢?模拟实验就没意思了
    这不像大学的电学 不模拟直接焊板子就瞎了
    Shura
        15
    Shura  
       2016-07-15 16:56:56 +08:00 via Android
    @murmur “但购买这些实验仪器花了不少钱,而且在家里存放化学药品也很危险。 于是我寻找可以模拟实验的软件”
    my101du
        16
    my101du  
       2016-07-15 17:02:04 +08:00
    我记得之前调研 HTML5 在线制作工具的时候,有个“木疙瘩”有教程制作一个中学的化学实验动画课件
    my101du
        17
    my101du  
       2016-07-15 17:03:28 +08:00
    @my101du 这个木疙瘩实际上好像就是个在线版的 Flash …… 各种术语个概念都很相似
    shyling
        18
    shyling  
       2016-07-15 17:03:38 +08:00 via Android
    中学实验难道不是老师说结果就完事么
    fsy0718
        19
    fsy0718  
       2016-07-15 17:16:22 +08:00
    怎么模拟不同剂量化学物不同的反应
    iVanilla
        20
    iVanilla  
    OP
       2016-07-15 17:18:37 +08:00
    @iwege 我不明白你为什么给 G 家的链接(因为这不是游戏)。
    @killbad 我觉得用 OpenGL 更好, flex 不如 HTML5 的 canvas/webGL ,懂 JS 的人比懂 AS 的多很多。
    @mars0prince 现在很多中学生对实验还是很感兴趣的,有些学校条件有限,只能看老师做实验,学生自己没有机会动手实验。
    @4074 不知你当时用什么做的,如果是用 HTML5 的话,我倾向于 WebGL 。
    @murmur 我觉得这是很有必要的,有些学校条件有限,只能看老师做实验,学生自己没有机会动手实验;课本上的实验很有限,模拟实验可以拓宽知识范围;有些化学实验反应速度过快,或者危险性很高,那么用软件来模拟就会好很多。
    @my101du 可否给个链接我参考下,但我不打算用 Flash ,原因见上面。

    其实这个坑我两年前就开始挖了,但自己没能力填。
    iVanilla
        21
    iVanilla  
    OP
       2016-07-15 17:21:42 +08:00
    @fsy0718 可以做个试剂数据库和反应数据库,如果遇到这样的反应,就通过计算来判断。
    iwege
        22
    iwege  
       2016-07-15 17:26:46 +08:00
    @iVanilla 那是邮箱.... 我的意思是我们正在研究这块的东西。

    如果只是化学的话, ios 上面有烧杯以及化学家是非常好的样例,但是不开源也不跨平台。

    物理的一般没什么危险性,简单的学校会倾向于直接做实验,现在也有部分学校配置了 DIS 做实验。

    生物学科除解剖之外,貌似没有什么其它需要注意的地方。
    iVanilla
        23
    iVanilla  
    OP
       2016-07-15 17:32:08 +08:00
    @iwege 包括理化生部分。
    iOS 那个软件能不能给个 DEMO 或者图片什么的?
    物理的某些实验,比如万有引力方面的用软件更好(参考金华科仿真物理实验室 力学版),当然也有我上面提到的原因(学生可能只能看没机会动手做)。
    生物的估计很难做(我之前是考虑过模拟显微镜观察标本之类的),所以可能会先搁置着,有条件再做。
    iroywang
        24
    iroywang  
       2016-07-15 17:32:33 +08:00 via Android
    beaker 算吗
    atie
        25
    atie  
       2016-07-15 17:37:03 +08:00
    @iVanilla 如果你有兴趣,可以加入我们团队:)类似,并且会包含 NB 实验室的特性。

    Base Wuhan ,可远程。
    Kirscheis
        26
    Kirscheis  
       2016-07-15 17:52:10 +08:00 via Android
    你说的这玩意我初中就想搞了。现在都上大学了也还没搞出来。
    物理的好说,中学物理那点东西,各种物理引擎都是现成的。
    化学的,几乎不可能。计算机模拟化学反应异常困难,中学的化学有一大半靠意淫,条件太松散。想要像物理实验那样做有限元分析或者想搞电路仿真非常不现实。就一个反应动力学一个表面化学就不是一般人家的计算机能算的。所以只能靠数据库。靠数据库的话中学那几个实验要导入倒是简单,问题是万一用户不按套路出牌乱混怎么办。。?再说要是只能重复数据库里的实验那还不如放一堆视频。。
    生物么,想想就行了,不现实。
    我现在的科研方向差不多就是在怼后面几个,俗称计算化学 /量子化学 /生物信息。。。
    awebird
        27
    awebird  
       2016-07-15 18:03:08 +08:00
    巧,当年毕业设计是虚拟电子实验相关, flash 做的,逻辑不多主要是步骤演示 http://awebird.com/blog/art/10
    APIMASTER
        28
    APIMASTER  
       2016-07-15 18:18:04 +08:00
    这玩意个人之力是做不出来的。不要想了。。。大公司估计才有时间精力经济能力去做。
    4074
        29
    4074  
       2016-07-15 18:20:53 +08:00
    @iVanilla 其实可已考虑下 unity3d ,效果肯定好,可能开发成本高
    chromee
        30
    chromee  
       2016-07-15 18:25:18 +08:00 via Android
    做中学化学生物之类的实验不现实
    murmur
        31
    murmur  
       2016-07-15 18:26:36 +08:00
    @Shura 真实化学实验那个效果绝对是没法模拟的
    iVanilla
        32
    iVanilla  
    OP
       2016-07-15 20:21:49 +08:00
    @iroywang 算,而且这挺新奇的。
    @atie 你们的项目用什么语言开发的?是否开源?有没有 DEMO ?
    @Kirscheis 你可能想得过于复杂,我并没打算去模拟复杂的有机化学实验,中学那些实验要模拟出来不会太难,因为有成功案例,生物的话因为不确定性因素太多,所以目前我没打算去做。
    @APIMASTER 不是很复杂的部分还是可以做的。
    @4074 这个不适合用于开源项目吧。
    @chromee 但是有公司成功开发出这样的软件,比如金华科。
    @murmur 这个其实跟游戏差不多,现有技术可以模拟出来。
    xiaopc
        33
    xiaopc  
       2016-07-15 21:17:16 +08:00 via Android
    金华科有什么问题?好像步步高学习机用的就是它家的。
    造轮子主要问题是反应数据不能简单计算啊...
    iVanilla
        34
    iVanilla  
    OP
       2016-07-15 21:18:46 +08:00
    @Kirscheis @APIMASTER @chromee @murmur
    <img src="https://www.94cb.com/upload/image/20160715/1468588874213099.jpg">
    类似这种效果还是可以模拟出来的。
    iVanilla
        35
    iVanilla  
    OP
       2016-07-15 21:20:30 +08:00
    @xiaopc 就化学实验室来说,图片效果不太好,并且他的碱金属是有问题的,你可以试试把一个碱金属扔到烧杯里面,它可能会转到烧杯外面。
    物理的实验室倒还行。
    xiaopc
        36
    xiaopc  
       2016-07-15 21:56:50 +08:00
    @iVanilla 未复现 https://ooo.0o0.ooo/2016/07/15/5788edaa253b6.png
    iVanilla
        37
    iVanilla  
    OP
       2016-07-15 22:05:45 +08:00
    @xiaopc 你先往烧杯里面加一些水,然后点左边的碱金属(不是往烧杯里面加药品!),如果碱金属在烧杯边上的话就可以看到了。
    atie
        38
    atie  
       2016-07-15 23:27:50 +08:00
    @iVanilla Java \ iOS 都有
    inpro
        39
    inpro  
       2016-07-16 00:13:37 +08:00 via iPhone
    App Store 有一个烧杯图标的 app ,动画非常真实,还可以两台手机交互
    inpro
        40
    inpro  
       2016-07-16 00:24:42 +08:00 via iPhone
    BEAKER by THIX by THIX
    https://appsto.re/cn/VRYs5.i
    xiaopc
        41
    xiaopc  
       2016-07-16 06:39:47 +08:00
    @iVanilla 什么叫"点左边的碱金属"?
    从左边倒入也没复现...用的是 V3.0
    tairan2006
        42
    tairan2006  
       2016-07-16 09:51:22 +08:00
    matlib simulink?

    化学和生物已多年不碰。。
    iVanilla
        43
    iVanilla  
    OP
       2016-07-16 14:59:26 +08:00
    @xiaopc 你要用 3.5 才支持的, 3.5 有“碱金属”这个“仪器”,用那个放到水里面,运行实验才能看到。
    iVanilla
        44
    iVanilla  
    OP
       2016-07-16 15:01:46 +08:00
    @inpro 他们公司的另一个 App 叫“ Chemist 虚拟化学实验室”,你可以看看,那图片效果跟我设想的相似度达到 98%以上。
    https://www.94cb.com/upload/image/20160715/1468588874213099.jpg
    kmahyyg
        45
    kmahyyg  
       2016-07-16 15:43:11 +08:00
    Android/iOS : Chemist
    Win : Matlab / Comsol MultiPhysics(逃.......)
    qyz0123321
        46
    qyz0123321  
       2016-07-16 16:46:33 +08:00
    之前在诺亚州电子词典上看到有类似的。。
    dphdjy
        47
    dphdjy  
       2016-07-16 18:45:34 +08:00 via Android
    初中和老师讨论过,当时已经浅涉桌面应用编程 2 年了~

    主要问题:实际实验会出现各种意外,虽然可以模拟,但是依然不如实际操作一下

    不过现在用 VR 大概能解决不少问题 XD
    iVanilla
        48
    iVanilla  
    OP
       2016-07-16 20:16:46 +08:00
    @dphdjy 模拟的话可以避免意外,实在想看的话,可以做个开关。我的设想是,对于容易出现意外(比如爆炸)的实验,会在实验过程中提醒。
    llajaunie
        49
    llajaunie  
       2016-07-16 21:06:20 +08:00
    PhET interactive simulations, 有一些是 HTML5 的,一些是 Java applet
    https://phet.colorado.edu/en/simulations/

    力学、运动学模拟可以试试
    https://edu.kde.org/step/
    "...StepCore is the physical simulation library on which Step is based. It can be used without Step for complex simulations..."

    电学模拟,后台可以考虑各种 spice ,或者试试这个 QUCS
    http://qucs.sourceforge.net/screenshots.html
    dphdjy
        50
    dphdjy  
       2016-07-17 01:35:13 +08:00 via Android
    @iVanilla 当时就被老师拒绝了,毕竟中学实验没有什么危险,那些意外遇到也算经验。但是不介意做一个,比如一些二线二类中学并不会在实验器材投入,不少学校 3 年都没进过实验室。所以侧重点一个是解决实验室的一些成本问题
    iVanilla
        51
    iVanilla  
    OP
       2016-07-17 09:23:24 +08:00
    @dphdjy 老师站在他的角度当然觉得没必要,对于学生来说还是有必要的,我初中那时老师给我一个教学光盘,里面有近一个小时的实验视频,看完后我都手痒得去做实验了,虽然作业还没动。
    dphdjy
        52
    dphdjy  
       2016-07-17 16:18:06 +08:00 via Android
    @iVanilla 我们当时基本每周都有实验,还有学校内部的实验竞赛,以及考试前一个月都在做实验。(光盘并没有看过 hhh
    反之一些二类学校因为成本之类的原因,实验器具都严重损坏,化学试剂变质之类的问题,比较适合这个项目。
    还有中学实验器材很便宜, taobao 买一套回来就好了~
    iVanilla
        53
    iVanilla  
    OP
       2016-07-17 16:58:30 +08:00
    @dphdjy 我们老师很理解的,我几年前跟说要做一个虚拟实验室软件之后,他说如果我做出来了,他上课时就使用我的软件来讲课。
    实验仪器一般不贵没错,不过有的试剂会比较贵,我是在家附近的一个化学用品店买的,连 H2SO4 都买回来了。
    murmur
        54
    murmur  
       2016-07-17 18:28:07 +08:00
    @iVanilla 别的不说 能不能模拟铝热反应那个震撼的效果 不能?算了
    很多人踏上实验坑就是看了铝热反应开始的
    iVanilla
        55
    iVanilla  
    OP
       2016-07-17 20:16:05 +08:00
    @murmur 你假设一个结果,然后说结果是对的,你没做过怎么知道能不能?
    murmur
        56
    murmur  
       2016-07-17 20:51:29 +08:00
    @iVanilla 模拟实验你是想达到一个什么效果呢?如果是学习的话看录像教师演示就可以了,如果是真要实操的感觉那模拟绝对达不到
    另外你给那个图 酒精灯的火焰都把烧杯打穿了。。
    iVanilla
        57
    iVanilla  
    OP
       2016-07-17 21:09:12 +08:00
    @murmur 如果光看老师演示或者实验视频就能学好的话,我相信学校不会花大钱去买那么多的仪器和试剂。
    我知道现有技术还不能 100%还原,但能够尽量逼真地模拟出来,只要现有技术能达到就 OK 。
    这不是我做的 app ,如果是我做的话,绝对不会连石棉网都没有,而且他这个火焰也不是特别像。
    iVanilla
        58
    iVanilla  
    OP
       2016-07-17 21:10:28 +08:00
    murmur
        59
    murmur  
       2016-07-17 21:17:14 +08:00
    @iVanilla 那么实际上我高中印象中就做了氢气还原氧化铜(好幸运用的还是齐普发生器)和氧气制取这两个实验
    化学高考分一样不低啊
    而且你要记得有机化学那么多实验你都做不了的。。无机实验危险性比较高的,用钠用镁的很多学校也不会做
    倒是物理实验做的非常多 因为物理的实验基本跟实物是一致的 化学的考试实验基本都不会做。。
    iVanilla
        60
    iVanilla  
    OP
       2016-07-17 21:24:29 +08:00
    @murmur 有机化学的实验太多而且有些复杂程度很高,不过对于常见的实验来说模拟不是很难。
    而且对于危险性高的实验,用软件来模拟就很安全了。
    话说回来其实不一定非要给老师和学生用啊,只要是对实验感兴趣,任何人都可以使用。
    murmur
        61
    murmur  
       2016-07-17 21:26:43 +08:00
    @iVanilla 是这样的,想真实,就跟电钢琴需要采样的,而且你不仅需要采集正确的步骤,还要采集错误的步骤,比如我上面说的,氢气不验纯就通试管甚至点燃,这个效果,能模拟出来么,一般老师都不敢这么玩吧,但是你作为模拟软件人家可能就想试一试这效果啊
    再或者,浓硫酸的腐蚀性,或者碱金属的活泼,我不认为现有的技术能模拟的很好,我说的还不是真实,楼上有人说的对,即便是高中这么简单的化学,很多都是看着书本意淫
    铝热反应,这个很简单的反应吧,东西做好了镁条插起点火就可以看戏了,这个炫酷效果我真想不到模拟能做到什么样,更何况要接试管要用酒精灯水槽这些复杂操作了,这个细节多少需要模拟的,都是做程序的,怎么不知道要把错误处理也考虑进去呢

    为什么现在没人做,那是因为靠意淫书本就能考高分了,所以即便不实操也不影响成绩,大学化学不一样,未来的医学更不一样,因为真实操作有电脑模拟没有的紧张感,所以才需要在大学反复练习实操
    iVanilla
        62
    iVanilla  
    OP
       2016-07-17 22:12:31 +08:00
    @murmur 不是没人做,是已经有几个公司做了,但除了我给你看的图片那家公司( THIX )外,其他公司做的都不是很好。
    实验步骤错误的话,直接提示并终止实验就行了,只有正确地操作才能继续进行实验。
    当然如果实在想试的话,搞个爆炸开关也是可以的。
    dphdjy
        63
    dphdjy  
       2016-07-19 22:09:08 +08:00 via Android
    @iVanilla 一般仪器和器材自然不贵,但是人多就是一大笔了(好像也不是很多
    但是本二线?城市省示范 3 年就去过几次实验室,乙醛还变质了( ls 很多 dalao 说的实验,基本没见过 hhh
    虽然很迷~现实就是这样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3039 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:34 · PVG 08:34 · LAX 16:34 · JFK 19:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.