數(shù)學(xué)公式結(jié)構(gòu)控制與顯示研究.pdf_第1頁
數(shù)學(xué)公式結(jié)構(gòu)控制與顯示研究.pdf_第2頁
數(shù)學(xué)公式結(jié)構(gòu)控制與顯示研究.pdf_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)學(xué)公式結(jié)構(gòu)控制與顯示研究 高躍 等 數(shù)學(xué)公式結(jié)構(gòu)控制與顯示研究冰 高躍 韓鵬 孫懷義 重慶郵電大學(xué)計算機科學(xué)與技術(shù)學(xué)院重慶 400065 重慶市科 學(xué)技術(shù)研究院信息與 自 動化技術(shù)研 究中心 重慶 401123 摘要 由于受到HTML本身特點的限制 在web上顯示非平直文本的效果不佳 本文針對數(shù)學(xué)公式的結(jié)構(gòu)特點 通過 對各種結(jié)構(gòu)的分析 使用JavaScri pt語言編寫一套結(jié)構(gòu)庫 利用結(jié)構(gòu)庫中的各種結(jié)構(gòu)控制函數(shù) 從而實現(xiàn)數(shù)學(xué)公式的各 種結(jié)構(gòu)在web 中的顯示 關(guān)鍵詞 非平直文本 結(jié)構(gòu)控制 MathML A b stract R estri cted b y the ch aracteri sti cs of H T M L i t do es no t w o rk w el l i n d i sp l ay i n g non p l ai n tex t on w eb A ccord i n g to th e characteri sti cs of m ath em ati ca l fo rm ul a structures w e an al y ze al l ki nd s of stru ctu re an d use JavaS cri p t l ang u ag e to set up a stru ctu re l i b rary U si ng al l k i nd s o f stru ctural co ntrol fu ncti on s i n th e structu re l i brary w e can di sp l ay al l ki n ds o f stru ctu ral of m ath em ati cal form u l a on w eb K ey w ords N on pl ai n T ext Structure C ontrol M ath M L 中圖分類號 TP273 文獻標識碼 A 文章編號 1001 9227 2013 一 02 008 03 0 引 言 互聯(lián) 網(wǎng)技術(shù)飛速發(fā)展的今天 w eb 信息瀏覽 己成為人們獲取 信 息的主要方 式之 便捷 的信 息獲取方式 已逐 漸被人們所 接 受 雖然w eb 技術(shù)發(fā)展的幾十年來已有很大的提高與完善 但 是由于其本身的局限性 以網(wǎng)頁方式顯示和處理大量的特殊符 號 數(shù)學(xué) 公式 特殊 標記等非 平直文本信 息非常 困難 因而嚴 重 制約 了數(shù)據(jù)庫建設(shè)過程 中數(shù)據(jù)信息 的采集 交流和利用 數(shù)學(xué)公式的w eb 顯示對于理工類學(xué)科數(shù)字化教育的發(fā)展和 信息交流都 是非 常重 要的 但 由于數(shù)學(xué)公式結(jié)構(gòu)的復(fù)雜性等方 面的限制 使得數(shù)學(xué)公式的w eb 顯示始終沒有得到很好 的發(fā) 展 目前 在 w eb 上顯示 數(shù)學(xué)公 式的主要還 是采用插 入數(shù) 學(xué)公 式 圖片的方式 但 是這種方 式為 了顯示 公式 圖片 一方面 需要 占用更大 的存儲 空間 特別是網(wǎng)頁 中需要顯示大量公式時 會嚴 重影響頁面加載速度 其次一旦生成公式 圖片 如需修 改則需要 重新制作公式圖片 致使公式的重用性差 工作量大 M athM L M athem ati cal M arkup Language 的產(chǎn) 生 為 web 中 顯示非平直文本提供 了可能 目前基于 M athM L 顯示數(shù)學(xué)公式 主要是通 過C SS 控制 數(shù)學(xué)符號的位置達到非平直 的數(shù) 學(xué)公式的 顯 示 這種 方 式 的不足 就 是跨瀏 覽器 的顯示 方面 表 現(xiàn)欠 佳 H TM L5 的出現(xiàn) 為瀏覽器 中直接 顯示數(shù)學(xué)公式提供 了可能 但是 目前 H T M L5 還處于 發(fā)展 階段 這一 目標還未能實現(xiàn) H TM L5 的 發(fā)布中 新添加了canvas元素 它能夠在canvas提供的畫布上繪 制并顯示 圖形 本文利用canvas的特點 應(yīng)用建立 的結(jié)構(gòu)庫實 現(xiàn)數(shù)學(xué)公式在w eb 上的顯示 1 MathML概述叫 收稿 日期 2 Ol 2 09 25 作者簡介 高躍 碩士 研究領(lǐng)域 移動互聯(lián)網(wǎng) 基 金 項 目 重 慶科 技 攻 關(guān)項 目 CSTC201140003 CST CJ011GGB40033 CSTC201 2GGJSB40004 和 國家科技支撐計劃課 題 201 2BAH5 5F01 8 W eb 技 術(shù)和 X M L Extensi bl e M arkup Language 的快速發(fā) 展 推 動 了數(shù)學(xué) 信息的表示 存儲 以及傳輸方式 國際互聯(lián) 網(wǎng)標 準 組織 W 3C 制定 的M athM I 是一種基 X M L 的數(shù)學(xué)標記 語言 是計 算機之 間交換數(shù) 學(xué)信息 的基本標 準 它完 全采用 X M L 的定 義 規(guī) 范 繼 承 了 X M L 的 大部 分優(yōu) 點 具 有 強大 的數(shù) 學(xué) 公式 表達 能力 M athM L 用于描述數(shù)學(xué)公式 的結(jié)構(gòu)和 內(nèi)容 它的出現(xiàn)使數(shù)學(xué) 公式不僅可以在w eb 上顯示與傳輸 而且可 以在其他應(yīng)用程序 中實現(xiàn)再利用和轉(zhuǎn)換 滿足用戶對數(shù)學(xué)公式的各種處理需求 M athM L 提供 了兩種描述數(shù) 學(xué)公式的標記 表現(xiàn)型標記和 內(nèi)容型 標 記 這兩種 標記都可 以完 整地描述任 何一個數(shù)學(xué) 公式 但 是 它們的側(cè)重 點有所不 同 表現(xiàn) 型標記用來描述數(shù) 學(xué)表達式 的二 維 布局 結(jié)構(gòu) 它更注重表達式 的顯示方式 內(nèi)容型標 記描述 用于 計算和處理的數(shù)學(xué)信息 它更關(guān)注表達式的內(nèi)在含義 本文采 用表現(xiàn) 型標記來描述數(shù)學(xué)公式 2 MathML 數(shù)學(xué)公式解析 目前 能夠直接 顯示 M athM L 公式的瀏覽器有限 Fi refi x 瀏 覽器對 M athM L 公式支 持 的較 好 但基于 IE 內(nèi)核 的瀏 覽器 目前 還 無法做到直接支持 M athM L 公式 為 了克服跨 瀏覽器 顯示 的問題 本文采用 在 canvas元 素 內(nèi) 顯示數(shù)學(xué)公式的方案 而在canvas 內(nèi)顯示M athM L 數(shù)學(xué)公式 首 先需要對M athM I 數(shù)學(xué)公式進行解析 解析的目的是通過解析 M athM L 公式生產(chǎn)一棵數(shù)學(xué)公式D 0 M 樹 通過遍歷這棵樹便可 以獲取樹的節(jié)點和內(nèi)容 從而控制數(shù)學(xué)公式的顯示 3數(shù)學(xué)公式字符顯示 在 canvas元素 內(nèi)顯示字符 是使用其提供 的213渲 染上下文 A P1 2D renderi ng context A PI 并編 寫一些 JavaScri pt 代 碼 實現(xiàn) 的 因此 首先為 顯示數(shù)學(xué) 公式所 需的字符及符號建立字符庫 學(xué)兔兔 w w w x u e t u t u c o m 自動化與儀器儀表 2013年第2期 總第 166期 然后在獲取得到公式樹的內(nèi)容后再調(diào)用相應(yīng)的字符函數(shù) 最終 將字符顯示 出來 由于在建立字符庫時 每個字符繪制的起始位置都是畫布 的原點 因此為了避免繪制多個字符時產(chǎn)生重疊 在每個字符 繪制完成后都需要將繪制的起始位置移至本字符之后 同時記 錄本字符寬度和高度的像素 px 數(shù) 其效果如圖1所示 l l f 移 效 果Ll 一J 二 二 一 l r 蕊布起始位置 輸 入 621 字 t符 后 起 囂 金 主 符 后 起 J I 6l l 后 效 果 二 i 一 一 1 一 j 畫 布 起 始 位 置 囂 金 主 符 后 起 囂 金 i 符 后 起 圖 1平移前 后字符顯示效果圖 4數(shù)學(xué)公式結(jié)構(gòu)控制 數(shù)學(xué)公式在web 中之所 以難以顯示的主要原因就在于 數(shù) 學(xué)公式不像純文本只有水平結(jié)構(gòu) 為此 需要研究一套方案實 現(xiàn)公式在垂直方向的結(jié)構(gòu) 4 1數(shù) 學(xué)公 式結(jié)構(gòu) 分類 分析數(shù)學(xué)公式的結(jié)構(gòu)后不難發(fā)現(xiàn) 數(shù)學(xué)公式的結(jié)構(gòu)主要有 以下幾類 角標結(jié)構(gòu) 分式結(jié)構(gòu) 根式結(jié)構(gòu) 矩陣結(jié)構(gòu) 再復(fù)雜的 數(shù)學(xué)公式也無非是這幾類結(jié)構(gòu)的嵌套組合而成 這幾類結(jié)構(gòu)的 效果 圖如 圖2 所示 角 標 結(jié) 構(gòu) 固 國 固 園 固 國 圓 圄 構(gòu) 構(gòu) 晦 構(gòu) 圖 國 國 圖2數(shù)學(xué)公式結(jié)構(gòu)分類示意 圖 4 2 角標結(jié)構(gòu)控 制 從圖2 中的角標結(jié)構(gòu)可 以看出 按照角標結(jié)構(gòu)的結(jié)構(gòu)塊個 數(shù)來分 可以分為兩類 一類是有兩個結(jié)構(gòu)塊組成 一類是由三 個結(jié)構(gòu)塊組成 以日 和 c 為例 其M athM L 代碼分別如下 a 2 C n k 從 a 的M athM L 代碼 中可 以看 出 標 簽 表 示為右上角標結(jié)構(gòu) 其中 表示一個結(jié)構(gòu)塊 同理 C 的M athM L 代碼 中 表示為右 上下角標結(jié)構(gòu) 其中有3個結(jié)構(gòu)塊 當遍歷DOM 樹獲取 lJ等結(jié)構(gòu)標簽時 開始進行結(jié)構(gòu) 控制 首先依次進入每個結(jié)構(gòu)塊中繼續(xù)遍歷 對每個結(jié)構(gòu)塊中 的所有內(nèi)容標簽的內(nèi)容進行讀取 并記錄每個內(nèi)容的寬度和高 度 當每個結(jié)構(gòu)塊遍歷結(jié)束 便得到此結(jié)構(gòu)塊的長度和高度 設(shè)a 和bi 分別為第f個字符的寬度和高度 結(jié)構(gòu)塊的寬度A 計算公式為 A 箭 結(jié)構(gòu)塊的高度 B 計算公式為 B max b b b 一 b i 1 2 3 n 針對角標類型結(jié)構(gòu) 在繪制角標字符時 需要將角標字符縮 小一倍 并且在垂 直方 向上移動一定的距離 以口 為例 在繪制 字符 2 時 首先要將字符2 的大小變?yōu)樵鹊囊话?然后再將起 始位置向上移動一定的距離 實現(xiàn)方法是調(diào)用transform C 1 C6 1方法 其中一對參數(shù)用來控制x Y 軸方向上的縮放比例 一 對參數(shù)控制x Y 軸方向平移的距離 以像素為單位 其中v 軸 向上平 移 的距 離為 角標 結(jié)構(gòu)塊 高度 的一半 其計 算公式 為 f B 4 3 分式 結(jié)構(gòu)控制 從圖2可以看出 分式是由2個結(jié)構(gòu)塊組成 分別表示分子 與分母 分式結(jié)構(gòu)的特點是 分子與分母在垂直方向排列 并且 分式線的長度隨著分子和長度的變化而變化 同時分子與分母在 其相應(yīng)的結(jié)構(gòu)塊中水平方向是以居中方式排列 由于在canvas 內(nèi)繪制圖形時 一旦繪制就無法將圖形移動 所以 在繪制之前 需要先對分子和分母結(jié)構(gòu)塊的寬度和高度進行計算 在繪制之 前先對繪制的起始位置進行平移 之后再進行繪制公式字符 分式結(jié)構(gòu)控制時 需要對 表示分式結(jié) 構(gòu) 內(nèi)容進行兩次遍歷 第一次遍歷的目的是獲得分子和分母 的寬度和高度 為分式的結(jié)構(gòu)偏移提供數(shù)據(jù) 第二次遍歷是進行 公式 內(nèi)容的繪制 設(shè)ai 和西 分別為 內(nèi)子節(jié)點的寬度和高度 9 學(xué)兔兔 w w w x u e t u t u c o m 數(shù)學(xué)公式結(jié)構(gòu)控制與顯示研究 高躍 等 h 為單個 字符 的高度 對于分子結(jié)構(gòu)塊 需要 向上移動的距 離 d max b b b 一 b 一 蕓 i 1 2 3 n 對于分母結(jié)構(gòu)塊 需要向下移動的距離 d2 m ax b1 b b3 b i l 2 3 n 確定了分子和分母的垂直平移距離后 為了使得分子和分 母都能夠居中 還需要計算水平的偏移距離 其原理是先計算 出分子和分母的長度 長度較長的結(jié)構(gòu)塊不進行水平平移 長度 較 短的結(jié)構(gòu)塊進行居 中 max E n n 一 mi n o o 較短結(jié)構(gòu)塊偏移的距離 d flI 上0 一 Z 第 二次遍歷后 依次繪制 出分子和分母 最后在分子與分母 之 間繪制 出分式線 分式線 的長度為較長的結(jié)構(gòu)塊長度 4 4 根 式 結(jié)構(gòu) 控 制 從 圖 2 可 以看 出 根 式結(jié)構(gòu)在開 2 次方根時有一 個結(jié)構(gòu)塊 在開n n 2 次方根時有兩個結(jié)構(gòu)塊 根號具有長度和高度都隨 內(nèi)容變化的特點 因此在繪制根號時需要計算出根號內(nèi)的內(nèi)容 的寬度和高度 根據(jù)內(nèi)容的寬度可以確定根號的長度 根據(jù)內(nèi) 容 的高度 可 以確定 根號在 v 軸 的縮放 比例 達到調(diào)整 大小 的 目 的 對于開 n n 2 次方根 的結(jié)構(gòu) 在繪制完根 號后 需要 向左平 移至根號左邊 然后進行 n 的繪制 4 5嵌套 結(jié)構(gòu)控制 嵌套結(jié)構(gòu)就 是幾種 結(jié)構(gòu)互相嵌套形成的一種復(fù)合結(jié)構(gòu) 在 我們 日常的學(xué)習(xí) 中 常見 的數(shù)學(xué)公式多為復(fù)合結(jié)構(gòu)的公式 例如一 元二次方程求根公 式 一 十 其 中包 括了分式結(jié)構(gòu) 根式結(jié)構(gòu)和角標結(jié)構(gòu)的嵌套 復(fù)合結(jié)構(gòu)的控制與單一結(jié)構(gòu)的控制原理相同 分析復(fù)合結(jié) 構(gòu) 的D O M 樹后 不難發(fā)現(xiàn)復(fù)合結(jié)構(gòu)在結(jié)構(gòu)節(jié) 點的子節(jié) 點中不僅 僅 只是 內(nèi)容節(jié)點 還 有結(jié)構(gòu)節(jié) 點 因此 在遍歷子節(jié)點時遇到結(jié) 構(gòu)節(jié)點 調(diào)用此結(jié)構(gòu)節(jié)點的控制函數(shù)即可實現(xiàn) 5總結(jié) 為 了使數(shù)學(xué) 公式能夠在 H TM L5 canvas 中顯示 從而 實現(xiàn) 數(shù)學(xué)公式 的w eb 顯示 提高公 式的重用 性 本 文對數(shù)學(xué) 公式的結(jié) 構(gòu)控制進 行 了重 點研 究 詳細分析 了各種 結(jié)構(gòu) 的特 點 并 闡述 了各種 結(jié)構(gòu)控 制原理和 實現(xiàn) 辦法 為實現(xiàn) 復(fù)雜數(shù) 學(xué)公式 的 web 顯示和理工科類 的數(shù)字化教學(xué)提供了有力 的支持 參考文獻 11 Rob Hawkes H TM L5 Canvas 基 礎(chǔ) 教 程 M 北 京 人 民 郵 電 出版 社 2 0 l 2 2 W 3CM athW orki ngG roup M athM L EB OL 2005 2 10 2012 10 25 http www w3 0rg M ath 3 Ni chol as c Zakas JavaScri pt高級程序設(shè)計 M 北 京 人 民郵電出版社 2 O 10 4 肖萃 數(shù)學(xué)公式結(jié)構(gòu)分析系統(tǒng)設(shè)計與關(guān)鍵方法研究fD 1 天津 南開大 學(xué) 2009 5 田學(xué)東 范好信 史青宣 張梅馨 印刷體數(shù)學(xué)公 式結(jié)構(gòu)分析的 一種方 法 l J1 計算 機工程 與應(yīng)用 6 趙燕娟 李廉 蘇偉 李冠宇 基于 M athM L的網(wǎng)絡(luò)數(shù)學(xué)公式編輯 器的實 現(xiàn) J1 計算機工程 2008 34 7 76 78 上接 第7 頁 4 結(jié)論 本文研 究 了一類 離散的不確 定切換模糊 組合系統(tǒng) 的 控 制 問題 利用多 Lyapunov 函數(shù)方法 給 出使 系統(tǒng)鎮(zhèn)定且 控 制 問題可解的矩陣不等式條件 并給出分散控制器和切換律的設(shè) 計方法 最后通過數(shù)值仿真例子驗證結(jié)論的有效性 參考文獻 1 Z hao J N i e H Suffici ent condi ti on s for i nput to state stab i l i ty of sw i tched system s J Acta Autom ati ca Si ni ca 2003 29 2 252 257 2 Sun Z D G e S S Sw itched Li near System s Control and D esi gn M Springer B erl i n H ei del berg N ew Y ork 2005 3 B rani eky M S M ul ti ple Lyapunov functi ons and other anal ysi s tool s fo r sw i m hed an d hybri d system s J IEEE Tran sacti ons A utom ati c Contro1 1998 43 4 475 482 4 G erm ai n G arci a Sophi e Tarbouri ech and Pedro L D Peres R obust K al 一 10 m an F i l teri ng for U ncertai n D i screte Ti m e L i near Sy stem s 1ntl l1 R ob ust N o n l i n ea r C o n tro l 2 0 0 3 1 3 12 2 5 12 3 8 5 M S M ahm oud L X i e G uarante

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論