對計算機專業而言,計算機圖形學是否重要?


首先聲明,本人不是計算機專業,也沒讀過計算機圖形學的課程。但我是在高中開始自習計算機圖形學,比較熟悉實時渲染在遊戲中的應用。

計算機科學可以分開理論計算機科學及應用計算機科學。應用計算機科學以開理論計算機科學為基礎,發展出可以在實際需求中使用的專門技術,在維基百科(Computer science)中列出一些應用計算機科學的分支:

  • Artificial intelligence

  • Computer architecture and engineering

  • Computer graphics and visualization

  • Computer security and cryptography

  • Computational science

  • Computer Networks

  • Concurrent, parallel and distributed systems

  • Databases

  • Health Informatics

  • Information science

  • Software engineering

可見計算機圖形學(computer graphics)是應用計算機科學的一門分支。

計算機圖形學較多應用於娛樂方面,包括遊戲、動畫、電影特技產業,而相關的可視化(visualization)則主要應用在其他科學上。但圖形學的應用其實是更廣泛的,例如平面設計、建築設計、產品設計等也涉及計算機圖形學。

對於應用性的分支來說,其重要性可與相關工業的發展拉上關係。以計算機圖形學而言,它的需求來自娛樂,而娛樂對人類的重要性在不斷提升,單看遊戲市場可看到這個趨勢:

來源:Outline of Tokyo Game Show 2011 Keynote Speech held on September 15, 2011

這裡欠缺其他應用計算機科學的橫向對比,只能說明與計算機圖形學相關的產品市場規模在不斷上升。

對於學習計算機科學的同學而言,除了要學習基礎的理論計算機科學,應該選擇一些應用計算機科學,以備未來的工作所需。

相關問題:

  • 哪些工作與圖形學相關?


純粹因為好玩和有成就感才搞的, 其實圖形學對於整個計算機科學一點兒都不重要, 還不如學量子物理生物啥的想想怎麼造下一代的計算機呢, 不覺得那才是計算機"科學" 嗎?

不過搞圖形學, 特別是搞物理這一塊(光照, 流體, 材料力學計算), 對你認識自然理解自然都很有好處, 又可以直接接觸底層的數學和自己編寫求解器, 對知識(特別是應用數學方面的)廣度和深度塑造都大有好處, 如果你也愛數學, 如果你也愛藝術. 來吧.


個人認為,圖形學應該算不上計算機科學的必修課。不懂圖形學也完全可以成為一名優秀的程序員;如果以後不搞相關領域(遊戲、圖形學、計算機視覺)的話,或許圖形學真的不算重要。

但是。。。圖形學真的很好玩啊!!!

難道你每次打極品飛車、使命召喚的時候,真的不想了解下那些畫面效果是計算機是怎麼神奇的計算出來的嗎?看《冰雪奇緣》的時候,不好奇計算機在背後發揮怎樣的作用嗎?(當然,動畫師功不可沒)。

而且,學計算機其他課程(比如數據結構啥的)時候,做大作業時可能面對的都是黑乎乎的控制台。但學完了圖形學,你的代碼就可以變成各種炫到爆的畫面。

另外,學習有時候不需要太功利的。

重要不重要?有時候一點都不重要。

Just Relax and follow your curiosity.


不重要。


程序員的三大浪漫:操作系統、圖形學、編譯原理,學了都是用來給你開眼界的。這些都不是什麼你不學就怎麼樣的課程,而是你想成為大牛,不學不行=_,=


既然題主問的是「對計算機專業而言」,那麼如果你是一名計算機專業的學生,圖形學對你的重要性在於,就算你對圖形學不感興趣,你大概也可以找到很不錯的工作,一類是自己做GPU做高性能計算的公司,比如NVIDIA、Apple,一類是影視特效公司,比如Disney,ILM,還有一類是做引擎的遊戲公司,比如Epic,Crytek。圖形學需要的龐大計算量促進了計算機專業的發展,促進了高性能計算的發展,TOP50的超級計算機有一大批是使用了GPU的,而GPU的發展主要被圖形學的需求驅動。

