freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c課程設(shè)計(jì)報(bào)告-3d模型管理系統(tǒng)設(shè)計(jì)-資料下載頁

2025-05-14 01:07本頁面

【導(dǎo)讀】單的3D模型創(chuàng)建系統(tǒng)的實(shí)現(xiàn)過程。傳統(tǒng)的2D圖形已經(jīng)不能滿足人們的需求。為了更好的展現(xiàn)現(xiàn)實(shí)世界的物體,人門迫切需要一個(gè)3D建模系統(tǒng)。本程序主要是實(shí)現(xiàn)初步3D模型創(chuàng)建和3D模型變換的兩大功能。使學(xué)生進(jìn)一步理解和掌握課程上C++語言基礎(chǔ)教程書寫所學(xué)各種基本抽象數(shù)。據(jù)類型的俄邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和操作實(shí)現(xiàn)算法,以及它們在程序中的使用方法。生進(jìn)行程序設(shè)計(jì)的基本能力,使對C++系統(tǒng)編程有一個(gè)大致的了解。圖2里的CObject派生的所有類都是MFC類,這里不再細(xì)述。密切相關(guān)的類有TDPoint、Border、Plane、ThreeD、TdNode和List_3D,其詳

  

【正文】 1 head p pM。 delete p。 length。 return true。 TdNode *q。 for int i 1。i n。i++ q p。 p p pM。 q pM p pM。 length。 delete p。 return true。 //////////////////////////////////////////////////// ThreeD* List_3D::Get_3D int n if n 1||n length return NULL。 TdNode *p head。 for int i 1。i n。i++ p p pM。 return p m_3d。 //////////////////////////////////////////////////// void List_3D::RefreshCentre if length 0 return。 int i,nbefore 0。 TdNode *p head。 for i 1。i length。i++ nbefore+ p m_3d GetpN 。 p p pM。 //p 指向最后一個(gè)節(jié)點(diǎn) float xc 0,yc 0,zc 0。 TDPoint point。 for i 1。i p m_3d GetpN 。i++ if p m_3d GetPoint i,point xc+ 。 yc+ 。 zc+ 。 nbefore*+xc / nbefore+p m_3d GetpN 。 nbefore*+yc / nbefore+p m_3d GetpN 。 nbefore*+zc / nbefore+p m_3d GetpN 。 //////////////////////////////////////////////////// void List_3D::SetViewPoint float x1,float y1,float z1 x1。 y1。 z1。 //////////////////////////////////////////////////// void List_3D::SetViewAngle float a,float b,float r float mo float sqrt a*a+b*b+r*r 。 a/mo。 b/mo。 //單位化 r/mo。 TdNode *q head。 while q q m_3d MarkPlane viewAngle 。 q q pM。 //////////////////////////////////////////////////// void List_3D::SetViewAngle TDPoint amp。p float r float sqrt *+*+* 。 。 。 //單位化 。 TdNode *q head。 while q q m_3d SetPointBorderPlaneMark viewPoint,viewAngle 。 q q pM。 //////////////////////////////////////////////////// void List_3D::GetViewPointAndAndle CString amp。s0 viewPoint %f,%f,%f \nviewAngle %f,%f,%f ,,viewAng 。 //////////////////////////////////////////////////// void List_3D::caculatePlaneNormalVerctor TdNode *p head。 while p p m_3d caculatePlaneS 。 p p pM。 //////////////////////////////////////////////////// void List_3D::ViewPointMove int direction float xn,yn,zn,r。 switch direction case 1: // 左上 xn *。 yn *。 zn *+*。 break。 case 2: // 右上 xn *。 yn *。 zn *+*。 break。 case 3: // 左下 xn *。 yn +*。 zn **。 break。 case 4: // 右下 xn *+。 yn *。 zn **。 break。 case 5: //向前 xn 。 yn 。 zn 。 break。 case 6: //向后 xn 。 yn 。 zn 。 break。 r float sqrt xn*xn+yn*yn+zn*zn 。 xn/ r。yn/ r。zn/ r。 //單位化 + step*xn。 + step*yn。 + step*zn。 TdNode *p head。 while p p m_3d SetPointBorderPlaneMark viewPoint,viewAngle 。 p p pM。 //////////////////////////////////////////////////// void List_3D::RollingOver int direction float xn,yn,zn,r0,r。 switch direction case 1: //上翻轉(zhuǎn) xn *。 yn *。 zn *+*。 break。 case 2: //下翻轉(zhuǎn) xn *。 yn *。 zn **。 break。 case 3: //左翻轉(zhuǎn) xn 。 yn 。 zn 0。 break。 case 4: //右翻轉(zhuǎn) xn 。 yn 。 zn 0。 break。 r float sqrt xn*xn+yn*yn+zn*zn 。 xn/ r。yn/ r。zn/ r。 //單位化 r0 float sqrt * + * + * 。 xn +rollingAngle*r0*xn。 yn +rollingAngle*r0*yn。 zn +rollingAngle*r0*zn。 r float sqrt * + * + * 。 /r。 /r。 /r。 if 0 r float sqrt *+*+ 。 。 。 。 *r0。 *r0。 *r0。 TdNode *p head。 while p p m_3d SetPointBorderPlaneMark viewPoint,viewAngle 。 p p pM。 //////////////////////////////////////////////////// bool List_3D::show if !pWnd||length 0 return false。 CClientDC dc pWnd 。 CPen *penOld,penNew。 CBrush *brushOld,brushNew。 //選用庫存白色畫筆 penOld CPen* WHITE_PEN 。 //選用庫存黑色畫刷 brushOld CBrush* BLACK_BRUSH 。 。 TdNode *p head。 p head。 while p p m_3d show dc,viewPoint,viewAngle,L 。 p p pM。 penOld 。 brushOld 。 return true。 ////////////////////////////////////////////// 4. 7 新建對話框的實(shí)現(xiàn) include class CDialogNew : public CDialog public: CDialogNew CWnd* pParent NULL 。 // standard constructor // AFX_DATA CDialogNew enum IDD IDD_NEW 。 int m_border_n。 int m_point_n。 float m_length。 ThreeD *new_3d。 float m_x。 float m_y。 float m_z。 float m_xk。 float m_yk。 float m_zk。 // AFX_DATA // AFX_VIRTUAL CDialogNew protected: virtual void DoDataExchange CDataExchange* pDX 。 // AFX_VIRTUAL protected: // AFX_MSG CDialogNew afx_msg void On4mianti 。 afx_msg void OnSqure 。 afx_msg void OnSetfocusEDITdianshu 。 afx_msg void OnChangeEDITlength 。 afx_msg void OnChangeEDIT1bianshu 。 afx_msg void OnChangeEDITdianshu 。 virtual void OnOK 。 afx_msg void OnChangeEditX 。 afx_msg void OnChangeEditY 。 afx_msg void OnChangeEditZ 。 // AFX_MSG DECLARE_MESSAGE_MAP 。 /////////////////////////////////////////////////////////// include include include CDialogNew::CDialogNew CWnd* pParent /* NULL*/ : CDialog CDialogNew::IDD, pParent // AFX_DATA_INIT CDialogNew m_length 。 new_3d NULL。 m_x 。 m_y 。 m_z 。 m_xk 。 m_yk 。 m_zk 。 // AFX_DATA_INIT void CDialogNew::DoDataExchange CDataExchange* pDX CDialog::DoDataExchange pDX 。 // AFX_DATA_MAP CDialogNew DDX_Text pDX, IDC_EDITlength, m_length 。 DDX_Text pDX, IDC_EDIT_X, m_x 。 DDX_Text pDX, IDC_EDIT_Y, m_y 。 DDX_Text pDX, IDC_EDIT_Z, m_z 。 DDX_Text pDX, IDC_EDIT_X_K, m_xk 。 DDX_Text pDX, IDC_EDIT_Y_K, m_yk 。 DDX_Text pDX, IDC_EDIT_Z_K, m_zk 。 // AFX_DATA_MAP BEGIN_MESSAGE_MAP CDialogNew, CDialog
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1