亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? good.txt

?? 比較好的算法
?? TXT
字號:
Visual C++ 
 
Delphi 
 
Visual Basic 
 
Java 
 
其他開發(fā)語言 
 
 
ASP  
 
Perl  
 
Javascript  
 
.NET  
 
網(wǎng)站制作技術(shù)  
 
 
   
  
 
 網(wǎng) 站 首 頁  
  
  編 程 技 術(shù) 
  
  網(wǎng) 絡(luò) 編 程  
  
  數(shù) 據(jù) 庫 開 發(fā)  
  
  游 戲 開 發(fā)  
  
  文 件 格 式  
  
  其 他  
 
 
 
  站 內(nèi) 搜 索 查 詢  ==搜索站內(nèi)== ==搜索互聯(lián)網(wǎng)==        
 

優(yōu)化了的過關(guān)鍵點的光滑曲線擬合算法

[本頁面推薦在1024x768分辯率下瀏覽]
文章類別:Visual C++     
網(wǎng)站目錄: 網(wǎng)站首頁 —> Visual C++ 
轉(zhuǎn)載自:www.csdn.net



這個是我一個數(shù)學(xué)老師(教授,數(shù)學(xué)高手,經(jīng)常自己做算法)給我的例子,用于多個離散點擬合光滑曲線的,他優(yōu)化了追趕法,這個例子適用于閉合和不閉合兩種情況。當(dāng)時由于工程情況,寫的急,代碼不好看,但是很好用。為了方便傳遞參數(shù),我做了一個鏈表,用時候根據(jù)自己情況可以修改,核心算法不動即可。

class CFoldPoint

{public:

    double X;    double Y;

};

typedef CTypedPtrList CFoldPointList;


typedef CArray CDoubleArray;


三個函數(shù),SPLine 調(diào)用另外兩個。用時候直接調(diào)用SPLine函數(shù),入口pList是已知離散點鏈表,pDestList是生成的點的鏈表。SM是在兩個點中間插入點的數(shù)目,continue=0是采樣點無規(guī)律,要求生成閉合曲線。1是采樣點x坐標連續(xù) 2是y連續(xù)