如果是說,從現在圖形學的前沿都在做什麼來評估對計算機專業的重要性,那麼還真不太好說。參考圖形學頂級會議SIGGRAPH的方向分類(SIGGRAPH 2015 Papers):

Computational Illumination: 計算照明,深度相機

Geometry Field Trip:曲線曲面、測度論

Modeling, Controlling, Suturing Humans: 人體仿生模擬、建模

Face Reality: 面部動畫捕捉與重建

Rendering Complex Appearance:光的分布模型、渲染

Wave Particle Fluidity: 計算流體動力學

VR Display Interaction:虛擬現實、光場顯示

Simsquishal Geometry: 拓撲與幾何學

Meshing Around:網格,離散幾何

Lets do the time warp:延時攝像

Parameterization Mapping: 表面參數化

Video Processing:視頻、音頻處理與編輯

Deform Me a Solid:材料優化與設計、有限元分析

Taking Control:計算機動畫控制與機器學習

Image Processing: 圖像處理(去霧、平滑、邊界檢測、陰影移除)

Shape Analysis:形狀分析

Fabricating Fabulous Forms:計算建築學、家居設計

Transfer Capture:視頻分析與動態捕捉

Geometry Zoo:網格、幾何學、形狀插值

Image Similarity Search:圖像檢索、圖像合成

Reconstruction Analysis:城市、建築的三維重建

Fabrication Function:計算設計、3D列印

Fluids from Air to Goo:計算流體動力學

Procedural Modeling:批量3D模型設計製作

Apperance Capture:材料視覺特性的捕捉與分析

Character Fashion Style:衣物模擬,人體動畫

Sampling:採樣、信號處理、統計學

Sketching Surfacing:繪製、建模

Computational Printing:3D列印、機械製造

Constraints,Collisions:摩擦計算、碰撞檢測、受限優化

Meshful Thinking:網格編輯、網格細分、網格參數化

Perception Color:顏色與人類視覺

Printing Elastics:彈性材料的設計與3D列印

Scalable Graphics:矢量圖形

Simulating With Surfaces:表面追蹤與重建(泡泡、物體破碎的模擬)

Light Fields:光場相機、光場重建

所以你看,圖形學如果要劃分方向,有很大一部分其實屬於物理學、數學、機械學、建築學和美術,而計算機只是恰好被用到而已。如果你以後想從事的工作更偏向這些方向的話,那麼圖形學也確實很重要。


不贊成陳然 同意陳微風

人生有限 而知識無限

什麼知識都有用 但是不能什麼知識都學

相比而言 低層的更通用 更持久 更能培養計算機思維

所以 在這個層面上 不能把計算機圖形學和彙編等相提並論


不重要。圖形學偏工程應用,非必須的基礎知識,不過很有趣。

所謂程序員三大浪漫,個人重要性排序:

操作系統&>編譯原理&>圖形學


本人北航計算機博士生(本科06級北航,10年開始碩博),在虛擬現實技術與系統國家重點實驗室,圖形學就是在這個實驗室研究的內容,浙大那邊叫CADCG實驗室。

在當時北航本科計算機裡面分為軟體,應用,硬體。但是圖形學莫名其妙的歸為了軟體,而圖像處理歸為應用。但是圖形學正確的情況下應該歸為計算機應用技術。

從我的觀察結果來看:

1.和網路是幾乎沒有交集的,除非做項目偶爾會用到一些基本的網路通訊知識。

2.和操作系統關係不是很大,除非你的代碼需要一些多線程的加速。

3.和編譯技術關係不大,除非你的代碼在和別人競速,到了句句都需要斟酌的地步。

4.和體系結構關係密切,圖形學會用到大量的GPU並行加速,至少利用CUDA做多GPU的並行體系結構那邊也有教授在研究。

