簡介
布爾運算是數字元號化的邏輯推演法,包括聯合、相交、相減。在圖形處理操作中引用了這種邏輯運算方法以使簡單的基本圖形組合產生新的形體,並由二維布爾運算發展到三維圖形的布爾運算。
由於布爾在符號邏輯運算中的特殊貢獻,很多計算機語言中將邏輯運算稱為布爾運算,將其結果稱為布爾值。
數學布爾運算
產生
邏輯運算又稱布爾運算
布爾用
數學方法研究邏輯問題,成功地建立了
邏輯演算。他用等式表示判斷,把推理看作等式的變換。這種變換的有效性不依賴人們對符號的解釋,只依賴於符號的組合規律 。這一邏輯理論人們常稱它為
布爾代數。20世紀30年代,
邏輯代數在電路系統上獲得套用,隨後,由於電子技術與計算機的發展,出現各種複雜的大系統,它們的變換規律也遵守布爾所揭示的規律。
表示方法
"∨" 表示"或"
"∧" 表示"與".
"┐"表示"非".
"=" 表示"等價".
1和0表示"真"和"假"
(還有一種表示,"+"表示"或", "·"表示"與")
計算機編程布爾運算
邏輯運算 (logical operators) 通常用來測試真假值。最常見到的邏輯運算就是循環的處理,用來判斷是否該離開循環或繼續執行循環內的指令。
各種程式語言中的邏輯運算符
作用 | C | Pascal |
等於 | == | = |
不等於 | != | <> |
小於 | < | < |
大於 | > | > |
小於等於 | <= | <= |
大於等於 | >= | >= |
與 | && | and |
或 | || | or |
非 | ! | not |
異或 | ^ | xor |
運算規則
組合\結果\運算符.....And.......Or.........Xor
0......0.......................0..........0............0
1......0.......................0..........1............1
0......1.......................0..........1............1
1......1.......................1..........1............0
簡單的說
And:同為真時為真
Or:同為假時為假
Xor:相同為假
三維圖形布爾運算
作用
Boolean(布爾運算)通過對兩個以上的物體進行
並集、
差集、交集的運算,從而得到新的物體形態。系統提供了4種布爾運算方式:Union(並集)、Intersection(交集)和Subtraction(差集,包括A-B和B-A兩種)。
效果
物體在進行布爾運算後隨時可以對兩個運算對象進行修改操作,布爾運算的方式、效果也可以編輯修改,布爾運算修改的過程可以記錄為動畫,表現神奇的切割效果。
組成部分
Boolean(布爾運算)的參數面板可分成三部分。
Pick Boolean(拾取布爾運算對象)卷展欄該卷展欄用來拾取運算對象B,如圖所示。
在布爾運算中,兩個原始對象被稱為運算對象,一個叫運算對象A,另一個叫運算對象B。在建立布爾運算前,首先要在視圖中選擇一個原始對象,這時Boolean按鈕才可以使用。進入布爾運算命令面板後,單擊Pick Operand B命令按鈕來選擇第二個運算對象。
· Pick Operand B(拾取運算對象B):單擊該按鈕,在場景中選擇另一個物體完成布爾合成。其下的4個選項用來控制運算對象B的屬性,它們要在拾取運算對象B之前確定。
· Reference(參考):將原始對象的參考複製品作為運算對象B,以後改變原始對象,也會同時改變布爾物體中的運算對象B,但改變運算對象B,不會改變原始對象。
· Copy(複製):將原始對象複製一個作為運算對象B,而不改變原始對象。當原始對象還要作其他之用時選用該方式。
· Move(移動):將原始對象直接作為運算對象B,它本身將不再存在。當原始對象無其他用途時選該用方式。該方式為默認方式。
· Instance(關聯):將原始對象的關聯複製品作為運算對象B,以後對兩者中之一進行修改時都會同時影響另一個。
Parameters(參數)卷展欄
該卷展欄參數可分為三個區域,如圖所示。
Operands(操作對象)選項組
該組參數用來顯示所有的運算對象的名稱,並可對它們作相關的操作。
Operands List(操作對象列表):該列表框中列出所有的運算對象,供編輯操作時選擇使用。
Name(名稱):顯示列表框中選中的操作對象的名稱。可對其進行編輯。
Extract Operand(提取運算對象):它將當前指定的運算對象重新提取到場景中,作為一個新的可用對象,包括Instance(關聯)和Copy(拷貝)兩種屬性。這樣進入了布爾運算的物體仍可以被釋放到場景中。只有從其上方的列表框中選擇一個操作對象後才能激活該按鈕。
注意: 該按鈕只有在修改面板中才可用。當創建面板處於激活狀態時,不能從布爾物體中提取出操作對象。
聯想到前面所述的變形對象,在進入了變形預備物體中後,卻無法再返回到場景中。不過對此還有一個可行的方法,就是利用Snapshot(快照)工具,在變形的關鍵幀快照克隆出一個新的造型。
Operation(運算方式)選項組
該組參數提供了4種運算方式可供選擇。
· Union(
並集):用來將兩個造型合併,相交的部分將被刪除,運算完成後兩個物體將成為一個物體。
· Intersection(交集):用來將兩個造型相交的部分保留下來,刪除不相交的部分。
· Subtraction(A-B)(A-B部分):在A物體中減去與B物體重合的部分。
· Subtraction(B- A)(B- A部分):在B物體中減去與A物體重合的部分。
如圖所示是以上4種布爾運算方式的對比。圖中從左至右依次是:並集、交集、A-B部分、B-A部分。
· Cut(切除):用B物體切除A物體,但不在A物體上添加B物體的任何部分。當Cut(切除)單選按鈕被選中時,它將激活其下方的4個單選按鈕讓用戶選擇不同的切除類型。
· Refine(細化):在A物體上沿著B物體與A物體相交的面增加頂點和邊數以細化A物體的表面。也就是說,根據B物體的外形將A物體的表面重新細分。
· Split(劈裂):其工作方法與Refine(細化)類似。只不過在B物體切割A物體部分的邊緣多加了一排頂點。利用這種方法可以根據其他物體的外形將一個物體分成兩部分。
如圖所示對比了這兩種切除方式。在圖中,A物體為圓錐,B物體為長方體,從左至右依次為:Refine(細化)、Split(劈裂)。
· Remove Inside(移除內部):刪除A物體中所有在B物體內部的片段面。其工作方法和Subtraction(A-B)(A-B部分)類似,只是同時也切除了B物體的表面。
· Remove Outside(移除外部):刪除A物體中所有在B物體外部的片段面。其工作方法和Intersection(交集)類似,只是同時也切除了B物體的表面。
Display(顯示)/Update(更新)卷展欄
該卷展欄參數用來控制是否在視圖中顯示運算結果以及每次修改後何時進行重新計算,更新視圖。
Display(顯示)選項組
該組參數用來決定是否在視圖中顯示布爾運算的結果,包含三個選項。
· Result(結果):顯示每項布爾運算的計算結果。
· Operands(操作對象):只顯示布爾合成物體而不顯示運算結果。這樣可以加快顯示速度。
· Result + Hidden Ops(結果+隱藏物體):在實體著色的實體內以線框方式顯示出隱藏的運算對象,主要用於動態布爾運算的編輯操作。
Update(更新)選項組
該組參數用來決定何時進行重新計算並顯示布爾效果。
· Always(總是):每一次操作後都立即顯示布爾結果。
· When Rendering(渲染時):只有在最後渲染時才重新計算更新效果。
· Manually(手動):選擇此選項,下面的Update(更新)按鈕可用,它提供手動的更新控制。
· Update(更新):需要觀看更新效果時,按下此按鈕,系統進行重新計算。