學習的初級階段是經驗總結,但時間總是有限的,只靠經驗不足以讓你脫穎而出。學習的理想境界是能做到舉一反三,觸類旁通,此時,經驗變成了知識大爆炸的導火索。但是要做到融會貫通,主要並不是靠智商,更多是要靠知識面。因為作者身份的特殊性,每天都會接觸到大量行業用戶的各種各樣問題,對很多用戶基礎知識的缺失深有感觸,有時還要為他浪費一堆時間只是因為一個基本知識點不懂而捉急。本公眾將陸續和大家分享行業用戶所需要的各種基礎知識,通過關鍵詞和簡明解釋方式進行講解,幫助大家快速瞭解行業相關基礎知識。而對相關知識點有興趣的用戶自己可以通過各種渠道繼續深入學習和研究。
今天首先和大家分享的有關圖形圖像的基礎知識。身為整天需要和計算機和圖形打交道的模具行業工程師,有些基礎的圖像圖形以及圖形學知識和關鍵詞必須要有所瞭解,才能更好設置自己的工作環境和進行圖形圖像數據的輸出輸入,在碰到具體的圖像圖形問題時不至於一籌莫展。
像素
通俗的理解,像素就是顯示設備上最小的顯示單位。比如對於一個最大分辨率為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打交道的模具/結構設計工程師應該要了解的基本圖形圖像知識,文章比較長,希望對大家有所幫助,喜歡的同學點個贊,有問題有意見的歡迎留言評論,更多這方面的知識以後再來分享。
轉載請超鏈接註明:頭條資訊 » 三維設計軟件使用者都應該知道的圖形圖像知識
免責聲明 :非本網註明原創的信息,皆為程序自動獲取互聯網,目的在於傳遞更多信息,並不代表本網贊同其觀點和對其真實性負責;如此頁面有侵犯到您的權益,請給站長發送郵件,並提供相關證明(版權證明、身份證正反面、侵權鏈接),站長將在收到郵件24小時內刪除。