三維設計軟體使用者都應該知道的圖形影象知識

學習的初級階段是經驗總結,但時間總是有限的,只靠經驗不足以讓你脫穎而出。學習的理想境界是能做到舉一反三,觸類旁通,此時,經驗變成了知識大爆炸的導火索。但是要做到融會貫通,主要並不是靠智商,更多是要靠知識面。因為作者身份的特殊性,每天都會接觸到大量行業使用者的各種各樣問題,對很多使用者基礎知識的缺失深有感觸,有時還要為他浪費一堆時間只是因為一個基本知識點不懂而捉急。本公眾將陸續和大家分享行業使用者所需要的各種基礎知識,透過關鍵詞和簡明解釋方式進行講解,幫助大家快速瞭解行業相關基礎知識。而對相關知識點有興趣的使用者自己可以透過各種渠道繼續深入學習和研究。

三維設計軟體使用者都應該知道的圖形影象知識

今天首先和大家分享的有關圖形影象的基礎知識。身為整天需要和計算機和圖形打交道的模具行業工程師,有些基礎的影象圖形以及圖形學知識和關鍵詞必須要有所瞭解,才能更好設定自己的工作環境和進行圖形影象資料的輸出輸入,在碰到具體的影象圖形問題時不至於一籌莫展。

畫素

通俗的理解,畫素就是顯示裝置上最小的顯示單位。比如對於一個最大解析度為1929x1080的液晶顯示器而言,螢幕上就是由1920x1080個畫素組成。螢幕上顯示的內容都是依賴這1920x1080個畫素點透過顯示不同的顏色和亮度來實現整體的效果。每個畫素點背後都是由1個或幾個發光器件生成,因此雖然畫素是個虛擬名稱,但在實際的裝置上卻有真實的形狀(正方形)和大小的,你可以把螢幕理解為1920x1080個整齊排列的發光體。這也就是為什麼有的24英寸螢幕最大解析度是1920x1080而有的只是21。5英寸卻也是1920x1080的原因,甚至只有5英寸的手機也是。畫素點越小,顯示的效果自然越細膩,這也可以解釋為啥手機雖小,但看圖片感覺會比在電腦上更細膩豔麗。

向量和標量

向量(Vector),是一種既有大小也有方向的量。在數學上稱為向量,在物理上稱為向量。

標量(Scalar),只具有數值大小而沒有方向的量。

向量圖形和影象

我們在顯示屏上看到的各種影象,看起來方式好像都差不多,但實際上這裡有兩種不同型別的影象,一種是原始畫素點構成的影象,比如相機拍攝的照片,你在QQ上抓的圖或者你看到的電影。另一種是數學公式動態生成的向量圖形,比如你在AutoCAD中畫的圖,Creo中建立的模型和工程圖中建立的檢視。雖然最終顯示的時候都是轉化成畫素點在螢幕上呈現,但在細節上還是有區別的。

三維設計軟體使用者都應該知道的圖形影象知識

典型的畫素影象和向量圖形

舉個簡單的例子,要在螢幕上顯示一個圓,如果是影象檔案,假設影象大小是100x100,那麼就需要儲存100x100=10000個畫素點的資料(非絕對,後文詳述)。對於這個特定的影象,它組成它的畫素點是固定的,因此當影象進行放大後,邊緣就會出現鋸齒而填充部分則會出現馬賽克現象。

三維設計軟體使用者都應該知道的圖形影象知識

影象的馬賽克

而對於向量圖形,則只需要儲存圓心的位置(x,y)和半徑,當然還可能包括線寬和顏色等其他屬性。向量圖形在顯示時是動態透過數學公式計算得到每個畫素的顯示位置的,因此不管縮放多大還是多小,在螢幕上的顯示結果看起來都一樣,不會因為縮放而帶來鋸齒或馬賽克現象。向量圖形被廣泛應用於各類CAD/CAM/CAE軟體數字模型上。我們每天接觸到的各種字型其實也是一種向量圖形,比如在ProE和Creo中可以新增的TTF字型。

影象格式

