學完高等數學可以做哪些有意思的事情? | 知乎問答精選

 

A-A+

學完高等數學可以做哪些有意思的事情?

2019年04月26日 知乎問答精選 暫無評論 閱讀 4 ℃ 次

【王小龍的回答(1163票)】:

謝邀。以下有大量圖片,請珍惜流量。

這個問題實在是太大了,展開講三天也講不完,因為數學+編程能做的有意思的事情實在是太多了。你隨意找一個方向,左手捧一套高數右手捧一台電腦,一頭紮下去,相信都能找到無數可以擺弄的事情。在此結合自己做過的項目給你講講高數的應用(省略全部數學細節)。

一、圖形學

圖形學的目標是創造一個真實的三維場景供你在裡面漫遊,它是所有三維遊戲的基礎。它的原理很簡單,在一個空間裡放上三角形、箱子、機器人或雲,擺好攝像頭,放置光源,然後計算攝像頭應該看到什麼,把結果顯示在電腦屏幕上。不僅是靜態的成像,動態的物理過程也可以實現,比如霧、碰撞、重力等等。

輻射3截圖

1.1 三維漫遊

你可以用OpenGL和C++輕鬆實現一個三維漫遊程序(流暢性優先),然後不斷往裡面添加各種模型(球體、三角面片幾何體、飛機)和屬性(遮擋、抗鋸齒、透明、玻璃、爆炸),最終把你的漫遊程序變成一個精美的實時遊戲。

三維海戰(圖片來自百度圖片)

1.2 光線追蹤器

可以著重研究光線是如何照射和成像的(精美性優先),實現各種相機(雙目、魚眼、弱投影),材質(金屬、玻璃),光源類型(點光源、方向光源、區域光源)以及光照模型(BRDF、路徑追蹤),最終你想畫啥都能畫得惟妙惟肖。光線追蹤器的渲染速度很慢,程序要追蹤海量光線的反射和折射份量,比如下方的鑽石圖案需要運行5分鐘才能畫完。雖然不能實時移動和旋轉相機,但是渲染的結果極其逼真。

用C++實現的玻璃材質

用光線追蹤器pov-ray畫的鑽石

1.3 基於GPU的加速渲染

當然,你也可以兼顧渲染質量和動畫幀速,這個時候就需要使用更強大的計算資源,可以並行計算的GPU是不二的選擇。看看CUDA的代碼,你可以做一個體渲染模塊來實時觀察CT圖像,賣給醫學圖像處理公司(也許)能賺大錢。

Volume rendering(圖片來自網絡)

二、圖像處理

很多圖像應用都需要對圖像進行必要地預處理,如去噪、融合、分割、去霧、去模糊、視頻去抖動等等,這個領域非常廣泛,有大量模型和理論支撐。各位常用的Photoshop和美圖秀秀裡面成百上千的濾鏡,可以說每一個背後都有一個數學模型。下面舉一個例子。

2.1 分割

有一種簡單的分割算法叫Superpixel,它可以把一幅圖像分割成好多個小塊,保證每一個小塊中顏色都差不多。當然,還有其他許多分割算法,Superpixel的好處是簡單,並且很容易推廣到三維空間。

Superpixel分割(圖片來自這裡)

2.2 醫學圖像處理

經過分割後,圖像被過度分割成了很多小塊,這時就可以用模式識別的算法把屬於同一類的小塊們再合在一起。利用分割+分類的算法,可以把三維CT圖像中的骨頭全自動剔除。

CT圖像去骨的結果

三、計算機視覺

計算機視覺的目標是理解攝像機拍攝的圖像,它的研究範圍極其廣泛,比如人臉識別、文字識別、目標追蹤等等。在此介紹這一領域幾個重要的方向。

大家都知道圖像是二維的,而真實世界是三維的,上面介紹的圖形學的原理是預先建一個三維場景然後研究攝像頭看到的圖像是什麼樣子,計算機視覺的野心則大得多:給你幾幅二維圖像,還原三維場景是什麼。

3.1 一幅圖像與測量

拿到一幅圖像,可以獲得平行關係,測量圖像中不同物體的長度比值,在知乎也有不少朋友關心這個問題,感興趣可以戳如何根據一張 A 樓照 B 樓的照片判斷出這張照片是 A 樓的幾層?以及如何測量一副圖片中物體的實際尺寸?

單目測量(圖片來自文獻Single view metrology)

3.2 兩幅圖像與雙目視覺

拿到兩幅在不同位置拍攝的同一場景的圖像,就可以恢復出場景,在知乎也有相關討論:使用兩張角度不同的靜態圖像合成連貫的動畫,難度有多大?

3.3 多幅圖像與三維重建

計算機視覺在這二十年最激動人心的成果之一就是完成了從多幅圖像序列重建三維場景的研究,從數學上和編程實現上解決了這一從二維重建三維的過程。試想你拿著攝像機在街上繞一圈,像CS地圖那樣的三維遊戲場景就實時重建出來是多麼激動人心啊。

三維重建更具體的定義是:通過同一場景的多幅圖像,恢復出每一幅圖像拍攝時相機的位置和姿態,以及每一幅圖像上的每一個點在三維空間中的位置。

鄰居家的一系列照片之一

恢復出的相機位姿和稀疏特徵點位置

三維稠密重建(圖片來自文獻Accurate, Dense, and Robust Multiview Stereopsis)

四、模式識別

