計算機輔助設計5 2

2021-10-04 12:21:04 字數 2635 閱讀 5370

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為乙個具有特定功能的晶元,裡頭含有微指令集。內部可分為 算術邏輯單元 和 控制單元 算術邏輯單元 主要負...