點是否在多邊形内

這是最近做項目過程中延申思考的一個問題——在平面上如何快速判斷點與任意多邊形的關係?上網查找一些相關資料,其中《Graphic GEM IV》中的論文《Point in Polygon Strategies》做了許多介紹與總結,特此記錄。

算法系列 Timsort排序算法原理學習

最近在實際應用中頻繁遇到快速排序算法(qsort)最壞情況,其實際耗時遠超過想象。主要原因在於進行排序的數據并非完全無序的,因此借此機會瞭解了當下使用廣汎的排序算法Timsort,特此記錄。本文不涉及具體代碼實現,但是會結合自己實現過程給出僞代碼,如有錯誤歡迎指正。

本文會從原理出發給出各個部分實現僞代碼,最後再討論細節。

圖形學系列 Ch14-Sampling-閲讀筆記

本章又是數學的内容,主要介紹采樣相關的方法與數學工具——蒙特卡洛積分、Metropolis方法等。這些技術在全局光照和路徑追蹤等方面得到有效利用。本章二十幾頁的内容其實并沒有説清楚很多事,所以需要自行查找或補充一些知識才能搞懂。比如,Measure(測度)這個概念,在原書第二版中文版中,被翻譯成度量,通篇讀下來感覺非常怪異,最後查找資料發現應該稱它為測度,可以說測度論是現代概率論的基石[1],兩者的關係可以類比成微積分和數學分析閒的關係,這裏就不多説了,有興趣可以自行查找資料。之後的内容我會盡量表達清楚,并把查閲的相關資料補充在後面,也限制於自己的能力,如有錯誤或不足歡迎指正。

圖形學系列 Ch23-Global Illumination-閲讀筆記

現實中,許多物體表面接受到的光不僅僅來自光源,還來自其他反射表面。這通常被稱爲間接光照或相互光照。根據這一性質可知,任意一個表面都可能被場景中所有其他表面照亮,這就導致計算複雜度為$\mathcal{O}(N^2)$,因此這一問題的處理也被稱爲“全局光照問題”。本章節就將介紹兩種處理方式:Particle TracingPath Tracing,最後將討論直接光照。