| 5 | 1/1 | 返回列表 |
| 查看: 2355 | 回復: 6 | ||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | ||
[求助]
哪位大牛能給個用C++語言編寫的B樣條函數(shù)的代碼
|
||
| 如題 VC新手 不懂怎么弄 請教各位大蝦 謝謝 |

至尊木蟲 (著名寫手)
驃騎將軍

木蟲 (正式寫手)
|
先上個TC2.0下的代碼,從書上抄來的,效果是用B樣條畫個小鴨子,你可以自己改成VC代碼。 #include "graphics.h" void main() { int driver=9, mode=2; /*int x[20], y[20];*/ float t; int a0, a1, a2, a3, b0, b1, b2, b3, x1, y1, i, j; /*控制點坐標,20個(前4行),最后幾個點與前幾個點重合,是為了使畫出的圖形閉合*/ static int p[][2] = { 260, 100, 260, 20, 200, 20, 180, 60, 180, 60, 80, 60, 80, 90, 195, 80, 200, 140, 120, 200, 120, 340, 240, 360, 430, 360, 480, 180, 520, 140, 520, 140, 520, 140, 340, 160, 300, 200, 240, 160, 260, 100, 260, 20, 200, 20 }; initgraph(&driver, &mode, "" ;setlinestyle(0, 0, 3); /*逐個處理控制點*/ for(i = 0; i < 20; i++) { a0 = ( p[0] + 4 * p[i+1][0] + p[i+2][0] ) / 6; a1 = ( p[i+2][0] - p[0] ) /2; a2 = ( p[0] - 2 * p[i+1][0] + p[i+2][0] ) / 2; a3 =-( p[0] - 3 * p[i+1][0] + 3 * p[i+2][0] - p[i+3][0] ) / 6; b0 = ( p[1] + 4 * p[i+1][1] + p[i+2][1] ) / 6; b1 = ( p[i+2][1] - p[1] ) / 2; b2 = ( p[1] - 2 * p[i+1][1] + p[i+2][1] ) / 2; b3 =-( p[1] - 3 * p[i+1][1] + 3 * p[i+2][1] - p[i+3][1] ) / 6; /*生成離散點*/ for(j = 0; j < 30; j++) { t = j / 30.0; x1 = a0 + a1 * t + a2 * t * t + a3 * t * t * t; y1 = b0 + b1 * t + b2 * t * t + b3 * t * t * t; if(i==0 && j==0) moveto(x1, y1); else lineto(x1, y1); } } circle(220, 60, 8); /*setcolor(12);*/ setlinestyle(1, 0, 1); moveto(p[0][0], p[0][1]); /*畫包線*/ for(i = 1; i < 23; i++) { lineto(p[0], p[1]); } /*lineto(p[0][0], p[0][1]);*/ getch(); closegraph(); } |
木蟲 (正式寫手)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 291求調劑 +20 | Y-cap 2026-03-29 | 25/1250 |
|
|---|---|---|---|---|
|
[考研] 求調劑推薦 材料 304 +21 | 荷包蛋hyj 2026-03-26 | 21/1050 |
|
|
[考研] 070300化學求調劑 +13 | 小黃鴨寶 2026-03-30 | 13/650 |
|
|
[考研] 0703求調劑 +4 | zizimo 2026-03-31 | 4/200 |
|
|
[考研] 一志愿南昌大學324求調劑 +7 | hanamiko 2026-03-30 | 7/350 |
|
|
[考研] 復試調劑 +7 | 雙馬尾痞老板2 2026-03-31 | 7/350 |
|
|
[考研] 254材料與化工求調劑 +3 | 翰冬林楠 2026-03-30 | 4/200 |
|
|
[考研] 考研調劑求助 +7 | 13287130938 2026-03-31 | 7/350 |
|
|
[考研] 266分,求材料冶金能源化工等調劑 +8 | 哇呼哼呼哼 2026-03-27 | 10/500 |
|
|
[考研] 286求調劑 +5 | 丟掉懶惰 2026-03-27 | 8/400 |
|
|
[考研] 287求調劑 +17 | land xuxu 2026-03-26 | 17/850 |
|
|
[考研] 327求調劑 +5 | 小卡不卡. 2026-03-29 | 5/250 |
|
|
[考研] 材料專碩 085600求調劑 +7 | BBQ233 2026-03-30 | 7/350 |
|
|
[考研] 342求調劑 +4 | 加油a李zs 2026-03-26 | 4/200 |
|
|
[考研] 348求調劑 +6 | 小懶蟲不懶了 2026-03-28 | 6/300 |
|
|
[考研] 一志愿中南大學化學0703總分337求調劑 +6 | niko- 2026-03-27 | 6/300 |
|
|
[考研] 材料與化工304求B區(qū)調劑 +4 | 邱gl 2026-03-26 | 7/350 |
|
|
[考研] 316求調劑 +7 | 江辭666 2026-03-26 | 7/350 |
|
|
[考研] 330一志愿中國海洋大學 化學工程 085602 有讀博意愿 求調劑 +3 | wywy.. 2026-03-27 | 4/200 |
|
|
[考研] 08開頭275求調劑 +4 | 拉誰不重要 2026-03-26 | 4/200 |
|