5.和計算機安全貌似關係不大。密碼學什麼的我覺得和圖形學就不是一個分類標準。

6.和圖像處理的關係。圖形圖像經常一起說,但是不能混為一談。圖像處理的內容,模式識別方面和機器學習比較近(最近幾年比較火的就是數據挖掘,做廣告推薦的那些技術),還有Photoshop裡面用的那些技術,還有計算機視覺(Computer Vision)。計算機視覺有點類似圖形學的渲染的逆過程,渲染是三維圖形投影成二維圖像,計算機視覺(有很大一部分工作)是根據二維圖像恢復三維模型,比如拍幾張照片生成三維的建築。

7.需要廣泛應用的數學方面的知識:信號處理(頻譜分析),最優化,線性代數等等。概率貌似用的不多(至少我所接觸的領域是這樣的)。

8.圖形學是計算機應用,所謂應用就是應用計算機解決其他學科的問題。現在還比較火的是流體力學(氣體,液體的模擬),軟體變形(衣服,頭髮)等,渲染技術也有,但是渲染技術一直都存在,並不是最近這些年火的。其他各方面的門類多的很,反正是應用,啥都有。

其他的等以後想到了再說。本人才疏學淺,水平一般。這行當就業面挺窄,雖然高大上的電影很高大上,高大上的遊戲也挺高大上,但是不是那麼好進的,一般的小公司又玩不起這麼高大上的技術。


如果你以後不做這個方向的話,似乎學這門課一點用處都沒有

但是這樣的思路其實也不對

彙編似乎也用不到,電路原理似乎也用不到,很多課程似乎都用不到

課程的用處很難用形式化的東西來衡量吧

新東西,總是會打開一個新的思路

總是沒有錯的

如果學了,就好好學吧


不太同意排名第一的答案。操作系統和編譯原理是非學不可的東西,可以說這兩樣不掌握,你就不好意思跟人說我是搞計算機的。操作系統會順帶解決掉體系結構,編譯原理會順帶解決掉數據結構和演算法。對一個想一輩子靠計算機吃飯的人來說,有這四樣,我覺得足夠了。

如果非要加上一樣,我覺得網路原理都要比圖形學重要。圖形學的應用範圍,公平的說,是不算太大的。當然如果把所有視覺多媒體都算進來,圖像處理、增強現實、視頻編解碼??我覺得應用範圍還是不能跟網路相比。

圖形學的特點是:這玩意兒有點門檻,又需要數學,入門的learning curve比較陡,但是一旦學會了可以直接作出肉眼可見的成果來,成就感很直接。所以這東西,像鴉片一樣,剛開始痛苦夾雜著興奮,興奮完了又有點上癮,染上就戒不掉了。

我已然不抽大煙了,我改抽白面了。


答題的時候大三吧,上計算機圖形學課程,寫答案更多的是在傳達的圖形學老師的理念,夾帶了自己淺薄的認識。

現在看來,大學時每門課都要認真對待,好好學習,並保持良好作息,鍛煉身體,這樣才不會後悔吧。認真的意義並非是為了以後有用,當下的專註本身就是磨礪。

---------------------------------------------------------------------------------------------------------------

答:是的。

正好剛剛在寫圖形學程序,最近又想著來回報知乎,所以來認真地從普通cs學生[該生渣屬性]角度編輯一下這個回答。

看到說程序員的三大浪漫:操作系統、編譯原理和圖形學的。分別來寫寫我自己的感受。

上學期學操作系統,聽老師講課時感覺能聽得懂,然後私下感嘆操作系統里的一些機制真是太機智了,多線程、信號量!、存儲管理、資源抽象等等,一邊學一邊感嘆果然計算機是一門機智炫酷的學科啊!不過理論雖好,動手寫操作系統是很難的。學編譯原理,同樣,老師講一些原理性概念性的東西和一些演算法原理,聽得懂。不過自己從頭寫編譯器還是很困難的。

