關于畫方程圖像的一些思考
22/12/13:
目的:畫出方程的圖像(即畫出f(x,y)=0的圖像)?
由基本函數(shù)組成的非無窮級數(shù)的非分段復合方程在任意有限的定義區(qū)間上所得到的圖像由有限條連續(xù)封閉或延伸至定義區(qū)間外的曲線構成。(這句是錯的,詳見后文)
?現(xiàn)在的問題是上述命題的證明(這不重要)和如何求出定義區(qū)間內(nèi)曲線的條數(shù)以及如何快速求得在曲線上的點。?
有幾個大方向:解復方程、找到若干分段函數(shù)、找到若干參數(shù)方程、找到特殊曲線并構建曲線系(特指三角方程)。?
堅決反對把每一點求出來是否等于0然后連線的這種做法,因為時間復雜度為O(n^2),太高了。
22/12/16:
我打算加入復數(shù)的概念,這樣解復方程就成為正式要解決的問題。?
因為我之前忽略了恒等式,即sqrt(1-x^2-y^2)-sqrt(1-x^2-y^2) =0就表示單位圓,是一個二維的面。
這樣,方程f(x,y)=0可以表示由多個點、多條曲線、多個曲面構成的圖形(平方相加等于零即取交集,乘積等于零即取并集);?
又因三角與反三角可以用復變函數(shù)來解決(而無需引入無窮級數(shù)),
因此,現(xiàn)在只有參數(shù)方程這條路能走得通,即進行消參的逆過程。?
或者是,再搞幾個新方向?
22/12/21
不是,真要那么復雜嗎?我還指望不用到sin和arctan。


其他函數(shù)至少還能用無窮級數(shù)(傅立葉變換)來處理(好比說取整函數(shù)、符號函數(shù)),但是階躍函數(shù)我連它的定義都看不懂。
這樣的話,只好把三角函數(shù)、反三角函數(shù)用無窮級數(shù)來算,一是精確度是大量的缺失,二是時間復雜度的突增。
我現(xiàn)在再試想有沒有什么算法能直接用CPU計算sin和arcsin。
附:但是,用CPU計算對數(shù)很簡單:先用換底公式轉換成自然對數(shù),事先準備好整數(shù)的對數(shù)表(雙精度浮點數(shù)只需要準備ln2^1024<710個數(shù)),再轉換成lna(b<a<b+1, b為整數(shù)),再計算1/x從b到a的積分(累加即得),最后經(jīng)過轉換得到原值。
FPU?對不起,我不認。
至于坐標軸和網(wǎng)格,可以分別采用xy=0和sin(kπx)*sin(kπy)=0并作圖,即無需額外的代碼來實現(xiàn)。
整理一下現(xiàn)在需要做的事:
一、(重要)對方程試圖增加一個參數(shù)并映射到單位圓(閉合曲線)上,精度中間大兩頭?。筛鶕?jù)采樣的分散或密集來調(diào)整曲線的精確度)。
二、對于限制圖像的不等式/方程分離出來,使之變成新的限制條件。
三、(重要)對于三角函數(shù)、反三角函數(shù),思考不用無窮級數(shù)如何計算(不包括取無窮級數(shù)前幾項,隨后根據(jù)周期映射到[-2π,2π)上),同時思考對于符號函數(shù)、取整函數(shù)、狄利克雷函數(shù)等不通過傅立葉變換如何表示(不包括使用簡單的分段函數(shù))。
四、對于復方程,通過Re(x,y)和Im(x,y)來使得與實方程類似的解法。
五、思考如何通過隱函數(shù)的導數(shù)來判斷在原方程一點的偏移(即通過對隱函數(shù)求導,已知f(a,b)=0如何得到f(a+,b')=0時b'的值)。(這樣的話也是只用一層循環(huán)。)
六、試圖將方程變換為一個周期內(nèi)經(jīng)過若干次平移、伸縮、旋轉等簡單函數(shù)變換或反函變換來使方程轉換為函數(shù)。
七、(最重要)如何使用其他方法(時間復雜度小于等于O(nlogn))來畫方程的圖像。
本文允許任何人轉載或復制