模式識別研究輸入和輸出的關係,比如給你一系列病人的體征和誰有病誰沒病,模式識別需要找一個模型建立體征和是否有病之間的函數關係。在圖像處理、計算機視覺、醫療、生物、社會學中具有非常廣泛的應用。在The Elements of Statistical Learning的第一章裡提出了四個典型問題:

  • 垃圾郵件和正常郵件的區分
  • 前列腺癌症確診
  • 數字手寫字符識別
  • DNA序列和性狀的關係

模式識別把這些具體問題背後共同的模式抽像出來,集中精力研究什麼樣的特徵判別能力更強以及什麼樣的模型正確分類效率高。

五、綜合應用

當你掌握的知識和技能足夠多了,就可以做一些需要很多環節的大項目,隨便舉幾個例子:

  1. 在你家門口擺一台攝像機,自動識別和記錄身高在1米7到1米8之間、身材姣好、長髮、愛笑的女生的一舉一動。一旦記錄到一個符合要求的女生,將她加入數據庫,以後單獨更新,不同女生之間不能搞混。
  2. 買一個機器人(帶轱轆能自由移動並且安有攝像頭的電腦),讓它自己漫遊探測環境,建立三維地圖,搞清楚自己在哪,這也是計算機視覺中的一個已經理論上完美解決的重要問題:即時定位與地圖構建 (Simultaneous localization and mapping, SLAM)。
  3. 做一架飛機,它的功能是無論誰在追它都盡量甩掉;做一枚導彈,它的功能是盡量追上飛機,或者在附近爆炸;再做一個酷炫的供軍區司令觀賞的三維場景顯示環境,把一些飛機和導彈放進去追著打去吧。

六、如何入手

6.1 看優秀教材

首先,學好高等數學、概率統計和線性代數(矩陣論)足矣,其他數學知識可以在具體學習模型的過程中掌握。

然後,看一些優秀的外文教材譯文版,比如:

  • 圖形學:OpenGL超級寶典(第5版)、交互式計算機圖形學:基於OpenGL著色器的自頂向下方法(第6版)
  • 光線追蹤器:光跟蹤算法技術(Ray Tracing from the Ground Up)
  • 圖像處理:數字圖像處理(第3版, 岡薩雷斯著),圖像處理、分析與機器視覺(第3版)
  • 計算機視覺:計算機視覺中的多視圖幾何(Multiple View Geometry in Computer Vision),計算機視覺:算法與應用(Computer Vision: Algorithms and Applications)
  • 模式識別與機器視覺:模式分類(第二版),模式識別(第四版),The Elements of Statistical Learning, Pattern Recognition and Machine Learning

6.2 看文獻

6.3 看代碼

OpenGL、OpenCV、CUDA都有相應的文檔和代碼實例,也可以在網上找附有代碼的教材,研究代碼,模仿先人的代碼。首先練習基本的函數,然後依照興趣實現幾個非常簡單的應用。自己找一個問題,實現一個最簡單的解決方案,然後不斷精進代碼、嘗試新的模型,最後就精通了這個領域。

【吉桔子的回答(87票)】:

可以學習復分析,實分析,微分幾何等高一級的課程

【觀瀾的回答(43票)】:

可以考研啊媽蛋!

【賈夢的回答(15票)】:

你難道不覺得學完高等數學之後無論做什麼都有意思了嗎?

【林琳的回答(6票)】:

可以去菜市場賣菜。。看完@陳壯壯 的這篇微積分神作…我終於明白了人生處處皆艱難。

詳情zhihu.com/question/2203

【zero的回答(2票)】:

比如隨手開發一個符號計算系統?

【曹夢迪的回答(7票)】:

學習實變,復變,泛函……

【知乎用戶的回答(4票)】:

作為素材來塗鴉……作為素材來塗鴉……

【林立的回答(3票)】:

學完高數之後,我終於掌握了加減乘除。

【沈立濤的回答(2票)】:

後來學了概率與統計,離散數學,組合數學,線性代數,數值計算方法,變分法分析,復分析,抽像代數。。。數學戰五渣在死磕數學的道路上走得悲壯不已。。。

【經常檢查節操的jc的回答(2票)】:

開始打dota吧

【牧舒的回答(2票)】:

為啥我的第一反應是以後可以做助教虐小朋友。。。

【壽參的指針的回答(2票)】:

我的經歷告訴我,高數只是個基礎,怎麼使用還要繼續學習。如果高數學得好,後續使用高數的學科或者工具學習起來也會輕鬆很多。

【紫火的回答(2票)】:

談戀愛,前車之鑒。

【知乎用戶的回答(1票)】:

可以學實分析

【李世鈺的回答(1票)】:

可以去學習復分析了,這門體現了數學的美與和諧的課程。

【陳久源的回答(1票)】:

可以看一遍費曼物理學講義,很有意思。

【panseaeye的回答(1票)】:

簡單來說,「意思」是要自己去發掘的,別人眼中很有意思的事情,在你看來可能是無趣至極。

另一方面,知識就是一扇窗戶,你掌握某種知識(不一定是高數,也可以是SM繩捆技術),就能從沉悶的生活中看出更多的「意思」。

編程的話,對我來說就是以前幾百個小時做不完的事情,現在幾分鐘搞定。

【張伯禹的回答(1票)】:

藍後,你就可以「一入數學深似海,從此及格是路人」了

標籤:-編程 -高等數學 -高等數學(大學課程)


相關資源:





給我留言