| 7 | 1/1 | 返回列表 |
| 查看: 2334 | 回復(fù): 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; /*控制點坐標(biāo),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(); } |

木蟲 (正式寫手)
木蟲 (正式寫手)
木蟲 (正式寫手)
| 7 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 333求調(diào)劑 +5 | 87639 2026-03-21 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 求調(diào)劑 +4 | 要好好無聊 2026-03-21 | 4/200 |
|
|
[考研] 297求調(diào)劑 +3 | 喜歡還是不甘心 2026-03-20 | 3/150 |
|
|
[考研] 一志愿深大,0703化學(xué),總分302,求調(diào)劑 +4 | 七月-七七 2026-03-21 | 4/200 |
|
|
[考研] 0703化學(xué)297求調(diào)劑 +3 | Daisy☆ 2026-03-20 | 3/150 |
|
|
[考研] 279求調(diào)劑 +5 | 紅衣隱官 2026-03-21 | 5/250 |
|
|
[考研] 310求調(diào)劑 +3 | baibai1314 2026-03-16 | 3/150 |
|
|
[考研] 307求調(diào)劑 +3 | wyyyqx 2026-03-17 | 3/150 |
|
|
[考研] 083200學(xué)碩321分一志愿暨南大學(xué)求調(diào)劑 +3 | innocenceF 2026-03-17 | 3/150 |
|
|
[考研] 材料專碩英一數(shù)二306 +7 | z1z2z3879 2026-03-18 | 7/350 |
|
|
[考研] 一志愿中海洋材料工程專碩330分求調(diào)劑 +8 | 小材化本科 2026-03-18 | 8/400 |
|
|
[考研] 一志愿 西北大學(xué) ,070300化學(xué)學(xué)碩,總分287,雙非一本,求調(diào)劑。 +4 | 晨昏線與星海 2026-03-19 | 4/200 |
|
|
[考研] 一志愿中南化學(xué)(0703)總分337求調(diào)劑 +8 | niko- 2026-03-19 | 9/450 |
|
|
[考研] 一志愿西南交通 專碩 材料355 本科雙非 求調(diào)劑 +5 | 西南交通專材355 2026-03-19 | 5/250 |
|
|
[考研] 353求調(diào)劑 +3 | 拉鉤不許變 2026-03-20 | 3/150 |
|
|
[考研] 一志愿中國海洋大學(xué),生物學(xué),301分,求調(diào)劑 +5 | 1孫悟空 2026-03-17 | 6/300 |
|
|
[考博] 26博士申請 +3 | 1042136743 2026-03-17 | 3/150 |
|
|
[考研] 070303 總分349求調(diào)劑 +3 | LJY9966 2026-03-15 | 5/250 |
|
|
[考研] 327求調(diào)劑 +6 | 拾光任染 2026-03-15 | 11/550 |
|
|
[考研] 085601材料工程315分求調(diào)劑 +3 | yang_0104 2026-03-15 | 3/150 |
|