📄 fususiyong.cpp
字号:
// fususiyong.cpp: implementation of the Cfususiyong class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "fususiyong.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
Cfususiyong::Cfususiyong()
{
jisuan_cansu(8);
}
Cfususiyong::~Cfususiyong()
{
}
void Cfususiyong::jisuan_cansu(int p)
{
r=p;
if(r<2)r=2;
if(r>8)r=8;
if(r==8)
{
max_a=256;
max_b=128;
fenmu=16320.0;
}
if(r==7)
{
max_a=128;
max_b=64;
fenmu=8160.0;
}
if(r==6)
{
max_a=64;
max_b=32;
fenmu=4080.0;
}
if(r==5)
{
max_a=32;
max_b=16;
fenmu=2040.0;
}
if(r==4)
{
max_a=16;
max_b=8;
fenmu=1020.0;
}
if(r==3)
{
max_a=8;
max_b=4;
fenmu=510.0;
}
if(r==2)
{
max_a=4;
max_b=2;
fenmu=255.0;
}
}
void Cfususiyong::seding_TD(int i, int uc)
{
if(i<max_a)
{
TD[i].a=uc;
TD[i].b=0.0;
}
}
void Cfususiyong::seding_FFT()
{
pfusu.FFT(TD,FD,r);
}
void Cfususiyong::seding_FDm()
{
int i,m;
double a,b,c,d;
for(i=0;i<max_b;i++)
{
a=FD[i+1].a;
b=FD[i+1].b;
c=sqrt(a*a+b*b);
d=c*255.0/fenmu;
m=(int)d;
if(m<0)m=0;
if(m>255)m=255;
FDm[i]=(unsigned char)m;
}
}
int Cfususiyong::get_FDm(int i)
{
int ri=0;
if(i<max_b)
{
ri=FDm[i];
}
return ri;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -