三維作圖系統(tǒng)及其程序的制作方法
【專利摘要】本發(fā)明提供一種三維作圖系統(tǒng)及其程序,能夠以簡(jiǎn)便的操作從斜視狀態(tài)達(dá)到正視所希望的面的狀態(tài)。三維作圖系統(tǒng)具備正視工具,根據(jù)輸入操作來(lái)顯示圖形數(shù)據(jù)中包含的物體的特定面的正視畫(huà)面,所述正視工具具備:操作檢測(cè)機(jī)構(gòu),檢測(cè)輸入操作的內(nèi)容、量、方向或坐標(biāo);物體檢測(cè)機(jī)構(gòu),確定與進(jìn)行輸入操作時(shí)的畫(huà)面法線交叉或靠近的物體;斜角判斷機(jī)構(gòu),檢測(cè)與輸入操作中的畫(huà)面法線的交叉角度在規(guī)定角度以內(nèi)的特定向量;以及旋轉(zhuǎn)機(jī)構(gòu),根據(jù)操作檢測(cè)機(jī)構(gòu)的檢測(cè)信息使包括圖形數(shù)據(jù)的編輯空間相對(duì)于視線旋轉(zhuǎn),并且,在輸入操作的結(jié)束時(shí)檢測(cè)出特定向量的情況下,使包括圖形數(shù)據(jù)的編輯空間相對(duì)于視線旋轉(zhuǎn)以使該特定向量與畫(huà)面法線平行。
【專利說(shuō)明】三維作圖系統(tǒng)及其程序
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及以三維進(jìn)行圖形的編輯處理(作圖)的作圖系統(tǒng)及其程序。
【背景技術(shù)】
[0002] 到目前為止,對(duì)于三維作圖系統(tǒng),提供的是能夠使X軸、Y軸或者Z軸旋轉(zhuǎn)并進(jìn)行 編輯作業(yè)的作圖系統(tǒng)。
[0003] 以往的三維作圖系統(tǒng)是通過(guò)鼠標(biāo)拖動(dòng)、鍵操作而能夠改變作圖得到的物體的朝向 的作圖系統(tǒng),顯示方向?yàn)樾币?、從XYZ軸方向觀察的正面圖、立面圖。
[0004] 其中,也存在下述作圖系統(tǒng):斜視能夠通過(guò)繼續(xù)鼠標(biāo)拖動(dòng)、鍵操作來(lái)進(jìn)行其角度調(diào) 整直到達(dá)到預(yù)期的方向而得到,從XYZ軸方向觀察的正面圖、立面圖的正視能夠通過(guò)確定 的鍵輸入而得到(例如,參照下述專利文獻(xiàn))。
[0005] 專利文獻(xiàn)1 :日本特開(kāi)平07-105263號(hào)公報(bào)
[0006] 專利文獻(xiàn)2 :日本特開(kāi)2002-74400號(hào)公報(bào)
[0007] 然而,以所述公報(bào)記載的技術(shù)為首的現(xiàn)有的方法存在下述問(wèn)題:在斜視狀態(tài)下的 編輯的過(guò)程中變?yōu)檎暊顟B(tài)的情況下,不得不停止拖動(dòng)操作,按下被分配了變?yōu)檎暊顟B(tài) 的功能的按鈕,為了從當(dāng)前的斜視狀態(tài)變?yōu)槟繕?biāo)的正視狀態(tài),作業(yè)者必須自己判斷物體的 局部坐標(biāo)系中的W軸、U軸、V軸中的哪一個(gè)最靠近畫(huà)面的法線(U-V平面、V-W平面、W-U平 面(以下,記作"基準(zhǔn)面")中的哪一個(gè)最靠近畫(huà)面)來(lái)進(jìn)行操作。
[0008] 具體來(lái)說(shuō),為了顯示建筑物,使其旋轉(zhuǎn)以便能夠從正面正視右側(cè)面,必須拖動(dòng)旋轉(zhuǎn) 以使U軸朝向正面。雖然通過(guò)這樣的操作,畫(huà)面與U軸大致垂直,達(dá)到接近正視V-W平面的 狀態(tài),然而,由于難以達(dá)到準(zhǔn)確的垂直,因此有時(shí)也會(huì)看到不希望看到的面。
[0009] 因此,雖然也存在通過(guò)啟動(dòng)顯示正視最近的面的圖像的功能的鍵輸入,能夠顯示 完整的正視圖像的CAD,不過(guò),難以一開(kāi)始就認(rèn)識(shí)到注視的面是由U軸、V軸或者W軸構(gòu)成的 哪個(gè)面,經(jīng)常存在需要多次重新進(jìn)行鍵輸入的情況。
[0010] 特別地,在想要正視相對(duì)于所述基準(zhǔn)面傾斜的面的情況下,存在下述問(wèn)題:必須使 拖動(dòng)操作的旋轉(zhuǎn)角度以例如90度的約數(shù)的角度為單位針對(duì)各軸進(jìn)行繁瑣的旋轉(zhuǎn)操作。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明正是鑒于上述情況而完成的,其目的在于提供一種三維作圖系統(tǒng)及其程 序,能夠以簡(jiǎn)便的操作從斜視狀態(tài)達(dá)到正視所希望的面的狀態(tài)。
[0012] 為了解決上述課題而完成的本發(fā)明的三維作圖系統(tǒng),組合能夠進(jìn)行計(jì)算機(jī)處理的 圖形數(shù)據(jù)并進(jìn)行作圖,其特征在于,具備正視工具,根據(jù)輸入操作來(lái)顯示圖形數(shù)據(jù)中包含的 物體的特定面的正視畫(huà)面,所述正視工具具備:操作檢測(cè)機(jī)構(gòu),檢測(cè)輸入操作的內(nèi)容、量、方 向或坐標(biāo);物體檢測(cè)機(jī)構(gòu),確定與進(jìn)行所述輸入操作時(shí)的畫(huà)面法線交叉或靠近的物體;斜 角判斷機(jī)構(gòu),從由所述物體檢測(cè)機(jī)構(gòu)確定的物體所具備的向量中檢測(cè)與所述輸入操作中的 所述畫(huà)面法線的交叉角度在規(guī)定角度以內(nèi)的特定向量;以及旋轉(zhuǎn)機(jī)構(gòu),根據(jù)所述操作檢測(cè) 機(jī)構(gòu)的檢測(cè)信息使包括所述圖形數(shù)據(jù)的編輯空間相對(duì)于視線旋轉(zhuǎn),并且,在所述輸入操作 結(jié)束時(shí)檢測(cè)出所述特定向量的情況下,使包括所述圖形數(shù)據(jù)的編輯空間相對(duì)于視線旋轉(zhuǎn)以 使所述特定向量與所述畫(huà)面法線平行。
[0013] 為了解決上述課題而完成的本發(fā)明的三維作圖程序,組合能夠進(jìn)行計(jì)算機(jī)處理的 圖形數(shù)據(jù)并進(jìn)行作圖,其特征在于,使計(jì)算機(jī)作為組合能夠進(jìn)行計(jì)算機(jī)處理的圖形數(shù)據(jù)并 進(jìn)行作圖的三維作圖系統(tǒng)發(fā)揮作用,所述三維作圖系統(tǒng)具備正視工具,根據(jù)輸入操作來(lái)顯 示圖形數(shù)據(jù)中包含的物體的特定面的正視畫(huà)面,所述正視工具具備:操作檢測(cè)機(jī)構(gòu),檢測(cè)輸 入操作的內(nèi)容、量、方向或坐標(biāo);物體檢測(cè)機(jī)構(gòu),確定與進(jìn)行所述輸入操作時(shí)的畫(huà)面法線交 叉或靠近的物體;斜角判斷機(jī)構(gòu),從由所述物體檢測(cè)機(jī)構(gòu)確定的物體所具備的向量中檢測(cè) 與所述輸入操作中的所述畫(huà)面法線的交叉角度在規(guī)定角度以內(nèi)的特定向量;以及旋轉(zhuǎn)機(jī) 構(gòu),根據(jù)所述操作檢測(cè)機(jī)構(gòu)的檢測(cè)信息使包括所述圖形數(shù)據(jù)的編輯空間相對(duì)于視線旋轉(zhuǎn), 并且,在所述輸入操作結(jié)束時(shí)檢測(cè)出所述特定向量的情況下,使包括所述圖形數(shù)據(jù)的編輯 空間相對(duì)于視線旋轉(zhuǎn)以使所述特定向量與所述畫(huà)面法線平行。
[0014] 優(yōu)選構(gòu)成為,作為所述三維作圖系統(tǒng)或所述三維作圖程序的旋轉(zhuǎn)機(jī)構(gòu),還具備:斜 角判斷機(jī)構(gòu),從由所述物體檢測(cè)機(jī)構(gòu)確定的物體所具備的向量中檢測(cè)與所述輸入操作中的 畫(huà)面坐標(biāo)軸的交叉角度在規(guī)定角度以內(nèi)的特定向量;以及旋轉(zhuǎn)機(jī)構(gòu),使包括所述圖形數(shù)據(jù) 的編輯空間以所述畫(huà)面法線為軸旋轉(zhuǎn),以使由所述物體檢測(cè)機(jī)構(gòu)確定的物體的局部坐標(biāo)軸 或者實(shí)坐標(biāo)軸與所述畫(huà)面坐標(biāo)軸平行。
[0015] 另外,所述畫(huà)面法線指的是,通過(guò)由所述輸入操作移動(dòng)的光標(biāo)的位置的畫(huà)面的法 線(指示垂線)、或者通過(guò)編輯畫(huà)面的中央的畫(huà)面的法線(中央法線)。
[0016] 作為所述特定向量,可以采用實(shí)坐標(biāo)軸或者所述物體的局部坐標(biāo)軸、面法線、材料 軸線或鋼筋布置方向等。不拘泥于所述面法線的理由是,例如,在正視處于傾斜狀態(tài)的建 筑構(gòu)件的構(gòu)成要素時(shí),將該物體的局部坐標(biāo)或?qū)嵶鴺?biāo)的軸作為特定向量,存在不僅想看到 該構(gòu)成要素固有的正視畫(huà)面,而且希望從正面和側(cè)面觀察組裝到建筑構(gòu)件中的狀態(tài)的情 況。
[0017] 作為所述輸入操作,可以列舉出利用鼠標(biāo)等的拖動(dòng)操作、飛梭控制器 (jog-shuttle)等的操作。
[0018] 如上所述,根據(jù)本發(fā)明的三維作圖系統(tǒng)及其程序,通過(guò)使包括應(yīng)在顯示器畫(huà)面顯 示的物體的編輯空間以吸附于特定向量的形式旋轉(zhuǎn),能夠調(diào)整對(duì)在編輯空間中作圖的所有 物體及其相關(guān)的所有向量的視線。
[0019] 例如,能夠僅通過(guò)特定操作的開(kāi)始和結(jié)束的操作來(lái)實(shí)現(xiàn)實(shí)坐標(biāo)系的Z軸、X軸或者 Y軸任意一個(gè)方向的正視圖像,即使是局部坐標(biāo)系的W軸、U軸或V軸任意一個(gè)方向的正視 圖像,也能夠僅通過(guò)拖動(dòng)等特定操作的開(kāi)始、持續(xù)中以及結(jié)束的操作來(lái)實(shí)現(xiàn)。
[0020] 具體來(lái)說(shuō),即使是向編輯的物體具有的各面的法線方向、材料軸線方向或者鋼筋 布置方向的正視圖像,也能夠僅通過(guò)所述特定操作以及結(jié)束的操作來(lái)表現(xiàn)。
[0021] 而且,能夠通過(guò)預(yù)定輸出通知用戶在所述特定操作中接近正視狀態(tài)的事實(shí),用戶 能夠適當(dāng)指定發(fā)出該預(yù)定輸出的角度閾值。
【專利附圖】
【附圖說(shuō)明】
[0022] 圖1是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的正視工具的處理的一例的流程 圖。
[0023] 圖2是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的正視工具的通過(guò)輸入操作進(jìn)行 的處理的一例的流程圖。
[0024] 圖3是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的伴隨著拖動(dòng)標(biāo)志的變化的處理 的分配的一例的流程圖。
[0025] 圖4是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的正視工具的旋轉(zhuǎn)對(duì)象在(A):拖 動(dòng)開(kāi)始時(shí);(B):拖動(dòng)持續(xù)時(shí);以及(C)拖動(dòng)結(jié)束時(shí)進(jìn)行的處理的一例的流程圖。
[0026] 圖5是說(shuō)明本發(fā)明的三維作圖系統(tǒng)及其程序中的正視工具的旋轉(zhuǎn)對(duì)象的動(dòng)作的 說(shuō)明圖。
[0027] 圖6是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的正視對(duì)象在(A):拖動(dòng)開(kāi)始時(shí);以 及(B):拖動(dòng)持續(xù)時(shí)進(jìn)行的處理的一例的流程圖。
[0028] 圖7是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的正視對(duì)象在拖動(dòng)結(jié)束時(shí)進(jìn)行的 處理的一例的流程圖。
[0029] 圖8是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的顯示對(duì)象的處理的一例的說(shuō)明 圖。
[0030] 圖9是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的正視工具的立體正視處理的一 例的說(shuō)明圖。
[0031] 圖10是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的正視工具的水平正視處理的一 例的說(shuō)明圖。
[0032] 圖11是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的畫(huà)面法線與顯示在編輯畫(huà)面中 的現(xiàn)有的物體的關(guān)系的一例的說(shuō)明圖。
[0033] 圖12是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的畫(huà)面法線與顯示在編輯畫(huà)面中 的現(xiàn)有的物體及實(shí)坐標(biāo)的關(guān)系的一例的說(shuō)明圖。
[0034] 圖13是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的畫(huà)面法線與顯示在編輯畫(huà)面中 的交叉物的交叉面的關(guān)系的一例的說(shuō)明圖。
[0035] 圖14是示出本發(fā)明的三維作圖系統(tǒng)的硬件結(jié)構(gòu)的一例的說(shuō)明圖。
[0036] 圖15是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的正視工具采用的物體對(duì)象的內(nèi) 容的一例的說(shuō)明圖。
[0037] 圖16是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的正視對(duì)象中的旋轉(zhuǎn)中心標(biāo)志的 閃爍處理的一例的流程圖。
[0038] 圖17是示出本發(fā)明的三維作圖系統(tǒng)及其程序中的數(shù)據(jù)處理推移的一例的流程 圖。
[0039] 標(biāo)號(hào)說(shuō)明
[0040] 1 :輸入裝置;2 :控制裝置;3 :輸出裝置;4 :記錄裝置。
【具體實(shí)施方式】
[0041] 以下,示出附圖并詳細(xì)說(shuō)明本發(fā)明的三維作圖系統(tǒng)(以下,記作作圖系統(tǒng))及其程 序的一種實(shí)施方式。
[0042] 圖14所示的例子為,通過(guò)計(jì)算機(jī)系統(tǒng)組合能夠進(jìn)行計(jì)算機(jī)處理的圖形數(shù)據(jù)并進(jìn) 行作圖的作圖系統(tǒng),其構(gòu)成為具備輸入裝置1、控制裝置2、輸出裝置3以及記錄裝置4。 [0043] 所述輸入裝置1是鍵盤(pán)、指示設(shè)備等通過(guò)用戶的操作輸入控制裝置能夠讀取的數(shù) 據(jù)的裝置。
[0044] 所述控制裝置2是在包括CPU、存儲(chǔ)器以及輸入/輸出接口的硬件中安裝使計(jì)算機(jī) 系統(tǒng)作為作圖系統(tǒng)發(fā)揮作用的三維作圖程序(以下,記作作圖程序。)的控制裝置。
[0045] 所述輸出裝置3是以能夠觀察的方式顯示所編輯的圖形的顯示器裝置、在紙面上 印刷的打印機(jī)等。
[0046] 記錄裝置4是硬盤(pán)、USB存儲(chǔ)器等各種記錄介質(zhì)。
[0047] 該計(jì)算機(jī)系統(tǒng)的例子為,通過(guò)上述結(jié)構(gòu),啟動(dòng)所述硬盤(pán)中保存的應(yīng)用程序(作圖 程序)來(lái)發(fā)揮作為作圖系統(tǒng)的功能。
[0048] 編輯的圖形數(shù)據(jù)通過(guò)對(duì)由各種記錄介質(zhì)構(gòu)成的記錄裝置4的讀取、經(jīng)過(guò)所述輸入 裝置1的操作來(lái)進(jìn)行相對(duì)于作圖系統(tǒng)的輸入或保存。
[0049] 所述圖形數(shù)據(jù)的編輯處理使用所述作圖系統(tǒng)中配備的工具(函數(shù))和由輸入裝置 1得到的位置數(shù)據(jù)或素材數(shù)據(jù)等進(jìn)行。
[0050] 為了進(jìn)行如上所述的編輯處理,所述作圖系統(tǒng)具備:將具備單個(gè)或相關(guān)的多個(gè)操 作項(xiàng)目的多個(gè)工具箱分層級(jí)地組合而成的數(shù)據(jù)(工具數(shù)據(jù));分配給所述操作項(xiàng)目的特定 函數(shù)的數(shù)據(jù)(函數(shù)數(shù)據(jù));選擇機(jī)構(gòu),通過(guò)對(duì)操作項(xiàng)目的輸入操作(以下,記作"點(diǎn)擊"或者 "加壓"),顯示分配給所述操作項(xiàng)目的下位層級(jí)的工具箱或者啟動(dòng)分配給所述操作項(xiàng)目的 特定函數(shù);運(yùn)算機(jī)構(gòu),利用啟動(dòng)的函數(shù)執(zhí)行所需的運(yùn)算;以及工具管理機(jī)構(gòu),通過(guò)所述操作 項(xiàng)目的新選擇,解除未被選擇的同層級(jí)的操作項(xiàng)目的選擇,并且解除作為所解除的操作項(xiàng) 目的下位層級(jí)存在的工具箱的選擇和顯示。
[0051] 所述工具函數(shù)根據(jù)其處理內(nèi)容從所述輸入裝置1取得通過(guò)用戶的編輯操作產(chǎn)生 的位置數(shù)據(jù)、素材數(shù)據(jù)等編輯所需的各種數(shù)據(jù)作為所述工具函數(shù)的參數(shù)等,通過(guò)所述運(yùn)算 機(jī)構(gòu)實(shí)施該工具函數(shù)預(yù)定的運(yùn)算處理并將得到的圖形數(shù)據(jù)保存到存儲(chǔ)器或記錄裝置4。
[0052] 并且,本例具有的正視工具具備坐標(biāo)檢測(cè)機(jī)構(gòu)、操作檢測(cè)機(jī)構(gòu)、物體檢測(cè)機(jī)構(gòu)、斜 角判斷機(jī)構(gòu)以及旋轉(zhuǎn)機(jī)構(gòu),以能夠僅靠拖動(dòng)等特定操作實(shí)現(xiàn)從作圖空間的坐標(biāo)軸方向、該 物體所具有的各面的法線方向、材料軸線方向或者鋼筋布置方向等觀察的正視圖像。
[0053] 為了使所述正視工具發(fā)揮作用,在該例子中,處理分別屬于實(shí)坐標(biāo)系、鼠標(biāo)坐標(biāo)系 (輸入操作的坐標(biāo))系、畫(huà)面坐標(biāo)系以及局部坐標(biāo)系的四種坐標(biāo)。
[0054] 所述實(shí)坐標(biāo)系的坐標(biāo)(實(shí)坐標(biāo))指的是該作圖系統(tǒng)所具有的整個(gè)作圖空間的三維 正交坐標(biāo)(X、Y、Z)。
[0055] 其他坐標(biāo)系的原點(diǎn)的位置、大小與所述實(shí)坐標(biāo)系不一致,并且所述實(shí)坐標(biāo)系以外 的各個(gè)坐標(biāo)系彼此也不一致。
[0056] 所述鼠標(biāo)坐標(biāo)系的坐標(biāo)指的是,通過(guò)鼠標(biāo)等輸入設(shè)備的輸入操作形成的具有固定 的分辨率的平面的坐標(biāo)(V、H)。
[0057] 所述畫(huà)面坐標(biāo)系的坐標(biāo)指的是,由在所述實(shí)坐標(biāo)空間中存在的視點(diǎn)、視線方向和 向上向量決定,以由顯示器裝置的編輯畫(huà)面的外緣分割的視椎臺(tái)(View Frustum)的前表面 作為x-y基準(zhǔn)面,且在所述視線方向具有進(jìn)深的空間的三維正交坐標(biāo)系的坐標(biāo)(X,y,z), 以在所述實(shí)坐標(biāo)空間存在的視點(diǎn)作為原點(diǎn),以視線作為所述基準(zhǔn)面(x-y平面)的法線(z 軸)。
[0058] S卩,實(shí)坐標(biāo)系和畫(huà)面坐標(biāo)系能夠利用決定觀察實(shí)坐標(biāo)系空間(在本例中為編輯空 間)的視線的"視線移動(dòng)旋轉(zhuǎn)矩陣"的正反矩陣相互變換。
[0059] 另外,上述矩陣和以下的說(shuō)明中使用的矩陣是仿射變換矩陣。
[0060] 所述局部坐標(biāo)系的坐標(biāo)指的是以各對(duì)象隔開(kāi)的空間固有的材料軸線、鋼筋布置方 向等為軸的三維正交坐標(biāo)系的坐標(biāo)。
[0061] 〈坐標(biāo)檢測(cè)機(jī)構(gòu)〉
[0062] 所述坐標(biāo)檢測(cè)機(jī)構(gòu)從所述位置數(shù)據(jù)檢測(cè)通過(guò)使用鼠標(biāo)等輸入裝置的輸入操作而 變化的在編輯畫(huà)面顯示的光標(biāo)(例如,參照?qǐng)D5(A)。)的畫(huà)面坐標(biāo)。
[0063] 〈操作檢測(cè)機(jī)構(gòu)〉
[0064] 所述操作檢測(cè)機(jī)構(gòu)通過(guò)所述畫(huà)面坐標(biāo)的變化檢測(cè)輸入操作的內(nèi)容、量或者方向。
[0065] 例如,輸入操作(輸入裝置1中的點(diǎn)下或加壓或者鍵輸入等)以及輸入操作的解 除(輸入裝置1中的、松開(kāi)或加壓解除或者鍵輸入等)以及進(jìn)行該輸入操作及其解除的位 置坐標(biāo)、或者位置坐標(biāo)的變化、或者由此導(dǎo)出的操作方向等是其檢測(cè)對(duì)象。
[0066] 〈鼠標(biāo)對(duì)象〉
[0067] 鼠標(biāo)對(duì)象是本例中構(gòu)成所述函數(shù)數(shù)據(jù)的對(duì)象的一個(gè),其具備將所述視點(diǎn)(光標(biāo) 等)的位置坐標(biāo)從所述鼠標(biāo)坐標(biāo)系變換至所述畫(huà)面坐標(biāo)系的變換矩陣,接收由所述坐標(biāo)檢 測(cè)機(jī)構(gòu)和所述操作檢測(cè)機(jī)構(gòu)檢測(cè)出的鼠標(biāo)(輸入裝置1)的輸入操作的具體的操作信息 (包括位置坐標(biāo)),并如下所述地使拖動(dòng)標(biāo)志變化。
[0068] 該例子的鼠標(biāo)對(duì)象利用所述鼠標(biāo)坐標(biāo)系進(jìn)行該對(duì)象的內(nèi)部數(shù)據(jù)的處理,在將該鼠 標(biāo)對(duì)象的處理結(jié)果傳給其他對(duì)象時(shí),將所述處理結(jié)果變換為實(shí)坐標(biāo)系。
[0069] 該例子中的所述鼠標(biāo)對(duì)象將鼠標(biāo)的輸入操作通過(guò)所述變換矩陣從鼠標(biāo)坐標(biāo)系變 換為畫(huà)面坐標(biāo)系,通過(guò)所述坐標(biāo)檢測(cè)機(jī)構(gòu)檢測(cè)開(kāi)始所述輸入操作的光標(biāo)位置的畫(huà)面坐標(biāo), 將該畫(huà)面坐標(biāo)作為起點(diǎn)坐標(biāo)PO保存(參照?qǐng)D2和圖5 (A)),鼠標(biāo)的所述輸入操作繼續(xù)而其 位置變化,與此相伴地,基于從所述坐標(biāo)檢測(cè)機(jī)構(gòu)得到的變化中的位置坐標(biāo)通過(guò)所述運(yùn)算 機(jī)構(gòu)依次計(jì)算到所述起點(diǎn)坐標(biāo)的距離L并進(jìn)行保存,當(dāng)檢測(cè)出該距離為隔開(kāi)規(guī)定距離以上 時(shí)將拖動(dòng)標(biāo)志置為〇N(參照?qǐng)D2(B)),利用從所述操作檢測(cè)機(jī)構(gòu)得到的鼠標(biāo)的輸入操作的 解除的檢測(cè),通過(guò)所述坐標(biāo)檢測(cè)機(jī)構(gòu)檢測(cè)該位置的畫(huà)面坐標(biāo)并進(jìn)行保存,將拖動(dòng)標(biāo)志置為 OFF (參照?qǐng)D 2(C))。
[0070] 〈物體檢測(cè)機(jī)構(gòu)〉
[0071] 所述物體檢測(cè)機(jī)構(gòu)從利用所述編輯操作作為圖形數(shù)據(jù)登記的物體(以下,記作 "登記物")檢測(cè)與畫(huà)面法線交叉的物體(交叉物)(參照?qǐng)D11或圖13),在無(wú)法檢測(cè)出所 述交叉物的情況下,將編輯空間(在該例子中為實(shí)坐標(biāo)系空間,不過(guò)根據(jù)需要也可以是相 對(duì)于實(shí)坐標(biāo)系空間存在預(yù)期的傾斜、移動(dòng)的其他三維空間)的基準(zhǔn)面看作是物體并檢測(cè)與 該基準(zhǔn)面的交叉點(diǎn)的實(shí)坐標(biāo)(參照?qǐng)D8和圖12)。
[0072] 所述物體檢測(cè)機(jī)構(gòu)在進(jìn)行編輯的所述編輯畫(huà)面中,首先將所述畫(huà)面法線以所述畫(huà) 面坐標(biāo)定義,將該畫(huà)面法線的軌跡通過(guò)變換矩陣變換為實(shí)坐標(biāo),通過(guò)與所述登記物的位置 坐標(biāo)(實(shí)坐標(biāo))進(jìn)行比較,檢測(cè)與該畫(huà)面法線的軌跡交叉的物體(參照?qǐng)D8)。
[0073] 另外,在未檢測(cè)出與所述畫(huà)面法線的軌跡交叉的物體的情況下,也可以是,在進(jìn)行 將所述編輯基準(zhǔn)面看作物體的處理之前,對(duì)相對(duì)于該畫(huà)面法線離開(kāi)一定距離的附近也以假 想的畫(huà)面法線圓形掃描,進(jìn)行檢測(cè)與該假想的畫(huà)面法線相交的物體以及此時(shí)的交點(diǎn)的處 理。
[0074] 所述基準(zhǔn)面指的是通過(guò)實(shí)坐標(biāo)系的原點(diǎn),法線指向X軸、Y軸、Z軸的三個(gè)面的面。 在所述畫(huà)面法線與多個(gè)基準(zhǔn)面交叉的情況下,將與所述編輯畫(huà)面最近的點(diǎn)和X軸、Y軸、Z軸 方向作為向量檢測(cè)出來(lái)。
[0075] 本例中的畫(huà)面法線為所述中央法線,是從所述編輯畫(huà)面的中央的位置朝向該編輯 畫(huà)面的進(jìn)深方向的向量。該向量以由其起點(diǎn)坐標(biāo)(x〇,y〇,zO)和終點(diǎn)坐標(biāo)(x0,y0,-zn)構(gòu) 成的所述畫(huà)面坐標(biāo)系表示,并將其作為通過(guò)所述變換矩陣(視線移動(dòng)旋轉(zhuǎn)矩陣的逆矩陣) 變換為實(shí)坐標(biāo)的實(shí)坐標(biāo)系向量使用(參照?qǐng)D12 :顯示對(duì)象)。
[0076] 所述視線移動(dòng)旋轉(zhuǎn)矩陣為用于將以所述物體交點(diǎn)作為視點(diǎn)(旋轉(zhuǎn)的中心)的視線 的旋轉(zhuǎn)運(yùn)動(dòng)(或者所述編輯空間的逆旋轉(zhuǎn)移動(dòng))作為顯示方向反映的矩陣,通過(guò)與將處于 實(shí)坐標(biāo)空間的物體投影到編輯畫(huà)面的投影矩陣相乘來(lái)生成射影矩陣Ms。
[0077] 該例子中的所述物體檢測(cè)機(jī)構(gòu)通過(guò)所述選擇機(jī)構(gòu)選擇正視工具,所述拖動(dòng)標(biāo)志為 0N,并且確定包含進(jìn)行所述輸入操作時(shí)所述編輯畫(huà)面的中央的物體(交叉物)的面(交叉 面)(參照?qǐng)D8和圖13)。
[0078] 而且,在畫(huà)面法線(視線)貫通(交叉)多個(gè)物體的情況下,將更靠近所述編輯畫(huà) 面的物體(交叉物)作為對(duì)象進(jìn)行處理,將所述交叉物的交點(diǎn)作為所述旋轉(zhuǎn)的中心。
[0079] 所述畫(huà)面法線在確定是否與已經(jīng)編輯的現(xiàn)有的物體交叉時(shí),利用后面說(shuō)明的顯示 對(duì)象的處理(參照?qǐng)D8 (A)),進(jìn)行判斷該畫(huà)面法線是否與構(gòu)成所述物體的表面的單個(gè)三角 形或彼此接觸的多個(gè)三角形組的任意一個(gè)交叉的處理(判斷處理)(參照?qǐng)D15(A))。
[0080] 所述交點(diǎn)以所述三角形的頂點(diǎn)上、線上、面上這三種形態(tài)存在(參照?qǐng)D13),在所 述交點(diǎn)存在于頂點(diǎn)上或線上的情況下,該交點(diǎn)包含于多個(gè)三角形內(nèi),因此采用各三角形的 法線的平均向量作為所述面法線(物體法線),在所述交點(diǎn)存在于所述面上的情況下,采用 包含該交點(diǎn)的單一的三角形的法線作為所述面法線。
[0081] 對(duì)于具有厚度且入射點(diǎn)(靠近畫(huà)面法線的起點(diǎn)的一側(cè))與出射點(diǎn)(遠(yuǎn)離畫(huà)面法線 的起點(diǎn)的一側(cè))不同的物體,將入射點(diǎn)作為所述交點(diǎn)采用。
[0082] 在如上所述地確定所述交叉物,通過(guò)所述運(yùn)算機(jī)構(gòu)確定與所述畫(huà)面法線交叉的三 角形的情況下,利用所述運(yùn)算機(jī)構(gòu)導(dǎo)出該三角形(交叉面)上的交點(diǎn)(物體交點(diǎn))以及該 交點(diǎn)處的法線(物體法線:包含所述物體交點(diǎn)的面的通過(guò)該物體交點(diǎn)的法線),并且從物體 對(duì)象檢測(cè)將交叉物作為物體的結(jié)構(gòu)所具備的三維局部坐標(biāo)系(U,V,W)的各軸(參照?qǐng)D9和 圖10)、鋼筋布置方向或者材料軸線方向,并保存在存儲(chǔ)器等中。
[0083] 另外,在該例子中,以所述中央法線作為畫(huà)面法線,不過(guò)也可以將所述指示垂線 作為畫(huà)面法線。
[0084] 〈物體對(duì)象〉
[0085] 物體對(duì)象是構(gòu)成所述圖形數(shù)據(jù)的對(duì)象之一,基本上,其為具有物體的坐標(biāo)等,針對(duì) 構(gòu)成各種函數(shù)數(shù)據(jù)的對(duì)象的請(qǐng)求提供所需的信息,基于各種函數(shù)數(shù)據(jù)的處理結(jié)果更新信息 的內(nèi)容的對(duì)象。
[0086] 此時(shí),根據(jù)該物體具有的材料軸線、從該物體具有的鋼筋布置信息取得的縱向鋼 筋、橫向鋼筋方向,通過(guò)所述運(yùn)算機(jī)構(gòu)計(jì)算最接近所述物體交點(diǎn)的向量,并且根據(jù)其他對(duì)象 的請(qǐng)求返回上述交點(diǎn)、向量,或者更新其內(nèi)容。
[0087] 該例子中的所述物體對(duì)象保持物體的位置坐標(biāo)(局部坐標(biāo))、物體的材料軸線(示 出方向等的局部坐標(biāo))、物體的鋼筋布置信息(示出方向等的局部坐標(biāo))、將所述物體的位 置坐標(biāo)從局部坐標(biāo)變換為實(shí)坐標(biāo)的變換矩陣或者將所述物體的位置坐標(biāo)從實(shí)坐標(biāo)變換為 局部坐標(biāo)的變換矩陣。
[0088] 在該例子中,將物體定義為具備由單個(gè)或多個(gè)三角形構(gòu)成的表面的物體(參照?qǐng)D 15(A)),將彼此相接的三角形(共用邊的三角形)組作為一個(gè)物體登記為物體對(duì)象,從而明 確該物體的外緣(全表面)。
[0089] 所述物體的位置坐標(biāo)是由所述三角形組構(gòu)成的表面的頂點(diǎn)坐標(biāo)。
[0090] 所述物體的材料軸線是以梁、柱等剖面形和線形輸入的物體的線形,在形成獨(dú)立 基礎(chǔ)、樓板、墻等建筑物的面的物體(面部件)中也存在無(wú)法考慮材料軸線的情況。
[0091] 所述物體的鋼筋布置信息在輸入獨(dú)立基礎(chǔ)、樓板、墻等面部件的時(shí)刻是與各部件 的規(guī)格對(duì)應(yīng)地設(shè)定的鋼筋的鋼筋布置方向(參照?qǐng)D15)。
[0092] 〈斜角判斷機(jī)構(gòu)〉
[0093] 所述斜角判斷機(jī)構(gòu)檢測(cè)作為目的的一對(duì)向量的交叉角度Θ,并判斷其是否在規(guī)定 角度以內(nèi)。
[0094] 通過(guò)該斜角判斷機(jī)構(gòu),例如在拖動(dòng)操作中,能夠檢測(cè)所述圖形數(shù)據(jù)的從由所述物 體檢測(cè)機(jī)構(gòu)確定的物體(交叉物)生成的固有向量(所述物體法線等)與所述畫(huà)面法線的 交叉角度Θ,并且能夠檢測(cè)該交叉角度Θ在規(guī)定角度以內(nèi)的(以下,記作"近似")特定向 量。
[0095] 檢測(cè)所述特定向量的處理(特定向量檢測(cè)處理)為,通過(guò)所述運(yùn)算機(jī)構(gòu)計(jì)算所述 畫(huà)面法線與待定特定向量的內(nèi)積,并評(píng)價(jià)該值是否在規(guī)定的正視近似范圍內(nèi)等即可。
[0096]〈旋轉(zhuǎn)機(jī)構(gòu)〉
[0097] 所述正視工具具備旋轉(zhuǎn)機(jī)構(gòu),所述旋轉(zhuǎn)機(jī)構(gòu)通過(guò)所述輸入操作,使所述交叉物立 體旋轉(zhuǎn)(立體正視處理),以使由所述物體檢測(cè)機(jī)構(gòu)檢測(cè)出的交叉物的一面與所述編輯畫(huà) 面平行,并且,使所述交叉物以所述畫(huà)面法線為軸水平旋轉(zhuǎn)(水平正視處理),以使所述交 叉物具有的向量與畫(huà)面坐標(biāo)系的縱軸或橫軸平行。
[0098] 該例子中的旋轉(zhuǎn)機(jī)構(gòu)具備旋轉(zhuǎn)對(duì)象、正視對(duì)象、顯示對(duì)象。
[0099] 所述旋轉(zhuǎn)對(duì)象和顯示對(duì)象以實(shí)坐標(biāo)系進(jìn)行各對(duì)象的內(nèi)部數(shù)據(jù)的處理。所述旋轉(zhuǎn)對(duì) 象的處理中從所述畫(huà)面坐標(biāo)系向所述實(shí)坐標(biāo)系的坐標(biāo)變換是該旋轉(zhuǎn)對(duì)象從所述顯示對(duì)象 取得所述視線移動(dòng)旋轉(zhuǎn)矩陣的逆矩陣而進(jìn)行的。
[0100] 所述正視對(duì)象以所述畫(huà)面坐標(biāo)系進(jìn)行該對(duì)象的內(nèi)部數(shù)據(jù)的處理。所述正視對(duì)象的 處理中從所述實(shí)坐標(biāo)系向所述畫(huà)面坐標(biāo)系的坐標(biāo)變換是該正視對(duì)象從所述顯示對(duì)象取得 用于此的變換矩陣(視線移動(dòng)旋轉(zhuǎn)矩陣)而進(jìn)行的。
[0101] 在構(gòu)成所述正視工具的各對(duì)象的處理中,包括圖形數(shù)據(jù)的數(shù)據(jù)的收發(fā)是以復(fù)制的 形式進(jìn)行的,例如,各對(duì)象的物體向量組(物體的材料軸線方向、局部坐標(biāo)軸、表面方向和 固有向量)的變形、移動(dòng)等對(duì)已編輯的現(xiàn)有的圖形數(shù)據(jù)、其他對(duì)象在內(nèi)部處理時(shí)具有的這 些數(shù)據(jù)沒(méi)有影響。
[0102] 在該例子的正視工具中,各對(duì)象在與其他對(duì)象進(jìn)行所述內(nèi)部數(shù)據(jù)的收發(fā)時(shí),必須 以實(shí)坐標(biāo)系的數(shù)據(jù)進(jìn)行收發(fā)。即,在實(shí)坐標(biāo)系的數(shù)據(jù)以外進(jìn)行處理的對(duì)象在向其他對(duì)象輸 出時(shí),必須在該對(duì)象中進(jìn)行從其他坐標(biāo)系的數(shù)據(jù)向?qū)嵶鴺?biāo)系的數(shù)據(jù)變換的處理,在從其他 對(duì)象輸入時(shí),必須在該對(duì)象中從實(shí)坐標(biāo)系的數(shù)據(jù)向適合該對(duì)象中的處理的坐標(biāo)系的數(shù)據(jù)變 換(參照?qǐng)D17)。在圖17中,符號(hào)O (虛線的圓圈)表示從鼠標(biāo)坐標(biāo)向?qū)嵶鴺?biāo)變換的處理 (根據(jù)鼠標(biāo)〇bj所具有的與畫(huà)面坐標(biāo)的差值首先變換為畫(huà)面坐標(biāo)再變換為實(shí)坐標(biāo)),符號(hào) O (點(diǎn)劃線的圓圈)表示從實(shí)坐標(biāo)向畫(huà)面坐標(biāo)變換的處理(使用視線移動(dòng)旋轉(zhuǎn)矩陣),符 號(hào)Ol (實(shí)線的圓圈)表示從畫(huà)面坐標(biāo)向?qū)嵶鴺?biāo)變換的處理(使用視線移動(dòng)旋轉(zhuǎn)矩陣的逆 矩陣)。
[0103] 另外,從所述鼠標(biāo)坐標(biāo)系向畫(huà)面坐標(biāo)系的變換利用如下矩陣進(jìn)行:將所述鼠標(biāo)對(duì) 象中的從鼠標(biāo)坐標(biāo)系向畫(huà)面坐標(biāo)系變換的變換矩陣和從所述顯示對(duì)象取得的從所述實(shí)坐 標(biāo)系向所述畫(huà)面坐標(biāo)系變換的變換矩陣(視線移動(dòng)旋轉(zhuǎn)矩陣)相乘得到的矩陣。
[0104] 〈旋轉(zhuǎn)對(duì)象〉
[0105] 所述旋轉(zhuǎn)對(duì)象為構(gòu)成所述函數(shù)數(shù)據(jù)的對(duì)象之一,其檢測(cè)所述鼠標(biāo)對(duì)象的所述拖動(dòng) 標(biāo)志的變化,在拖動(dòng)標(biāo)志從OFF變化為ON時(shí)判斷為"拖動(dòng)開(kāi)始",在拖動(dòng)標(biāo)志保持ON不變時(shí) 判斷為"拖動(dòng)中",在拖動(dòng)標(biāo)志從ON變化為OFF時(shí)判斷為"拖動(dòng)結(jié)束",根據(jù)其判斷,如下所 述地向顯示對(duì)象或正視對(duì)象通知操作信息(參照?qǐng)D4(A))。
[0106] [拖動(dòng)開(kāi)始]
[0107] S卩,所述旋轉(zhuǎn)對(duì)象從所述鼠標(biāo)對(duì)象收到拖動(dòng)標(biāo)志從OFF變化為ON的通知("拖動(dòng) 開(kāi)始"),從所述顯示對(duì)象取得所述交叉物上的所述交叉點(diǎn)(物體交點(diǎn))的位置坐標(biāo)、所述交 叉面的法線(物體法線)、該交叉物說(shuō)包含的固有向量、該交叉物具有的局部坐標(biāo)的坐標(biāo)軸 (以下,記作"拖動(dòng)開(kāi)始信息(參照?qǐng)D4(A)),并將這些信息通知所述正視對(duì)象("拖動(dòng)開(kāi) 始"的通知)。
[0108] 另外,該例子中顯示所述旋轉(zhuǎn)中心標(biāo)志的處理為,在該正視對(duì)象中,以所述物體交 點(diǎn)為中心作成球,將該球的數(shù)據(jù)變換為實(shí)坐標(biāo)并通知所述顯示對(duì)象。將所述旋轉(zhuǎn)中心標(biāo)志 消去的處理通知所述顯示對(duì)象消去所述球。
[0109] [拖動(dòng)中]
[0110] 而且,所述旋轉(zhuǎn)對(duì)象從所述鼠標(biāo)對(duì)象收到表示拖動(dòng)標(biāo)志持續(xù)維持ON的狀態(tài)的通 知("拖動(dòng)中"),根據(jù)與所述拖動(dòng)操作相伴的相對(duì)于起點(diǎn)坐標(biāo)的移動(dòng)量(參照?qǐng)D5),利用 所述操作檢測(cè)機(jī)構(gòu)導(dǎo)出通過(guò)所述旋轉(zhuǎn)處理的中心的旋轉(zhuǎn)軸(后記的立體旋轉(zhuǎn)軸)和旋轉(zhuǎn)量 (立體操作角a),生成符合該旋轉(zhuǎn)軸和旋轉(zhuǎn)量的操作矩陣MO (實(shí)坐標(biāo)系中的旋轉(zhuǎn)函數(shù))并 通知所述顯示對(duì)象和正視對(duì)象(參照?qǐng)D4(B))。
[0111] 例如,所述旋轉(zhuǎn)對(duì)象通過(guò)立體旋轉(zhuǎn)(將編輯的物體的一面與編輯畫(huà)面平行地引導(dǎo) 的旋轉(zhuǎn))時(shí)與所述拖動(dòng)操作相伴的相對(duì)于起點(diǎn)坐標(biāo)的移動(dòng)量求得應(yīng)使圖像旋轉(zhuǎn)的角度(以 下為立體操作角a),生成與所述畫(huà)面坐標(biāo)系(X,y,z)的光標(biāo)的移動(dòng)向量(與拖動(dòng)操作相 伴的相對(duì)于起點(diǎn)坐標(biāo)的二維移動(dòng)方向)成直角、且以通過(guò)所述旋轉(zhuǎn)的中心的軸(立體旋轉(zhuǎn) 軸)作為旋轉(zhuǎn)軸的操作矩陣(函數(shù))M0,將該操作矩陣MO通知所述顯示對(duì)象和所述正視對(duì) 象(參照?qǐng)D5(B))。
[0112] 所述立體操作角a通過(guò)光標(biāo)移動(dòng)量L/編輯畫(huà)面的縱向長(zhǎng)度XN來(lái)求得。
[0113] N為從畫(huà)面的下方向上拖動(dòng)時(shí),使所述交叉物與其被放置的所述編輯空間(在該 例子中為實(shí)坐標(biāo)系空間)一起相對(duì)于視線旋轉(zhuǎn)的角度,在請(qǐng)求以一次拖動(dòng)操作旋轉(zhuǎn)一周的 情況下,該角度為360度(參照?qǐng)D5(C))。
[0114] [拖動(dòng)結(jié)束]
[0115] 并且,所述旋轉(zhuǎn)對(duì)象從所述鼠標(biāo)對(duì)象收到拖動(dòng)標(biāo)志從ON變化為OFF的通知("拖 動(dòng)結(jié)束"),與所述拖動(dòng)中的處理同樣地,根據(jù)與所述拖動(dòng)操作相伴的相對(duì)于起點(diǎn)坐標(biāo)的移 動(dòng)量(參照?qǐng)D5)生成所述操作矩陣M0,通知正視對(duì)象(參照?qǐng)D4(B)),并且將通過(guò)該拖動(dòng) 操作的結(jié)束確定并由所述正視對(duì)象通知的調(diào)整矩陣Ml ·調(diào)整矩陣M2乘以所述操作矩陣MO 來(lái)生成伴隨著該輸入操作而產(chǎn)生的旋轉(zhuǎn)矩陣M,并通知顯示對(duì)象(參照?qǐng)D4 (C))。
[0116] 另一方面,在伴隨著該拖動(dòng)操作的光標(biāo)的移動(dòng)量L為"0"的情況下,以單位矩陣作 為所述旋轉(zhuǎn)矩陣M并通知顯示對(duì)象。
[0117] 另外,所述調(diào)整矩陣Ml、調(diào)整矩陣M2和所述旋轉(zhuǎn)矩陣M是相對(duì)于實(shí)坐標(biāo)系空間的 旋轉(zhuǎn)函數(shù)。
[0118] 〈正視對(duì)象〉
[0119] 所述正視對(duì)象為構(gòu)成所述函數(shù)數(shù)據(jù)的對(duì)象之一,其主要導(dǎo)出所述立體旋轉(zhuǎn)中的調(diào) 整量(消除差分角的量),并且基于所導(dǎo)出的調(diào)整量導(dǎo)出所述調(diào)整矩陣。
[0120] [拖動(dòng)開(kāi)始]
[0121] 該例子中的所述正視對(duì)象收到來(lái)自所述旋轉(zhuǎn)對(duì)象的"拖動(dòng)開(kāi)始"的通知,從所述旋 轉(zhuǎn)對(duì)象取得所述拖動(dòng)開(kāi)始信息,并且從現(xiàn)有的圖形數(shù)據(jù)中取得與交叉物的交點(diǎn)、交點(diǎn)附近 的材料軸線方向、交叉物的局部坐標(biāo)軸、表面方向或者包括固有向量(鋼筋布置方向等)的 持有向量組(參照?qǐng)D6(A))。
[0122] 所取得的數(shù)據(jù)設(shè)置于該正視對(duì)象中的內(nèi)部處理并變換為適于該處理的坐標(biāo)系 (畫(huà)面坐標(biāo)系)。
[0123] 以下,將所述材料軸線方向、局部坐標(biāo)系、表面方向和固有向量記作"物體向量 組"。
[0124] [拖動(dòng)中]
[0125] 該例子中的所述正視對(duì)象收到來(lái)自所述旋轉(zhuǎn)對(duì)象的"拖動(dòng)中(包括所述操作矩陣 MO) "通知,顯示在所述交叉物成為旋轉(zhuǎn)處理的中心的點(diǎn)的標(biāo)志,并且如下所述地進(jìn)行正視 捕捉標(biāo)志(表示接近正視狀態(tài)的捕捉標(biāo)志)的顯示處理。
[0126] 如上所述,實(shí)坐標(biāo)系的操作矩陣MO變換為該正視對(duì)象的處理對(duì)象坐標(biāo)系即畫(huà)面 坐標(biāo)系的操作矩陣m0。
[0127] 該例子中的所述正視對(duì)象為了按照所述操作矩陣m0使所述交叉物具有的所述物 體向量組旋轉(zhuǎn),以所述操作矩陣m0變換該物體向量組,通過(guò)所述斜角判斷機(jī)構(gòu)判斷在變換 的該物體向量組中,在變換后,是否存在與所述畫(huà)面法線近似的所述特定向量。
[0128] 在該例子的正視對(duì)象的處理中,首先,進(jìn)行判斷與所述畫(huà)面法線近似的向量是否 存在于所述交叉物的所述物體向量組中的處理(圖17中的"畫(huà)面法線測(cè)試"),僅在存在的 情況下,接下來(lái),進(jìn)行判斷是否存在與所述畫(huà)面坐標(biāo)系的X軸或y軸近似的向量的處理。
[0129] 在所述判斷的結(jié)果為無(wú)法檢測(cè)出與所述畫(huà)面法線對(duì)應(yīng)的所述特定向量的情況下, 向顯示圖形模塊發(fā)送將正視捕捉標(biāo)志的顯示消去的指令/信息,并且在"拖動(dòng)中"通知持續(xù) 的期間,重復(fù)上述處理(參照?qǐng)D6(B))。
[0130] 另一方面,在所述判斷的結(jié)果為檢測(cè)出與所述畫(huà)面法線對(duì)應(yīng)的所述特定向量的情 況下,向所述顯示圖形模塊發(fā)送利用所述顯示對(duì)象顯示正視捕捉標(biāo)志的指令/信息。
[0131] [拖動(dòng)結(jié)束]
[0132] 所述正視對(duì)象收到來(lái)自所述旋轉(zhuǎn)對(duì)象的"拖動(dòng)結(jié)束"通知,將調(diào)整矩陣Ml和調(diào)整 矩陣M2清空,進(jìn)行以下的立體正視處理。
[0133] 所述正視對(duì)象與所述拖動(dòng)中的該正視對(duì)象的處理同樣地,為了按照所述操作矩陣 m0使所述交叉物具有的所述物體向量組旋轉(zhuǎn),以所述操作矩陣m0變換該物體向量組,通過(guò) 所述斜角判斷機(jī)構(gòu)判斷在變換的該物體向量組中,在變換后,是否存在與所述畫(huà)面法線近 似的特定向量。
[0134] 在所述判斷的結(jié)果為無(wú)法檢測(cè)出與所述畫(huà)面法線對(duì)應(yīng)的所述特定向量的情況下, 所述正視對(duì)象將使所述立體差分角為"〇"的單位矩陣作為調(diào)整矩陣ml (參照?qǐng)D7)。
[0135] 另一方面,在所述判斷的結(jié)果為檢測(cè)出與所述畫(huà)面法線對(duì)應(yīng)的所述特定向量的情 況下,所述正視對(duì)象通過(guò)所述斜角判斷機(jī)構(gòu)從所述交叉物的所述物體向量組選出與所述畫(huà) 面法線最近似的所述特定向量,通過(guò)所述運(yùn)算機(jī)構(gòu)導(dǎo)出所述畫(huà)面法線與所述特定向量的立 體差分角(參照?qǐng)D7)。
[0136] 并且,所述正視對(duì)象通過(guò)所述運(yùn)算機(jī)構(gòu)求得所述特定向量與畫(huà)面法線的外積向 量,導(dǎo)出以該外積方向作為旋轉(zhuǎn)軸、以所述立體差分角作為旋轉(zhuǎn)量(調(diào)整量)的矩陣ml,為 了以所述特定向量與所述畫(huà)面法線平行的方式使所述交叉物具有的所述物體向量組旋轉(zhuǎn) (參照?qǐng)D7),將該物體向量組以所述調(diào)整矩陣ml變換(參照?qǐng)D9)。
[0137] 接下來(lái),所述正視對(duì)象進(jìn)行水平正視處理(圖17中的"x-y軸測(cè)試")。
[0138] 此時(shí),所述正視對(duì)象利用所述運(yùn)算機(jī)構(gòu)導(dǎo)出使所述交叉物的所述物體向量組的z 軸成分的量為"〇"的畫(huà)面坐標(biāo)面(x,y,0)上的向量組(以下,記作"畫(huà)面向量組(參照?qǐng)D 10),并且利用所述斜角判斷機(jī)構(gòu)判斷在所述畫(huà)面向量組中是否存在與所述畫(huà)面坐標(biāo)系的X 軸或y軸近似的特定向量。
[0139] 在所述判斷的結(jié)果為無(wú)法檢測(cè)出與所述畫(huà)面坐標(biāo)系的X軸或y軸對(duì)應(yīng)的所述特定 向量的情況下,所述正視對(duì)象將使所述水平差分角為"〇"的單位矩陣作為該畫(huà)面坐標(biāo)系的 調(diào)整矩陣m2 (參照?qǐng)D7)。
[0140] 另一方面,在所述判斷的結(jié)果為檢測(cè)出與所述畫(huà)面坐標(biāo)系的X軸或y軸對(duì)應(yīng)的所 述特定向量的情況下,所述正視對(duì)象通過(guò)所述斜角判斷機(jī)構(gòu)從所述畫(huà)面向量組選出與所述 畫(huà)面坐標(biāo)面(X,y,〇)的X軸或y軸最近似的特定向量,通過(guò)所述運(yùn)算機(jī)構(gòu)導(dǎo)出該特定向量 與所述畫(huà)面坐標(biāo)系的X軸或y軸所成的水平差分角(參照?qǐng)D7),導(dǎo)出以所述畫(huà)面坐標(biāo)系(X, y,z)的z軸作為旋轉(zhuǎn)軸旋轉(zhuǎn)所述水平差分角的調(diào)整矩陣m2。
[0141] 另外,在所述立體正視處理和水平正視處理中,采取如下措施來(lái)使所述交叉物的 所述物體向量組在所述編輯空間中的位置關(guān)系在這些處理的前后不變:使利用所述調(diào)整矩 陣ml的變換前的所述物體向量組臨時(shí)退避,并在這些處理結(jié)束后復(fù)原到原來(lái)狀態(tài);或者復(fù) 制利用所述調(diào)整矩陣ml的變換前的所述物體向量組并在該復(fù)制目的地執(zhí)行所述處理。
[0142] 最后,所述正視對(duì)象將與在該正視對(duì)象的處理中得到的立體差分角和水平差分角 對(duì)應(yīng)的所述調(diào)整矩陣ml和所述調(diào)整矩陣m2分別變換為適于實(shí)坐標(biāo)系中的處理的調(diào)整矩陣 Ml和調(diào)整矩陣M2并通知旋轉(zhuǎn)對(duì)象(參照?qǐng)D7),并且向顯示圖形模塊發(fā)送將成為所述旋轉(zhuǎn) 的中心的點(diǎn)的標(biāo)志以及正視捕捉標(biāo)志的顯示消去的指令/信息。
[0143] 〈顯示對(duì)象〉
[0144] 所述顯示對(duì)象為構(gòu)成所述函數(shù)數(shù)據(jù)的對(duì)象之一,其具備將所述物體的位置坐標(biāo)從 實(shí)坐標(biāo)系變換為畫(huà)面坐標(biāo)系的變換矩陣(視線移動(dòng)旋轉(zhuǎn)矩陣)、將所述物體的位置坐標(biāo)從 畫(huà)面坐標(biāo)系變換為實(shí)坐標(biāo)系的變換矩陣(視線移動(dòng)旋轉(zhuǎn)矩陣的逆矩陣)、以及所述視線移 動(dòng)旋轉(zhuǎn)矩陣和將位于實(shí)坐標(biāo)空間的物體投影到編輯畫(huà)面的投影矩陣相乘得到的射影矩陣 Ms0
[0145] 該例子中的所述顯示對(duì)象適當(dāng)進(jìn)行所述圖形數(shù)據(jù)的操作以在所述編輯畫(huà)面上恰 當(dāng)?shù)剡M(jìn)行與輸入操作對(duì)應(yīng)的描繪,并且對(duì)于所持有的射影矩陣Ms,分成所述視線移動(dòng)旋轉(zhuǎn) 矩陣和投影矩陣來(lái)進(jìn)行管理,收到從其他對(duì)象取得的視點(diǎn)的移動(dòng)量U= IpO-pl I)或者旋 轉(zhuǎn)量(立體操作角)a并依次積累來(lái)更新所述視線移動(dòng)旋轉(zhuǎn)矩陣成分,根據(jù)來(lái)自其他對(duì)象的 請(qǐng)求適當(dāng)通知采用最新的所述視線移動(dòng)旋轉(zhuǎn)矩陣的各種持有矩陣。
[0146] 并且,該例子中的所述顯示對(duì)象按照與所述登記物相關(guān)的所述物體對(duì)象或者由各 對(duì)象生成的標(biāo)志等的圖形數(shù)據(jù),進(jìn)行在編輯畫(huà)面顯示已編輯的圖形數(shù)據(jù)的處理。
[0147] 具體來(lái)說(shuō),該例子中的所述顯示對(duì)象將從所述旋轉(zhuǎn)對(duì)象通知的所述操作矩陣MO 以及調(diào)整矩陣Ml和所述調(diào)整矩陣M2以所述旋轉(zhuǎn)矩陣M( = MO · Ml · M2)的形式接收,將提 供在所述編輯畫(huà)面顯示時(shí)的新的視線(view)信息的函數(shù)與所述旋轉(zhuǎn)矩陣M相乘,生成將以 所述物體交點(diǎn)為中心的旋轉(zhuǎn)(視線相對(duì)于編輯空間的變化)作為編輯畫(huà)面的顯示而反映的 旋轉(zhuǎn)矩陣Mv (=移動(dòng)矩陣(-物體交點(diǎn))· MO · Ml · M2 ·移動(dòng)矩陣(物體交點(diǎn)))。
[0148] 另外,所述旋轉(zhuǎn)矩陣Mv為,使所述物體交點(diǎn)通過(guò)所述移動(dòng)矩陣(_物體交點(diǎn))向?qū)?坐標(biāo)的原點(diǎn)移動(dòng)并以該原點(diǎn)為中心進(jìn)行利用旋轉(zhuǎn)矩陣M的旋轉(zhuǎn),然后使所述物體交點(diǎn)通過(guò) 所述移動(dòng)矩陣(物體交點(diǎn))回到該物體交點(diǎn)當(dāng)初存在的實(shí)坐標(biāo)系的位置的矩陣,經(jīng)過(guò)利用 了該旋轉(zhuǎn)矩陣Mv的變換,從而能夠使視線相對(duì)于所述編輯空間變化。
[0149] 并且,該例子中的顯示對(duì)象將基于所述視線的變換的旋轉(zhuǎn)矩陣Mv與現(xiàn)有的射影 矩陣Ms相乘來(lái)更新射影矩陣Ms (Ms = Mv · Ms),通過(guò)將更新的該射影矩陣Ms與所述圖形 數(shù)據(jù)中包含的所有顯示物體的所述位置坐標(biāo)等一起發(fā)送至所述顯示圖形模塊,來(lái)實(shí)施利用 顯示函數(shù)的運(yùn)算,在所述編輯畫(huà)面顯示反映所述輸入操作的預(yù)期的面的正視圖像(參照?qǐng)D 8⑶)。
[0150] 另外,在拖動(dòng)中,以所述調(diào)整矩陣Ml和所述調(diào)整矩陣M2作為單位矩陣導(dǎo)出所述旋 轉(zhuǎn)矩陣M,在拖動(dòng)結(jié)束時(shí),使用從所述正視對(duì)象通知的所述調(diào)整矩陣Ml和所述調(diào)整矩陣M2 導(dǎo)出所述旋轉(zhuǎn)矩陣M并進(jìn)行同樣的處理(參照?qǐng)D17)。
[0151] 如上所述,當(dāng)利用所述正視工具在所述編輯畫(huà)面顯示正視圖像等時(shí),在所述物體 檢測(cè)機(jī)構(gòu)的處理中,通過(guò)所述物體檢測(cè)機(jī)構(gòu)計(jì)算所述畫(huà)面法線與物體表面的交點(diǎn),在不存 在與所述畫(huà)面法線交叉的物體的情況下,通過(guò)所述運(yùn)算機(jī)構(gòu)計(jì)算與所述實(shí)坐標(biāo)系的基準(zhǔn)面 的交點(diǎn),將如此計(jì)算出的交點(diǎn)作為所述旋轉(zhuǎn)對(duì)象的物體的旋轉(zhuǎn)操作的中心(參照?qǐng)D8(A)), 在特定向量的檢測(cè)范圍中包括所述實(shí)坐標(biāo)系的坐標(biāo)軸。
【權(quán)利要求】
1. 一種三維作圖系統(tǒng),組合能夠進(jìn)行計(jì)算機(jī)處理的圖形數(shù)據(jù)并進(jìn)行作圖,其特征在于, 具備正視工具,根據(jù)輸入操作來(lái)顯示圖形數(shù)據(jù)中包含的物體的特定面的正視畫(huà)面, 所述正視工具具備: 操作檢測(cè)機(jī)構(gòu),檢測(cè)輸入操作的內(nèi)容、量、方向或坐標(biāo); 物體檢測(cè)機(jī)構(gòu),確定與進(jìn)行所述輸入操作時(shí)的畫(huà)面法線交叉或靠近的物體; 斜角判斷機(jī)構(gòu),從由所述物體檢測(cè)機(jī)構(gòu)確定的物體所具備的向量中檢測(cè)與所述輸入操 作中的所述畫(huà)面法線的交叉角度在規(guī)定角度以內(nèi)的特定向量;以及 旋轉(zhuǎn)機(jī)構(gòu),根據(jù)所述操作檢測(cè)機(jī)構(gòu)的檢測(cè)信息使包括所述圖形數(shù)據(jù)的編輯空間相對(duì)于 視線旋轉(zhuǎn),并且,在所述輸入操作結(jié)束時(shí)檢測(cè)出所述特定向量的情況下,使包括所述圖形數(shù) 據(jù)的編輯空間相對(duì)于視線旋轉(zhuǎn)以使所述特定向量與所述畫(huà)面法線平行。
2. 根據(jù)權(quán)利要求1所述的三維作圖系統(tǒng),其特征在于,具備: 斜角判斷機(jī)構(gòu),從由所述物體檢測(cè)機(jī)構(gòu)確定的物體所具備的向量中檢測(cè)與所述輸入操 作中的畫(huà)面坐標(biāo)軸的交叉角度在規(guī)定角度以內(nèi)的特定向量;以及 旋轉(zhuǎn)機(jī)構(gòu),使包括所述圖形數(shù)據(jù)的編輯空間以所述畫(huà)面法線為軸旋轉(zhuǎn),以使由所述物 體檢測(cè)機(jī)構(gòu)確定的物體的局部坐標(biāo)軸或者實(shí)坐標(biāo)軸與所述畫(huà)面坐標(biāo)軸平行。
3. -種三維作圖程序,組合能夠進(jìn)行計(jì)算機(jī)處理的圖形數(shù)據(jù)并進(jìn)行作圖,其特征在于, 使計(jì)算機(jī)作為組合能夠進(jìn)行計(jì)算機(jī)處理的圖形數(shù)據(jù)并進(jìn)行作圖的三維作圖系統(tǒng)發(fā)揮 作用, 所述三維作圖系統(tǒng)具備正視工具,根據(jù)輸入操作來(lái)顯示圖形數(shù)據(jù)中包含的物體的特定 面的正視畫(huà)面, 所述正視工具具備: 操作檢測(cè)機(jī)構(gòu),檢測(cè)輸入操作的內(nèi)容、量、方向或坐標(biāo); 物體檢測(cè)機(jī)構(gòu),確定與進(jìn)行所述輸入操作時(shí)的畫(huà)面法線交叉或靠近的物體; 斜角判斷機(jī)構(gòu),從由所述物體檢測(cè)機(jī)構(gòu)確定的物體所具備的向量中檢測(cè)與所述輸入操 作中的所述畫(huà)面法線的交叉角度在規(guī)定角度以內(nèi)的特定向量;以及 旋轉(zhuǎn)機(jī)構(gòu),根據(jù)所述操作檢測(cè)機(jī)構(gòu)的檢測(cè)信息使包括所述圖形數(shù)據(jù)的編輯空間相對(duì)于 視線旋轉(zhuǎn),并且,在所述輸入操作結(jié)束時(shí)檢測(cè)出所述特定向量的情況下,使包括所述圖形數(shù) 據(jù)的編輯空間相對(duì)于視線旋轉(zhuǎn)以使所述特定向量與所述畫(huà)面法線平行。
4. 根據(jù)權(quán)利要求3所述的三維作圖程序,其特征在于, 作為三維作圖系統(tǒng)發(fā)揮作用,所述三維作圖系統(tǒng)具備: 斜角判斷機(jī)構(gòu),從由所述物體檢測(cè)機(jī)構(gòu)確定的物體所具備的向量中檢測(cè)與所述輸入操 作中的畫(huà)面坐標(biāo)軸的交叉角度在規(guī)定角度以內(nèi)的特定向量;以及 旋轉(zhuǎn)機(jī)構(gòu),使包括所述圖形數(shù)據(jù)的編輯空間以所述畫(huà)面法線為軸旋轉(zhuǎn),以使由所述物 體檢測(cè)機(jī)構(gòu)確定的物體的局部坐標(biāo)軸或者實(shí)坐標(biāo)軸與所述畫(huà)面坐標(biāo)軸平行。
【文檔編號(hào)】G06T19/20GK104424663SQ201410301666
【公開(kāi)日】2015年3月18日 申請(qǐng)日期:2014年6月27日 優(yōu)先權(quán)日:2013年9月3日
【發(fā)明者】中島徹 申請(qǐng)人:株式會(huì)社亞太達(dá)