開發數學系統時,需要掌握的幾個基於Web的數學框架


在做數學系統時,經常要和數學公式打交道,這里介紹幾個常用的基於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,所以太復雜的圖形無法顯示。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM