在做数学系统时,经常要和数学公式打交道,这里介绍几个常用的基于Web的数学处理软件。

数学系统主要包括三类:(1)数学公式的显示,也就是如何使用web显示复杂的数学公式。

(2)图像制作,例如长方形,椭圆等 (3)公式的几何图形,例如y=x*x 的几何图形形状。

1. MathJax

MathJax使用基于HTML+JS+CSS 来显示数学公式。虽然他叫做MathJax,但是,其实对于物理、化学等公式都可以显示。

MathJax使用简单,首先引入必要的JS

<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

然后就可以写出漂亮的数学公式了。MathJax使用Latex语法,下面是一个是LaTex公式

$$\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.$$

  最终浏览器显示效果是:

MathJax使用Canvas或者SVG显示数学公式,这使得他放大缩小都不失真,而且易于编辑。

地址 https://www.mathjax.org

2.KaTex

KaTex是另外一个开源的数学公式显示软件,和MathJax相比,他更轻巧、速度更快。

但是,他更专注与数学公式,对于其它学科支持的不是很好。

当然,Katex也一直在完善。地址 https://katex.org

3.ipandao

Editor.md是一个开源的Markdown编辑器,轻巧实用。可以集成MathJax和Katex。

官网 http://editor.md.ipandao.com/

4.Math.js

math是基于JavaScript的数学运算库。地址 https://mathjs.org

在JavaScript里,虽然提供了Math库,但是他也仅仅只包含简单的加减乘除,乘方,开方运算,

远远无法满足工科需求。而math.js提供了更强大的复杂运算。

例如,他支持 复数的加减乘除,支持矩阵运算,微积分的求导和积分等。

print(math.evaluate('9 / 3 + 2i')) // 运算结果为复数 3 + 2i
print(math.evaluate('det([-1, 2; 3, 1])')) //运算结果为 -7  

基于math.js也诞生了一批插件。

5 SvgEdit

在数学系统里,除了公式,还有图像,在日常老师上课里,除了公式,就是图像,例如长方形,椭圆。

SvgEdit是一个矢量图形编辑功能,他允许你动态创建,修改图像。

Svg生成的图像后期可能更改,采用SVG不失真。

https://github.com/SVG-Edit/svgedit

6.SVG.JS

上面介绍的那个SVG是用手画出图像,

而SVG.JS则是用代码生成图像。

官网见 https://svgjs.dev/

但是,svg.js V3.0对V2.0改动的非常大,这使得现在好多文档仍然以2.0为主。

而且,3.0似乎用起来也没有2.0顺手。

7. 微软浏览器-Edge

数学公式是一个“硬功夫”,微软从不缺席的,

微软在Edge浏览器内置了数学计算功能。

在Edge的设置里可以看到“Math Solve”

微软内置的这个数学功能非常强大,他能给出数学计算步骤,画出图形等

7.数学公式 js-graphy

js-graphy 是我以前在制作一个小的数学 http://demo.dotnetcms.org/math 系统时用到的一个开源插件。官网 https://github.com/laktak/js-graphy

js-graphy 不支持math.js,所以太复杂的图形无法显示。

