基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方法
【技術領域】
[0001] 本發(fā)明涉及計算機制圖領域,特別涉及一種基于變量及數(shù)學表達式的動態(tài)幾何軟 件的實現(xiàn)方法。
【背景技術】
[0002] 目前,市面上流行的動態(tài)幾何軟件都是基于有向無環(huán)圖的方式來存儲幾何對象及 其之間的關系。用戶主動改變某個幾何對象時,系統(tǒng)首先會判定該幾何對象在有向無環(huán)圖 中的位置,如果當前的幾何對象沒有父節(jié)點,則直接移動該對象,并遍歷圖中的子孫元素, 根據(jù)相應的幾何關系移動,完成幾何元素的動態(tài)改變;如果當前的幾何對象有父節(jié)點,則向 上查找直到找到?jīng)]有父節(jié)點的元素進行移動,并遍歷圖中的子孫元素,然后根據(jù)相應的幾 何關系移動。但是基于有向無環(huán)圖的方式存儲幾何對象及對象之間的關系存在以下不足:
[0003] (1)在移動幾何元素的過程中只能按照系統(tǒng)預定義的約束關系來進行變換。例如, 系統(tǒng)預定義了中點的構造方法,用戶才能構造出兩點之間或線段的中點,如果系統(tǒng)未有充 分的預定義,用戶也無法構造出三等分點等特殊的幾何關系;
[0004] (2)用戶只能以自由點為基本單位進行變換,所有的幾何變換最終都是基于自由 點變換,因此在應用過程中具有很大的局限性。
【發(fā)明內(nèi)容】
[0005]【要解決的技術問題】
[0006] 本發(fā)明的目的是提供一種基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方法,以 解決目前的動態(tài)幾何軟件構造方法少以及應用局限大的問題。
[0007]【技術方案】
[0008] 本發(fā)明是通過以下技術方案實現(xiàn)的。
[0009] 本發(fā)明涉及一種基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方法,該方法包 括:
[0010] 步驟A:根據(jù)用戶構造的自由點的維數(shù)生成變量,并將生成的變量保存至變量庫;
[0011] 步驟B:根據(jù)用戶選擇的幾何關系的數(shù)學表達式生成幾何元素,所述幾何關系的 數(shù)學表達式為系統(tǒng)預定義的幾何關系對應的數(shù)學表達式或用戶輸入的自定義的數(shù)學表達 式;
[0012] 步驟C:為自由點或幾何元素選定影響變量,所述影響變量的維數(shù)與自由點或幾 何元素的維數(shù)相同;
[0013] 步驟D :當移動自由點或幾何元素時,根據(jù)自由點或幾何元素的移動位移計算影 響變量的最新值,然后計算出所有與影響變量相關的數(shù)學表達式的最新值。
[0014] 作為一種優(yōu)選的實施方式,所述方法還包括步驟E :
[0015] 初始化變量滑竿,從變量庫中選擇關聯(lián)變量,將變量滑竿與選擇的關聯(lián)變量進行 關聯(lián);
[0016] 作為另一種優(yōu)選的實施方式,當拖動變量滑竿時,根據(jù)變量滑竿的移動位移計算 關聯(lián)變量的最新值,然后計算出所有與關聯(lián)變量相關的數(shù)學表達式的最新值。
[0017] 作為另一種優(yōu)選的實施方式,所述步驟B還包括:為用戶選擇的幾何關系的數(shù)學 表達式分配變量名并保存至變量庫。
[0018] 作為另一種優(yōu)選的實施方式,所述初始化變量滑竿具體包括:設置變量滑竿最大 值、最小值和步長。
[0019] 作為另一種優(yōu)選的實施方式,所述步驟C還包括:如果所選擇的影響變量的個數(shù) 大于1,則設置每個影響變量的權重系數(shù)。
[0020] 作為另一種優(yōu)選的實施方式,所述自由點的維數(shù)為2或3。
[0021] 【有益效果】
[0022] 本發(fā)明提出的技術方案具有以下有益效果:
[0023] (1)無需再用有向無環(huán)圖存儲幾何元素及幾何元素之間的關系,降低了復雜度;
[0024] (2)對幾何元素的控制可以精確到控制某個變量,而不是以自由點為基礎單位,因 此增大了應用范圍;
[0025] (3)用戶可以通過自定義表達式來構造系統(tǒng)未預定義的特殊幾何關系,因此應用 更靈活。
【附圖說明】
[0026] 圖1為本發(fā)明實施例一提供的基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方 法的流程圖。
[0027] 圖2為本發(fā)明實施例二提供的基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方 法的流程圖。
【具體實施方式】
[0028] 為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明的具體 實施方式進行清楚、完整的描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是 全部實施例,也不是對本發(fā)明的限制?;诒景l(fā)明的實施例,本領域普通技術人員在不付出 創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。
[0029] 圖1為本發(fā)明實施例一提供的基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方 法的流程圖,如圖1所示,該方法包括步驟S11至步驟S16,下面分別對步驟S11至步驟S16 進行詳細說明。
[0030] 步驟S11 :根據(jù)用戶構造的自由點的維數(shù)生成變量,并將生成的變量保存至變量 庫。
[0031]具體地,本實施例中,用戶構造兩個自由點A(xl,yl,zl)、B(x2,y2,z2),由于每個 自由點的維數(shù)均為三維,因此生成六個變量xl,yl,zl,x2,y2,z2,其中變量xl、yl、zl用于 表示A點的x軸坐標、y軸坐標和z軸坐標,變量x2、y2、z2用于表示B點的x軸坐標、y軸 坐標和z軸坐標,并把這六個變量存儲至變量庫D1中。
[0032] 步驟S12:根據(jù)用戶選擇的幾何關系的數(shù)學表達式生成幾何元素。
[0033] 具體地,選擇系統(tǒng)預定義的幾何關系對應的數(shù)學表達式作為變量之間的幾何關 系,本實施例中,選擇系統(tǒng)預定義的構造中點功能,構造A、B兩點的中點C,此時C的坐標為 由A、B兩點坐標的變量組成的表達式:需要說明,本發(fā)明中的幾 何元素包括具有幾何特征的點、線段、圓弧等等。另外,選擇系統(tǒng)預定義的幾何關系對應的 數(shù)學表達式作為變量之間的幾何關系時,會為該表達式分配一個變量,該變量名稱可以是 V001、V002等,同時會將該變量保存至變量庫,這樣在后續(xù)應用過程中系統(tǒng)預定義的幾何關 系也可作為基本變量使用。
[0034]步驟S13:當移動幾何元素時,在變量庫中選擇影響變量。
[0035] 移動C點時(將C點向x軸方向移動a單位的位移、向y軸方向移動b單位的位 移、向z軸方向移動c單位的位移),用戶將選擇由哪個變量引起坐標的變化,本實施例中選 擇xl作為影響x軸坐標變化的影響變量、yl作為影響y軸坐標變化的影響變量、zl作為影 響z軸坐標變化的影響變量。
[0036]步驟S14:根據(jù)幾何元素的移動位移計算出影響變量的最新值。
[0037] 步驟S13將C點向x軸方向移動a單位的位移、向y軸方向移動b單位的位移、向z 軸方向移動c單位的位移,貝1」影響變量的最新值xl=xl+2*a,yl=yl+2*b,zl=zl+2*c。 由于選擇A點的坐標對應的變量為影響變量,因此移動C點時,只會影響A點的位置變化,B 點的位置保持不變。需要說明,本實施例選擇xl、yl、zl為影響變量,若選擇x2、y2、z2為 影響變量,則移動C點分別向x軸、y軸、z軸方向移動a單位、b單位、c單位的位移后,影 響變量x2 =x2+2*a,y2 =y2+2*b,z2 =z2+2*c。另外,用戶還可同時選擇xl、x2作為影 響x軸變化的變量,此時需要設置兩個影響變量的權重系數(shù),這時移動C點時,A點和B點 都會根據(jù)相應的權重系數(shù)進行位移。
[0038] 步驟S15 :計算出所有與影響變量相關的數(shù)學表達式的最新值。
[0039]具體地,根據(jù)C點坐標表達式;
【主權項】
1. 一種基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方法,其特征在于包括: 步驟A :根據(jù)用戶構造的自由點的維數(shù)生成變量,并將生成的變量保存至變量庫; 步驟B:根據(jù)用戶選擇的幾何關系的數(shù)學表達式生成幾何元素,所述幾何關系的數(shù)學 表達式為系統(tǒng)預定義的幾何關系對應的數(shù)學表達式或用戶輸入的自定義的數(shù)學表達式; 步驟C :為自由點或幾何元素選定影響變量,所述影響變量的維數(shù)與自由點或幾何元 素的維數(shù)相同; 步驟D :當移動自由點或幾何元素時,根據(jù)自由點或幾何元素的移動位移計算影響變 量的最新值,然后計算出所有與影響變量相關的數(shù)學表達式的最新值。
2. 根據(jù)權利要求1所述的基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方法,其特征 在于所述方法還包括步驟E : 初始化變量滑竿,從變量庫中選擇關聯(lián)變量,將變量滑竿與選擇的關聯(lián)變量進行關 聯(lián); 當拖動變量滑竿時,根據(jù)變量滑竿的移動位移計算關聯(lián)變量的最新值,然后計算出所 有與關聯(lián)變量相關的數(shù)學表達式的最新值。
3. 根據(jù)權利要求2所述的基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方法,其特征 在于所述初始化變量滑竿具體包括:設置變量滑竿最大值、最小值和步長。
4. 根據(jù)權利要求1至3中任一所述的基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方 法,其特征在于所述步驟B還包括:為用戶選擇的幾何關系的數(shù)學表達式分配變量名并保 存至變量庫。
5. 根據(jù)權利要求中1至3中任一所述的基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn) 方法,其特征在于所述步驟C還包括:如果所選擇的影響變量的個數(shù)大于1,則設置每個影 響變量的權重系數(shù)。
6. 根據(jù)權利要求1所述的基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方法,其特征 在于所述自由點的維數(shù)為2或3。
【專利摘要】本發(fā)明涉及計算機制圖領域,提供一種基于變量及數(shù)學表達式的動態(tài)幾何軟件的實現(xiàn)方法,以解決目前的動態(tài)幾何軟件構造方法少以及應用局限大的問題,該方法主要包括:建立動態(tài)添加的變量庫;構造約束關系;指定幾何元素或滑竿與相關變量的影響關系,調(diào)節(jié)變量實際值。本發(fā)明提出的技術方案對幾何元素的控制可以精確到控制某個變量,而不是以自由點為基礎單位,因此增大了應用范圍。
【IPC分類】G06F17-00
【公開號】CN104615578
【申請?zhí)枴緾N201510069704
【發(fā)明人】管皓
【申請人】成都遠策數(shù)碼科技有限公司
【公開日】2015年5月13日
【申請日】2015年2月10日