void ZG(CDoubleArray *A,CDoubleArray *B,CDoubleArray *C,CDoubleArray *G,int &LOGI)
{
 //追趕法
 register long I;
 int N;
 N=A->GetSize();
 if(LOGI==0)
 {
  (*C)[0]=(*C)[0]/(*B)[0];
   for(I=1;I   {
    (*B)[I]=(*B)[I]-(*A)[I]*(*C)[I-1];
   (*C)[I]=(*C)[I]/(*B)[I];
  }
  (*A)[0]=0.;
   (*C)[N-1]=0.;
   LOGI=1;
  }
  (*G)[0]=(*G)[0]/(*B)[0];
  for(I=1;I  {
   (*G)[I]=((*G)[I]-(*A)[I]*(*G)[I-1])/(*B)[I];
  }
  for(I=N-2;I>-1;I--)//DO 30 I=N-1,1,-1
  {
   (*G)[I]=(*G)[I]-(*C)[I]*(*G)[I+1];
  }
  return;
}

void SPLine4(CDoubleArray *X,CDoubleArray *Y,double &XI,double&YI,CDoubleArray *A,CDoubleArray *B,CDoubleArray *C,CDoubleArray *G,int &LOGI,int MD)
{
 
 register long I;
 double W1,W2,H;
 int N=X->GetSize();
 
 if(LOGI==0)
 {
  for(I=1;I  {
   (*B)[I]=(*X)[I]-(*X)[I-1];
   (*C)[I]=((*Y)[I]-(*Y)[I-1])/(*B)[I];
  }
  for(I=1;I  {
   (*A)[I]=(*B)[I]+(*B)[I+1];
   (*G)[I]=6.*((*C)[I+1]-(*C)[I])/(*A)[I];
   (*A)[I]=(*B)[I]/(*A)[I];
  }
  for(I=1;I  {
   (*C)[I]=1.-(*A)[I];
   (*B)[I]=2.;
  }
  (*B)[0]=2.;
  (*B)[N-1]=2.;
  if(MD==3)
  {
   (*C)[0]=-1.;
   (*A)[N-1]=-1.;
   (*A)[0]=0.;
   (*C)[N-1]=0.;
  }
  ZG(A,B,C,G,LOGI);
 }
 for(I=1;I {
  if(XI>=(*X)[I-1] && XI<=(*X)[I])//GE LE
  {
   H=(*X)[I]-(*X)[I-1];
   W1=(*X)[I]-XI;
   W2=XI-(*X)[I-1];
   YI=W1*W1*W1*(*G)[I-1]/6./H;
   YI=YI+W2*W2*W2*(*G)[I]/6./H;
   YI=YI+W1*((*Y)[I-1]-(*G)[I-1]*H*H/6.)/H;
   YI=YI+W2*((*Y)[I]-(*G)[I]*H*H/6.)/H;
  }
 }
}
void SPLine(CFoldPointList *pList,CFoldPointList *pDestList,int SM,int Continue=0)
{
 CFoldPoint *pFoldHead,*pFoldTail;
 POSITION pos;
 CDoubleArray A,B,C,G,X,Y,T;
 double XI,YI,XX,YY;
 register long i;
 long N;
 int LOGI;
 long RealSM;
 long Bei,Yu;
 CFoldPoint *pFold;
 file://賦初值
 N=pList->GetCount();
 A.SetSize(N);
 B.SetSize(N);
 C.SetSize(N);
 G.SetSize(N);
 X.SetSize(N);
 Y.SetSize(N);
 T.SetSize(N);
 RealSM=(N-1)*SM+N;
 pos=pList->GetHeadPosition();
 for(i=0;i {
  pFold=pList->GetNext(pos);
  X[i]=pFold->X;
  Y[i]=pFold->Y;
 }
 
 pFoldHead=pList->GetHead();
 pFoldTail=pList->GetTail();
 if(Continue==0)//pFoldHead->X==pFoldTail->X && pFoldHead->Y==pFoldTail->Y)
 { file://閉合
  T[0]=0;
  for(i=0;i  {
   T[i+1]=T[i]+CalculateDistance(X[i],Y[i],X[i+1],Y[i+1])+0.000000001;
  }
  LOGI=0;
  YI=0;
  for(i=0;i  {
   Bei=i/(SM+1);
   Yu=i%(SM+1);
   if(Yu!=0)
   {
    XI=T[Bei]+(T[Bei+1]-T[Bei])/(SM+1)*Yu;
    SPLine4(&T,&Y,XI,YI,&A,&B,&C,&G,LOGI,3);
    YY=YI;//+Y[Bei];
   }
   else
   {
    YY=Y[Bei];
   }
   pFold=new CFoldPoint;
   pFold->Y=YY;
   pDestList->AddTail(pFold);
  }
  LOGI=0;
  YI=0;
  pos=pDestList->GetHeadPosition();
  for(i=0;i  {
   Bei=i/(SM+1);
   Yu=i%(SM+1);
   if(Yu!=0)
   {
    XI=T[Bei]+(T[Bei+1]-T[Bei])/(SM+1)*Yu;
    SPLine4(&T,&X,XI,YI,&A,&B,&C,&G,LOGI,3);
    YY=YI;//+X[Bei];
   }
   else
   {
    YY=X[Bei];
   }
   pFold=pDestList->GetNext(pos);
   pFold->X=YY;
  }
 }
 else if(Continue==1)
 {
  file://x連續(xù)
  LOGI=0;
  YI=0;
  for(i=0;i  {
   Bei=i/(SM+1);
   Yu=i%(SM+1);
   if(Yu!=0)
   {
    XI=X[Bei]+(X[Bei+1]-X[Bei])/(SM+1)*Yu;
    SPLine4(&X,&Y,XI,YI,&A,&B,&C,&G,LOGI,3);
    XX=XI;
    YY=YI;
   }
   else
   {
    XX=X[Bei];
    YY=Y[Bei];
   }
   pFold=new CFoldPoint;
   pFold->X=XX;
   pFold->Y=YY;
   pDestList->AddTail(pFold);
  }
 }
 else
 {
  file://y連續(xù)
  LOGI=0;
  YI=0;
  for(i=0;i  {
   Bei=i/(SM+1);
   Yu=i%(SM+1);
   if(Yu!=0)
   {
    XI=Y[Bei]+(Y[Bei+1]-Y[Bei])/(SM+1)*Yu;
    SPLine4(&Y,&X,XI,YI,&A,&B,&C,&G,LOGI,3);
    XX=YI;
    YY=XI;
   }
   else
   {
    XX=X[Bei];
    YY=Y[Bei];
   }
   pFold=new CFoldPoint;
   pFold->X=XX;
   pFold->Y=YY;
   pDestList->AddTail(pFold);
  }
 }
 return;
}

 
 
相關(guān)文章用VC進行屏幕截取編程
線程通信初探
我的DDK學(xué)習(xí)經(jīng)驗(轉(zhuǎn)載)
在微軟公布WIN2K源代碼之后,相繼開發(fā)了WINDOWS 3000
怎樣在一個一般窗口或是Dialog上面使用分割窗口.
Visual C++ 小內(nèi)存堆(Small Block Heap)問題
C/C++是程序員必須掌握的語言嗎?
優(yōu)化了的過關(guān)鍵點的光滑曲線擬合算法的修正(一個鏈表的定義)
最小二乘法曲線擬合
最小二乘法直線擬合
窮舉密碼算法
用Win32 API創(chuàng)建不規(guī)則窗口
屏幕取詞核心內(nèi)幕
突破C++的虛擬指針--C++程序的緩沖區(qū)溢出攻擊
檢查CPU是否支持MMX指令的代碼
屏幕抓字教程
DirectDraw6的初級編程應(yīng)用 —— 配合實例講解,讓你迅速入門
DirectX編程技術(shù) --- 想學(xué)游戲編程嗎?必讀
如何在對話框中響應(yīng)鍵盤按鍵
STL之父訪談錄(一萬二千字的大塊頭)
 
 
所有分類Visual C++
Delphi
Visual Basic
ASP
Perl
Java
Javascript
數(shù)據(jù)庫開發(fā)
其他開發(fā)語言
游戲開發(fā)
文件格式
網(wǎng)站制作技術(shù)
其他
.NET
 

相關(guān)網(wǎng)站技術(shù)大雜燴 
linuxsir技術(shù)文檔
freebsdforums技術(shù)文檔
51js技術(shù)文檔
cnoug技術(shù)文檔 
 

合作事項 | 業(yè)務(wù)聯(lián)系 | 廣告刊登 | 計數(shù)器 | 加入收藏 
[ www.ZaHui.com ]   
Copyright ? 2000-2004 www.ZaHui.com All rights reserved  
 
  
 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一区二区视频| 美女诱惑一区二区| 日本一区二区三区视频视频| 欧美日韩国产乱码电影| 欧美在线观看禁18| 欧美综合视频在线观看| 色噜噜狠狠色综合欧洲selulu| 91在线一区二区| 色就色 综合激情| 欧美在线免费视屏| 欧美日韩dvd在线观看| 56国语精品自产拍在线观看| 正在播放亚洲一区| 日韩免费福利电影在线观看| 日韩女优av电影在线观看| 精品免费国产二区三区| 久久婷婷色综合| 欧美激情一区二区三区蜜桃视频 | 在线观看一区二区视频| 在线视频一区二区三| 欧美体内she精高潮| 正在播放一区二区| 久久久久久久综合日本| 国产精品传媒视频| 亚洲国产aⅴ天堂久久| 日韩精品欧美成人高清一区二区| 免费在线欧美视频| 国产v综合v亚洲欧| 99re热这里只有精品视频| 在线精品视频免费播放| 日韩一区二区三区四区五区六区| 久久免费偷拍视频| 最近中文字幕一区二区三区| 亚洲大型综合色站| 国产精品自在在线| 在线中文字幕一区二区| 欧美一区二区三区男人的天堂| 久久网这里都是精品| 亚洲裸体xxx| 老司机精品视频一区二区三区| 丁香另类激情小说| 欧美日韩国产影片| 国产欧美精品一区二区色综合朱莉| 亚洲女人的天堂| 麻豆专区一区二区三区四区五区| 国产91露脸合集magnet | 日韩欧美在线网站| 中文幕一区二区三区久久蜜桃| 亚洲另类色综合网站| 日韩在线一区二区三区| 国产经典欧美精品| 欧美做爰猛烈大尺度电影无法无天| 欧美大白屁股肥臀xxxxxx| 中文字幕日韩一区| 美腿丝袜亚洲一区| 色欧美片视频在线观看在线视频| 日韩欧美视频一区| 亚洲激情五月婷婷| 国产一区福利在线| 欧美日韩精品电影| 久久久午夜精品理论片中文字幕| 一区二区三区在线免费视频| 国产一区二区三区在线观看免费视频 | 亚洲国产视频一区二区| 国产在线精品国自产拍免费| 欧美色成人综合| 综合分类小说区另类春色亚洲小说欧美| 日产欧产美韩系列久久99| 99国产精品99久久久久久| 精品久久久影院| 日日摸夜夜添夜夜添亚洲女人| 成人av影院在线| 亚洲精品一区二区三区福利| 天堂一区二区在线免费观看| 色综合久久久久综合体 | 精品系列免费在线观看| 欧美日韩一级二级三级| 亚洲视频在线观看一区| 国产成人免费视频精品含羞草妖精| 欧美顶级少妇做爰| 亚洲综合色网站| av在线不卡免费看| 久久久不卡网国产精品二区| 日本va欧美va精品发布| 欧美视频中文字幕| 亚洲麻豆国产自偷在线| 岛国av在线一区| 国产清纯白嫩初高生在线观看91| 久久99久久99小草精品免视看| 欧美视频完全免费看| 亚洲免费观看视频| av电影一区二区| 国产欧美va欧美不卡在线| 国产一区视频导航| 久久久综合精品| 国产一区二区三区免费看| 日韩精品一区二区三区三区免费 | 亚洲韩国精品一区| 色综合中文字幕国产| 国产午夜精品福利| 国产美女精品人人做人人爽| 日韩一二三区视频| 捆绑紧缚一区二区三区视频| 欧美电视剧免费观看| 国产一区二区三区香蕉| 国产欧美日韩精品一区| 成人免费看的视频| 国产精品入口麻豆原神| 99久久精品免费精品国产| 国产精品欧美一级免费| 99国产精品久久久久久久久久| 1024亚洲合集| 91麻豆高清视频| 亚洲国产综合色| 91精品国产色综合久久不卡蜜臀 | 久久精品免费看| 久久亚洲捆绑美女| 国产精品一区二区91| 欧美国产日韩亚洲一区| youjizz久久| 亚洲中国最大av网站| 欧美日韩一区精品| 爽好多水快深点欧美视频| 欧美一级二级三级蜜桃| 国产精品白丝av| 亚洲天堂免费在线观看视频| 欧美性视频一区二区三区| 日日摸夜夜添夜夜添精品视频| 欧美mv和日韩mv的网站| 国产呦精品一区二区三区网站 | 国产麻豆视频一区| 国产精品免费aⅴ片在线观看| 91免费版在线看| 日韩精品亚洲一区| 久久综合九色综合欧美就去吻| 播五月开心婷婷综合| 亚洲妇女屁股眼交7| 精品999久久久| 99re66热这里只有精品3直播 | 在线免费观看一区| 亚洲成人激情av| 欧美精品一区二区三区很污很色的 | 日韩欧美一级二级三级| 国产高清视频一区| 亚洲最大成人综合| 日韩视频在线永久播放| 成人黄色小视频| 日韩中文字幕亚洲一区二区va在线| 国产亚洲精品久| 欧美丝袜第三区| 国产精品一区不卡| 亚洲成人综合在线| 日本一区二区高清| 在线不卡中文字幕播放| 国产999精品久久久久久| 亚洲va在线va天堂| 中文字幕欧美日韩一区| 欧美精品粉嫩高潮一区二区| 国产精品123| 蜜桃在线一区二区三区| 自拍偷拍国产亚洲| wwww国产精品欧美| 欧美日韩成人高清| 91在线国产福利| 国产综合色产在线精品| 亚洲va国产天堂va久久en| 亚洲国产成人自拍| 日韩欧美国产一区二区在线播放| 99国产精品久| 国产一区二三区| 香蕉成人啪国产精品视频综合网| 中文字幕 久热精品 视频在线| 欧美一区二区美女| 在线观看视频一区| 成人精品在线视频观看| 久久激情五月激情| 亚洲va中文字幕| 亚洲黄色av一区| 国产欧美日韩一区二区三区在线观看| 欧美日韩小视频| 91久久线看在观草草青青| 成人午夜免费视频| 国产老肥熟一区二区三区| 日韩av网站免费在线| 亚洲永久精品国产| 亚洲欧美成aⅴ人在线观看| 亚洲国产精品传媒在线观看| 精品欧美一区二区久久| 欧美男女性生活在线直播观看| 一本色道久久综合亚洲91| 不卡视频免费播放| 不卡av电影在线播放| 成人午夜激情视频| 国产精品亚洲人在线观看| 久久狠狠亚洲综合| 老司机午夜精品| 精品中文字幕一区二区小辣椒| 首页国产丝袜综合| 日本美女一区二区三区视频| 视频精品一区二区|