最後 CG,也是這學期在學。這門課的老師是個熱愛編程的60後,開始幾節課就在講台上編給我們看,書上所有的演算法他都自己實現過才和我們講.他還會和我們扯一扯其他的,比如100個海盜分200塊金幣之類,聽他扯的多了,就會在某一天覺發現,世界就是這樣,每個人都是希尋求自己利益最大化海盜,不過有些海盜還有些感性。

好吧,上重點:學習圖形學的目的是建立一個看得見的理性的世界。

就是說它不同於自己不可能寫出來的OS和非常難寫的Compiler,它完全可以自己寫出來,將理論付諸實踐,將現實世界通過這種方式理性的表達出來至少給自己看。完全可以寫一個圖形軟體,簡單的CAD啥的。

另外,CG這門課還會接觸一些OpenGL或者類似的東西。這東西可以方便的寫遊戲啊!俄羅斯方塊,2048寫一寫挺有意思,也會有熱情想去寫。

對了,這門課開始時就是一些線圓類,基類,可以複習更深入理解c++,並熟悉mfc編程,後來又有圖形變換,複習線性代數,並且知道以前學的那種矩陣轉換是幹啥用的。

綜上所述廢話,CG這門課作為計算機專業軟體系本科課程很有必要,也應該好好學。


如果是學生,建議多學點知識,哪怕短期內看不到什麼用途。如果已經工作了,建議集中精力投資在有可以展望到的回報的知識上(當然作為愛好就不用考慮太多了)


沒學過,不認為對於計算機專業是很重要的課。

對於計算機專業來說,核心的課程是有數的幾門而已,理論方向有離散數學、數據結構、演算法,系統方向有操作系統、體系結構、編譯原理。其它的課程基本都是在細分方向之後才需要掌握的知識,並不是人人都需要學會的。


計算機圖形學對計算機科學這個學科而言,十分重要。很多演算法都源於計算機圖形學,很多問題的根源也來自圖形學研究。

對計算機相關產業,也十分重要。例如現在工業設計中應用廣泛的3D建模,沒有計算機圖形學還得繼續捏粘土。還有部分醫學儀器的成像技術里也應用計算機圖形學。普通人接觸最多的應該就是遊戲以及CG電影了,比如最近上映的馴龍高手2,雖然劇情略扯淡,不過無牙還是很萌噠。

最後對從業人員嘛……怎麼說呢,在這個互聯網的浪潮里,貌似不會圖形學也沒什麼。寫後台寫前端寫App除非業務特別,基本用不到。我本科沒學圖形學,主要是因為不喜歡教圖形學的那個老師……


作為計算機學士和碩士,圖形學我知道個0,後來幹得是運行維護,同學們普遍干資料庫和網路,還有搞金融,賣設備的。 我們都過得不錯,所以說,從就業來說,不重要。


Enjoy Math.


專業性比較強,對數學能力要求很強,一般程序猿用不上。


對於計算機專業來說,計算機圖形學只是其中一個應用方向,既圖形渲染,加速。與圖形學同一個方向的是圖像處理,既圖像壓縮,圖像增強個圖像還原。

圖形學主要用於電影3D特效渲染,遊戲開發,未來可能用於實時地形重建。

圖像處理應用更多,最常見的就是攝像頭效果處理,如白平衡,飽和度計算,HDR等。

圖形學是一門真正用數學來應用的學問,很多有趣的特效和渲染場景非常吸引人!


那些說不重要的人,還是不要使用GUI來玩電腦和手機了吧。


推薦閱讀:

怎麼才能看懂計算機論文中的數學公式?
得到去msra實習的機會,該怎麼徵求導師同意?
易語言那麼不入流嗎?
假如重學計算機,你會怎樣做?
linux和機械錶哪個系統的複雜度高?

TAG:計算機 | 圖像處理 | 計算機科學 | 計算機專業 | 計算機圖形學 |