• 大小: 20MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-03
  • 语言: 其他
  • 标签: 3D引擎  

资源简介

完整的教学用3D引擎,讲到到大多数常用的技术.是这本书的随书源码

资源截图

代码片段和文件信息

//
// The Computer Image
//
// This file implements a Fast Fourier Transform of a 1D function
//

#include 
#include “../fft.h“

#define SWAP(ab) tempr=(a);(a)=(b);(b)=tempr

void four1(float *dataint nnint isign)
//
// Replaces data by its discrete Fourier transform if isign is input as 1;
// or replaces data by nn times its inverse discrete Fourier transform if
// isign is input as -1. data is a complex array of length nn input as a 
// real array data[1..2*nn]. nn must be an integer power of 2.
//
{
     int nmmaxmjistepi;
     double wtempwrwprwpiwitheta;
     float temprtempi;

     n=nn<<1;
     j=1;
     for( i=1;i          {
           if (j>i)
              {
               SWAP(data[j]data[i]);
               SWAP(data[j+1]data[i+1]);
              }
           m=n>>1;
           while( m>=2 && j>m )
                  {
                   j-=m;
                   m>>=1;
                  }
           j+=m;
          }
     mmax=2;
     while( n>mmax )
            {
             istep=mmax<<1;
             theta=6.28318530717959/(isign*mmax);
             wtemp=sin(0.5*theta);
             wpr=-2.0*wtemp*wtemp;
             wpi=sin(theta);
             wr=1.0;
             wi=0.0;
             for( m=1;m                 {
                  for( i=m;i<=n;i+=istep )
                       {
                        j=i+mmax;
                        tempr=wr*data[j]-wi*data[j+1];
                        tempi=wr*data[j+1]+wi*data[j];
                        data[j]=data[i]-tempr;
                        data[j+1]=data[i+1]-tempi;
                        data[i]+=tempr;
                        data[i+1]+=tempi;
                       }
                  wr=(wtemp=wr)*wpr-wi*wpi+wr;
                  wi=wi*wpr+wtemp*wpi+wi;
                 }
             mmax=istep;
            }

}

void twofft(float *data1float *data2float *fft1float *fft2int n)
//
// Given two real input arrays data[1..n] and data2[1..n] this routine
// calls four1 and returns two complex output arrays fft1 and fft2
// each of complex length n (real dimensions of [1..2n]) which contain
// the discrete Fourier transforms of the respective datas. n must be 
// a integer power of two.
//
{
     int nn3nn2jjj;
     float repremaipaim;

     nn3=1+(nn2=2+n+n);
     for( j=1jj=2;j<=n;j++jj+=2 )
          {
           fft1[jj-1]=data1[j];
           fft1[jj]=data2[j];
          }
     four1(fft1n1);
     fft2[1]=fft1[2];
     fft1[2]=fft2[2]=0.0;
     for( j=3;j<=n+1;j+=2 )
          {
           rep=0.5*(fft1[j]+fft1[nn2-j]);
           rem=0.5*(fft1[j]-fft1[nn2-j]);
           aip=0.5*(fft1[j+1]+fft1[nn3-j]);
           aim=0.5*(fft1[j+1]-fft1[nn3-j]);
           fft1[j]=rep;
           fft1[j+1]=aim;
           fft1[nn2-j]=rep;
           fft1[nn3-j]=-aim;
           fft2[j]=aip;
           fft2[j+1]=-rem;
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     352256  2002-10-01 04:47  Fly3D2.0\autorun.exe

     文件       2998  1999-09-22 15:41  Fly3D2.0\autorun.ico

     文件         47  1999-09-23 04:21  Fly3D2.0\autorun.inf

     文件         49  2000-08-28 19:13  Fly3D2.0\Fly3D.url

     文件      24064  2002-09-17 23:34  Fly3D2.0\readme.doc

     文件      36864  2002-03-13 23:13  Fly3D2.0\sse_code.doc

     文件      10130  1994-05-09 00:23  Fly3D2.0\wfft1d\EQANLIZE.CPP

     文件      13843  2002-09-16 22:48  Fly3D2.0\wfft1d\WFFT1D.CPP

     文件        221  1997-12-23 20:12  Fly3D2.0\wfft1d\WFFT1D.DEF

     文件      89600  1998-01-08 21:43  Fly3D2.0\wfft1d\WFFT1D.EXE

     文件      26346  1998-01-08 21:43  Fly3D2.0\wfft1d\WFFT1D.IDE

     文件         77  1995-10-12 00:25  Fly3D2.0\wfft1d\WFFT1D.INI

     文件       5996  1998-01-08 21:42  Fly3D2.0\wfft1d\WFFT1D.RC

     文件      10101  1998-01-05 19:16  Fly3D2.0\wfft1d\fft.cpp

     文件        279  1994-05-05 23:00  Fly3D2.0\wfft1d\fft.h

     文件      59688  1997-12-18 21:03  Fly3D2.0\wfft1d\fpobtn.dll

     文件   26344204  2002-10-04 03:00  Fly3D2.0\setup\Fly3D2_full.exe

----------- ---------  ---------- -----  ----

             26976763  卷 1               17


评论

共有 条评论