在數字世界中,存在著各種不同的影象檔案格式,這些影象檔案格式有著不同的資料儲存方式和壓縮方式,常用的格式如bmp,jpg,gif,png,tif等,這些格式中,有些可以精確儲存原始資料並還原,這稱為無損儲存。有些格式會造成一些非重要資料的丟失或改變,這稱為有損儲存。在我們實際工作中,需要根據不同的使用者選擇合適的影象格式來進行儲存。這裡我就不講解每種格式具體的實現,只談它們具體的表現應用。

BMP格式,字尾*。bmp,點陣圖檔案,每個畫素最多可以使用四個位元組儲存,非壓縮無損格式,可以完整儲存影象的原始資料,因為是非壓縮資料,因此檔案的大小會比較大。你如果想最大程度儲存抓取的渲染圖片質量,可以先存為bmp檔案再進行後續的處理操作。

GIF格式,字尾*。gif,每個畫素最多使用一個位元組表示,最大顏色深度256(也就是一個gif影象內最多能有256種顏色),壓縮格式,因此檔案尺寸會比較小。因為最多隻能儲存256種顏色,因此對於一些有漸變顏色或背景的影象儲存為gif後會變成條紋顯示的效果,影象質量大打折扣。但另一方面,如果影象的顏色比較少而且區域分明,選擇gif格式就可以最大限度保留原來的清晰度和對比度,比如做教程時抓取的軟體選單介面,或者抓取工程圖下的檢視和尺寸,此時儲存為gif就可以避免文字內容出現毛邊現象。另外gif還可以儲存多幀的影象並生成簡單的動畫。

三維設計軟體使用者都應該知道的圖形影象知識

JPG格式,字尾*。jpg,常用的影象格式,壓縮率最好的影象格式,在大部分場合下,都可以在基本保證影象質量的情況下得到比較小的影象檔案,適合各種顏色豐富,漸變效果多的影象,比如照片,模型的抓圖等。但jpg是有損儲存格式,儲存為jpg會損失原始影象一定的對比度,影象的邊界會比原來模糊,特別是在漸變環境下的文字內容,在儲存為jpg後產生嚴重的蒙化效果影響文字的清晰度。

PNG格式,字尾*。png,複合型的影象檔案格式,可以同時儲存畫素影象和向量圖形,再編輯能力比較好,要在圖片上新增各種註釋並且方便以後修改的話,可以使用png格式。PNG可以生成簡單動畫。

TIFF格式,字尾*。tif,無損格式,可以儲存多個影象,還可以儲存影象的原始生成資訊,建議在模型渲染圖輸出時選擇TIFF格式。

PDF格式,字尾*。pdf, PDF格式不能說是單一的影象格式,它是一個複合型文件,不過在這裡我們順便了解一下。PDF可以同時儲存影象資料和向量圖形資料,甚至3D向量圖形資料。具體到行業上的應用,有些儲存了工程圖紙的pdf可以透過轉換工具轉為向量的DXF或DWG,有些則不行,究其原因就是在建立PDF時是使用了向量圖形直接建立還是透過畫素影象來建立決定的。

DPI

DPI是Dots Per Inch的縮寫,意思是影象中每英寸長度內的畫素點數。dpi的應用和差別最通常的應用在於列印和滑鼠的掃描解析度上。在電腦上,同樣解析度的圖片,打印出來卻有可能不一樣的大小,而且精細程度也會不一樣,其中的區別就在於兩個影象的DPI值不一樣。DPI值越高,表明影象越精細,打印出來的效果越好,舉個例子,有兩張1000x800的圖片,一個dpi是100,一個dpi是400。那麼第一個圖片打印出來的大小將是10x8英寸而第二個是2。5x2英寸,出來的細膩程度自然不可同日而語。

三維設計軟體使用者都應該知道的圖形影象知識

dpi影響列印質量

具體在creo上的應用,同一個視窗同一個模型,使用dpi值等於100和500另存的圖片,表面上看好像相差不大,但如果縮放到正常1:1大小後就會發現在100dpi下的圖片就會出現嚴重的鋸齒和模糊現象。而500dpi的圖片則還儲存恰當的對比度,清晰的邊界。因此,對於沖洗或列印照片而言,dpi值至少要設為300以上才能獲得較好的質量。

三維設計軟體使用者都應該知道的圖形影象知識

相關的config選項

drawing_shaded_view_dpi 設定工程圖下另存為影象檔案時著色檢視的dpi值(越高越精細,建議300)

hi_dpi_enable

raster_plot_dpi

引數化

從圖形層級來說,引數化是向量化的加強版。向量化圖形每一個圖元都是透過數學公式生成的,但是都是獨立的,換言之每一根線,每個面都可以脫離其他資料獨立生成。而引數化則可能是關聯的,後一根線可能是利用前一根線作為參考來生成。

笛卡爾座標、圓柱座標和極座標

笛卡爾座標系(Cartesian Coordinates)一般是指笛卡爾直角座標系,是法國數學家、哲學家笛卡爾(我思,故我在)發明的用來描述空間點位置的座標系統。在ProE/Creo中,你所看到的座標系就是笛卡爾座標系

動畫幀

我們在電子裝置上看到的各種動畫和影片,實際都是由一幅幅連續變化的靜態圖片所組成,只是圖片的切換間隔足夠小,在人眼的視覺暫留作用下好像就是連續的運動了(人眼的視覺暫留大概0。1秒),這樣的連續圖片其中的每一張稱為幀。要得到比較流暢和連貫的動畫,至少要達到10幀/秒,而要想得到更好的效果,自然越大越好以前的電影一般是24幀/秒,普通人已經感覺不到任何停頓的,像前陣子李安導演的《比利。林恩的中場戰事》是120幀/秒。在ProE或Creo中,機構模擬生成的動畫實際都是透過連續生成不同位置的幀來實現動畫效果的,包括分析模擬模組下的分析動畫也是如此。

具體應用:

假設在ProE/Creo中預設的動畫是10秒,一秒10幀,這樣的動畫當輸出成avi時,如果選擇25幀/秒,那麼影片會變成只有4秒(100/25)同時速度會比你在模擬的時候快得多。

曲線曲率

Curve Curvature,曲線某點上的曲率就是曲線在該點處半徑的倒數。因此曲率越大的地方表明該點的彎曲程度越高。

三維設計軟體使用者都應該知道的圖形影象知識

曲線的曲率

曲線間的C0,C1,C2,C3連線

三維設計軟體使用者都應該知道的圖形影象知識

曲率的連線

高斯曲率

高斯曲率(Gauss curvature),在圖形學上可以透過高斯曲率來衡量一個曲面在某一點處彎曲程度。高斯曲率等於該點處的兩個主曲率的乘積。

在ProE/Creo中,分析中的著色曲率分析就是高斯曲率分析。同時只有高斯曲率處處為0的曲面才能實現準確展平。

三維設計軟體使用者都應該知道的圖形影象知識

高斯曲率

不同的曲面間的連線質量透過G0/G1/G2/G3。。。表示

三維設計軟體使用者都應該知道的圖形影象知識

A級曲面

A-Class Surface,A級表面並沒有一個公用的標準,不同的公司規定的要求各不相同,但一般都主要從連線曲面間的間隙(比如0。002mm)、切線方向改變(比如0。15度以下)和曲率改變(比如0。005度以下),以及曲面內部曲率變化幾個方面作要求。但用一個大概的描述來表達就是非常順滑連線的高質量表面。因此從這點來說,曲面間的連線一般要求G3以上,個別不太重要的區域性地方可以允許G2連線,但並不代表只要所有順滑連線曲面之間是G3連線了就可以認定外觀達到了A級曲面。A級表面的曲面間的曲率變化必須要連續、自然,不能有外觀要求外的突變。A級曲面主要用於汽車、航天器外觀,近年來很多消費電子類、醫療裝置類產品外觀也有了A級曲面的要求。

A級曲面從視覺的直觀來說,就是曲面表面的高光點集中、邊緣均勻模糊,感覺泛著一層柔光

三維設計軟體使用者都應該知道的圖形影象知識

拓撲