开发数学系统时,需要掌握的几个基于Web的数学框架的更多相关文章

  1. 开发BI系统时的需求分析研究

    我们知道MIS,知道ERP,知道GIS等等,这些系统在管理限制上有很多的冲突,管理和被管理,开放和限制等等,然而BI在开始就不是这样的.BI要求的就是易用还要易于扩展,首先是报表,这个是你无条件的需要 ...

  2. WPF开发ArcGis系统时的异常信息: ArcGIS product not specified. You must first bind to an ArcGIS version prior to using any ArcGIS components.

    “System.Runtime.InteropServices.COMException”类型的未经处理的异常在 Arcgis_Test.exe 中发生 其他信息: ArcGIS product no ...

  3. 开发MIS系统的相关技术

    Java Web应用的核心技术包括以下几个方面:● JSP:进行输入和输出的基本手段.● JavaBean:完成功能的处理.● Servlet:对应用的流程进行控制.● JDBC:是与数据库进行交互不 ...

  4. 如何整合Office Web Apps至自己开发的系统(一)

    在前面我的一篇博客中 Office Web Apps安装部署(一),有一张介绍Office Web Apps与其他系统的关系图,   从上述图中,可知实际上Office Web Apps也是可以接入自 ...

  5. 基于SageMath的数学网站——本科毕业开发项目

    1 绪论 1.1研究背景 我国是一个拥有15亿人口的大国.其中,据2017年的统计,全国共有大学生2600万左右.如此数量众多的大学生,都会有着学习基础数理课程的需求.而在高校的数学教学中,教授最多最 ...

  6. 利用微软Speech SDK 5.1开发语音识别系统主要步骤

    利用微软Speech SDK 5.1开发语音识别系统主要步骤 2009-09-17 10:21:09|  分类: 知识点滴|字号 订阅 微软语音识别分两种模式:文本识别模式和命令识别模式.此两种模式的 ...

  7. 开发mis系统的技术

    一.b/s架构 b/s架构:就broser/server,浏览器/服务器的说法.服务器端要运行tomcat,提供链接数据库服务供java代码读写数据,这个可以在eclipse中配置运行.浏览器则解释j ...

  8. 搭建日志收集系统时使用客户端连接etcd遇到的问题

    问题: 在做日志收集系统时使用到etcd,其中server端在linux上,首先安装第三方包(windows)(安装过程可能会有问题,我遇到的是连接谷歌官网请求超时,如果已经出现下面的两个文件夹并且文 ...

  9. 开发mis系统需要的技术

    一.b/s架构 b/s架构:就broser/server,浏览器/服务器的说法.服务器端要运行tomcat,提供链接数据库服务供java代码读写数据,这个可以在eclipse中配置运行.浏览器则解释j ...

随机推荐

  1. 解决Openstack Dashboard无法获取实例故障

    在部署配置完openstack基础服务以及dashboard后.登录页面发现很多功能都不正常,无法获取实例,也无法获取镜像. 查看日志 [root@openstack-controller-dev ~ ...

  2. 给MediaWiki增加看板娘

    我们想给我们的mediawiki增加个像我博客里这样的看板娘,那么怎么做才好呢? 其实很简单,只要在相应的模板文件里增加指定代码就好了! 修改模板文件 找到模板文件skins/Vector/Vecto ...

  3. deepin-terminal改造风云再起

    1. 创作背景 使用deepin-terminal的时候,我发现一些小的问题. 在论坛的帖子(https://bbs.deepin.org/zh/post/224502)也总结反馈了这些问题 终端标签 ...

  4. Ecplise项目导入IDEA(纯小白名词解释)

    1. Module 模块 一个大的项目不仅仅是只有Java的源文件,还有数据库,服务器,web等等文件一起使用,将类似于这样分类的文件定义为 module 例如 core Module(核心).web ...

  5. 洛谷P1083 借教室 题解

    题目 [NOIP2012 提高组] 借教室 题解 这道题是几周之前做到的一道题,本来不想讲的,因为这道题也是用到了二分答案的方法,这类题目之前已经发布过两篇题解了.但这道题还运用了差分数组这个思想,所 ...

  6. Request请求对象

    一.Request对象由服务器创建,我们使用 浏览器访问服务器资源原理: 二.Request体系结构 其中,servlet 的service()方法参数列表是 servletRequest对象, Ht ...

  7. 2.设计模式常用的UML图分析(用例图、类图与时序图)

    1-用例图 概述 展现了一组用例.参与者以及他们之间的关系. 用例图从用户角度描述系统的静态使用情况,用于建立需求模型. 用例特征 保证用例能够正确捕捉功能性需求,判断用例是否准确的依据. 用例是动宾 ...

  8. MobaXterm - 渗透之旅的终端神器

    一.背景 1.SSH概念 如果想要连接Linux服务器来进行文件之间的传送,那就需要一个Secure Shell软件(简称SSH的)来完成.从概念上来讲,SSH其实是一个网络协议,允许通过网络连接到L ...

  9. 获取office版本

    /// <summary>         /// office版本         /// </summary>         public enum OfficeVers ...

  10. [源码解析] 深度学习分布式训练框架 horovod (21) --- 之如何恢复训练

    [源码解析] 深度学习分布式训练框架 horovod (21) --- 之如何恢复训练 目录 [源码解析] 深度学习分布式训练框架 horovod (21) --- 之如何恢复训练 0x00 摘要 0 ...