看板Programming
标 题Re: [问题]如何画出平滑的sin波...
发信站无名小站 (Tue Oct 31 14:37:15 2006)
转信站ptt!ctu-reader!ctu-peer!news.nctu!netnews.csie.nctu!wretch
※ 引述《[email protected] (老实人"的代表...)》之铭言:
> 很感谢大家的回家...
> 我初步推论应该是函数本身没有办法精确画到小数点位数...
> 例如 1.234 好了, 一个pixel应该都是一个的,没有 0.234个的...@@"
> 所以我还是再想想好了...^_^
你有没有考虑过周期的问题? (1个波的取样点数)
假设你想画一个频率1000的Sin波,取样频率为48000,
代表1秒内有1000个Sin波,而你取了48000点,
所以每个Sin波刚好有48个点. 画出来的图会是平滑的.
假设你想画一个频率1000的Sin波,取样频率为44100,
同理,每个Sin波有 44100/1000 = 44.1 个点. 这时画出来的Sin波就会有点怪怪的.
解决的方法是,不要以一个波为周期,改成10个波为周期,
此时,每"10"个Sin波有 441000/1000 = 441 个点. 如此一来,Sin波又变成平滑了.
--
夫兵者不祥之器物或恶之故有道者不处君子居则贵左用兵则贵右兵者不祥之器非君子
之器不得已而用之恬淡为上胜而不美而美之者是乐杀人夫乐杀人者则不可得志於天下
矣吉事尚左凶事尚右偏将军居左上将军居右言以丧礼处之杀人之众以哀悲泣之战胜以
丧礼处之道常无名朴虽小天下莫能臣侯王若能守之万物将自宾天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦将知止知止可以不h165-203-67-58.seed.net.tw海