拓撲是Topology的音譯,是指幾何圖形或空間在改變形狀後依然保持一些不變的性質的結構。對於拓撲結構來說,只考慮物體間的位置關係而不考慮它們的形狀和大小。在圖形學上,只要圖形的構成方式不發生改變,比如構成圖形的點、線和麵的數目以及它們相互之間的結構關係沒有發生改變,那就可以認為都是等價拓撲。

具體在軟體上的具體例子,比如Creo的自由式曲面下,如下圖三個類似球體、杯子和椅子的造型看起來差別很大,但實際上它們是等價拓撲,如果切換成曲面方式來顯示,就可以看到它們都是有由10個面片所組成,雖然這10個面片在不同的圖中有不同的形狀,但是這些面片的結構關係都是保持不變的(比如原來1號面相鄰的是2,4,7,8號面,那麼經過變形後依然是這4個面),在拓撲學家們眼裡,它們本質上是一個東西,因為拓撲結構並沒有發生改變。

三維設計軟體使用者都應該知道的圖形影象知識

具體應用:

在ProE/Creo中,拓撲結構應用還體現在輸入資料的處理上,透過比對修舊輸入資料的拓撲結構變化,軟體就可以實現類似引數化的更新。相關的config選項如下:

atb_auto_check_on_activate

atb_auto_check_on_retrieve

atb_auto_check_on_update

GDI 、Directx和OpenGL

GDI(Graphics Device Interface)圖形裝置介面,是windows系統和繪圖程式的資訊交換介面,透過GDI介面,程式設計師無需關心硬體裝置的具體實現,就可以把程式的輸出轉為硬體裝置上的輸出。也正因為這個原因,GDI實現的是一般顯示裝置都能夠實現的基本功能。

DirectX(Direct Extension)是有微軟建立的通用多媒體程式設計介面,或者可以說圖形庫,只能應用於Windows系統。Direct的的意思就是直接操作顯示硬體,在一定程度上,可以認為DirectX是GDI的增強版,因此相比GDI介面自然可以獲得更好的效能和實現更多的功能。DirectX被廣泛用於Windows系統上的電子遊戲開發。

三維設計軟體使用者都應該知道的圖形影象知識

OpenGL(Open Graphics Library)開放式圖形庫,OpenGL規範1992年成立的OpenGL架構評審委員會(ARB)維護,這個委員會的投票成員都是一些行業的巨頭組成。它是一個用於渲染2D和3D向量圖形的跨平臺(Windows/Unix/MacOS)程式設計介面(API)。這也是為什麼主流的CAD和MCAD軟體一般都基於OpenGL進行開發的緣故。對應地,專業顯示卡自然也提供了基於OpenGL的最佳化顯示卡驅動程式了。

雖然三者都是介面(介面相當於執行標準),但微軟已經實現了GDI介面,因此不管對什麼顯示卡,都可以在Windows系統下透過GDI介面實現基礎的顯示功能。

相比GDI,DirectX和OpenGL都只是定義了一套介面規範,並沒有具體的實現,因此針對圖形加速硬體的驅動程式一般就由顯示裝置廠商自己實現,這帶來的一個好處就是可以最大限度發揮裝置本身的效能,比如nvidia會為自己的顯示卡晶片推出對應的驅動程式,稱之為公版驅動。但有些有實力的顯示卡生產商,雖然用的是nvidia的晶片,但會在公版驅動的基礎上根據自己的產品功能定位開發自己產品的專屬最佳化驅動,特別是專業顯示卡。這就是為啥採用同樣的晶片,有些牌子的顯示卡效能會更出色點,除了製造工藝外,驅動程式也是關鍵。壞處就是可能會帶來相容上的問題。

因為主要用途不同,所以一般顯示卡的驅動程式側重點也不同,directx驅動會比較側重渲染速度和效率(對於大型遊戲而言,速度第一,畫面第二)。而opengl驅動會側重於渲染的質量以及線條消隱處理。

以上就是部分作為經常需要和3D CAD打交道的模具/結構設計工程師應該要了解的基本圖形影象知識,文章比較長,希望對大家有所幫助,喜歡的同學點個贊,有問題有意見的歡迎留言評論,更多這方面的知識以後再來分享。