请问在3D max 中什么叫采样?

请问在3D max 中什么叫采样?,第1张

楼主指的应该是3dsmax的super sample(超级采样)吧。那我先说说采样的道理。

采样是涉及到渲染的一个术语,就是对像素来取样来进行综合运算。简单理解采样率越高渲染质量就越好。

但采样有很多种类,在max和很多渲染器里都有出现,有的是针对锯齿采样,有的是对投影采样,有全局光采样,有光轮罩野线追踪采样等等,分工不同但目的都是为了提升渲染的精度。

下面说说超级采样。

普通的扫描线渲染有时候会发现画面里有些毛边,横纹或者锯齿,要消除这些缺陷就得启动超级采样,超级采样是单纯对像素进行的一个加强算法,精度可以细小到1/100个像素。启动超级采样后,上面提到的问题基本就得以解决,不过渲染速度也是大大地增加了,所以超级采样只在有问题的时候才敢使用。

只是到了max3之后又增加了几个采样类型,不过这些都是专业级的算法,对用基础用户来说不用去关心。关于详细的闷败解释,你在渲染面板选择采样方法的时候,就能看见下面列出文字解释算法。比如max 2.5 star的算法就是每5个像素进行一次加强运算,这5个像素排列是呈五角星的形状,当然比缺省的正方形腊喊算法要更进一步,也基本适合所有情形;Hammersley(这是个人名)就是4到40个采样点,X方向的像素是连续的,Y方向是随机,其余由程序来判断分配,既然x方向连续,那么就特别适合远景出现锯齿的情况,比如瓷砖地面延伸到远处锯齿就越来越明显,这时可以考虑这个算法。还有个blur的简直就是个模糊滤镜,要模糊都去后期软件处理了谁在这里折腾还浪费时间。

其实本来需要超级采样的情况就很少,况且这几种算法肉眼难以辨别差异,所以基本要用的话,使用最早的max 2.5 star的算法就足够了,提供这么多选项还真是让人头昏呢。

1、打开MATLAB,新建脚本。

2、在编辑器里输入代码。

3、Tp是观察时间,我们设置为64微妙,即64/1000;接着输入的伍丛代码是产生冲橘困M长采样序列x(n)。

4、把实验内容中给定的值设置好;再把给定的模拟信号式子输入进去。

5、subplot(3,2,1)的意思是:三行两列,在第一个位置作图。

6、代码输入完毕散念后,点击运行。

7、得到结果,对信号进行采样。

恩,程序明天给你。但是任意信号的采样后恢复是有条件的,必须是采样频率大于两倍的信号截至频率才行。

文件1

文件名 main.m

clear

clc

f0=10000%用来模拟 模拟信号的 数字信号的采样频率 fs<<f0

f=[10 50 100]%f是模拟信号的频率表 max(f)<250

fs=500%信号的采样频率

N=500%数字信号的样点数

%模拟信号的生成

s=signal_generate(f,f0,N)

subplot(4,1,1)plot(s)axis([1 N min(s) max(s)])

%采样点数,间隔的计算

deltaN=f0/fs

Ns=N/deltaN

%采样

for i=1:Ns

sd(i)=s((i-1)*deltaN+1)

end

subplot(4,1,2)stem(sd,'.')axis([1 Ns min(s) max(s)])

%恢复出方波信号

sp=[]

for i=1:Ns

sp=[sp sd(i)*ones(1,deltaN)]

end

subplot(4,1,3)plot(sp)axis([1 N min(s) max(s)])

%低通滤波恢复出原始信号

Wm=fs/f0

level=5/Wm

b=low_filter(Wm,level)

delay=level/2

sp=[sp zeros(1,delay)]

so=filter(b,1,sp)

so=so(delay+1:delay+N)/deltaN

subplot(4,1,4)plot(so)axis([1 N min(s) max(s)])

文件1 结束

文件2

文件名 signal_generate.m

function s=signal_generate(f,f0,N)

f0=10000

num=length(f)

s=zeros(1,N)

for i=1:num

s=s+sin(f(i)*2*pi*(1:N)/f0)

end

文件2 结束

文件3

文件名 low_filter.m

function b=low_filter(Wm,level)

Nm=ceil(Wm/2*level)

H=zeros(1,level)

H(1:Nm)=ones(1,Nm)

H(Nm+1)=0.5

H(level-Nm+1)=-0.5

H(level-Nm+2:level)=-ones(1,Nm-1)

theta=-(level-1)/level*pi*(0:level-1) %phase

Hg=H.*exp(j*theta)

b=real(ifft(Hg))

b=b/(sum(b.^2))

文件3 结束

新建这三个文件后,拷贝在统一个目录里,运行main.m就可以了, 每一个过程都有相应的图形显示。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8219312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存