1、題目:根據以下bezier控制頂點,取△t=0.01,按照線性計算方法,編制程式計算曲線上的點,並繪製出曲線和控制多邊形。要求列印程式、圖。
34.4507 64.8979 92.7423
53.2133 62.9103 78.7443
72.6174 58.5389 64.6679
90.4922 53.8726 51.7908
107.6262 50.2527 40.0300
124.3115 48.5382 29.7099
2、首先貼乙個帖子來講述一下貝塞爾三次擬合的原理,
3、然後我們按老方法將資料點儲存在乙個名為「2.txt」的文件中,開始碼**。
#define _crt_secure_no_deprecate
//防止容器越界報錯
#include
#include
#include
//使用opengl;
#include
using
namespace std;
struct point
;glint winwidth =
600, winheight =
600;
//定義視窗大小
glfloat x0 =
0.0, b0 =
0.0, z0 =
100.0
;glfloat xref =
0.0, yref =
0.0, zref =
0.0;
// look-at point.視點
glfloat vx =
0.0, vy =
1.0, vz =
0.0;
// view-up vector
glfloat xwmin =
0.0, ywmin =
0.0, xwmax =
150.0
, ywmax =
150.0
;glfloat dnear =
0.0, dfar =
100.0
;vectorp;
//直接定義為全域性引數,免去傳參的麻煩(其實是本人不會傳參hhh)
vectorq;
void
init
(void
)void
show()
glend()
;glcolor3f
(0.0
,0.0
,1.0);
// 物體顏色blue
glbegin
(gl_line_strip)
;for
(int i =
0; i < p.
size()
; i++
)glend()
;glflush()
;}intmain
(int argc,
char
** ar**)
fclose
(fp)
;/*計算控制點座標*/
for(
int i =
0; i < num -
3; i++
) it = p.
begin()
; p.
insert
(it,q[0]
);//插入起始點
it = p.
end();
p.insert
(it,q[num-1]
);//插入末尾點
for(
int i =
0; i < num; i++
) cout << endl;
//輸出三次貝塞爾曲線的控制點
for(
int i =
0; i < p.
size()
; i++
)//接下來列印圖形
glutinit
(&argc, ar**)
;//initial glut 初始化
glutinitdisplaymode
(glut_single | glut_rgb)
;//set display mode, default set
glutinitwindowposition(50
,50);
//set left-top display window position 視窗定位
glutinitwindowsize
(winwidth, winheight)
;//set display window width and length 視窗大小
glutcreatewindow
("三次貝塞爾曲線擬合如下:");
//creat display window
init()
;glutdisplayfunc
(show)
;glutmainloop()
;return0;
}
4、執行結果:
5、最後
以上僅為個人見解,不妥之處請多多指教。歡迎交流
計算機輔助習題(二)
圖1中為一立方體,如果立方體繞對角線od逆時鐘旋轉30 點b為邊ad的中點,請計算旋轉前後a b以及c的座標值。要求採用組合變換的方法計算,列出計算步驟和結果。圖1.立方體及邊長尺寸 include include include const float pi 3.14 using namespac...
計算機輔助藥物設計 分子對接
分子對接計算是把配體分子放在受體活性位點的位置,然後按照幾何互補 能量互補以及化學環境互補的原則來實 價配體與受體相互作用的好壞,並找到兩個分子之間最佳的結合模式。分子對接的最初思想起源於fishere.的 鑰匙和鎖模型 是模擬配體小分子與受體生物大分子相互作用的一種技術方法。隨著x 射線晶體學和高...
計算機概論 計算機 輔助人腦的好工具
計算機的實質是接收使用者輸入指令與資料,經過 處理器的資料與邏輯單元運算處理後,以產生或儲存成有用的資訊。整台主機的重點在於 處理器 central processing unit,cpu cpu為乙個具有特定功能的晶元,裡頭含有微指令集。內部可分為 算術邏輯單元 和 控制單元 算術邏輯單元 主要負...