《计算机图形学VC》源代码
书本中的例题习题的源代码
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13796 2004-09-15 19:23 计算机图形学VC.源代码三维变换okaseClass.cpp
文件 2164 2004-09-15 18:52 计算机图形学VC.源代码三维变换okaseClass.h
文件 0 2004-08-14 14:59 计算机图形学VC.源代码三维变换okCbaseClass.cpp
文件 33287 2004-09-15 19:23 计算机图形学VC.源代码三维变换okDebugaseClass.obj
文件 20188 2004-09-15 16:25 计算机图形学VC.源代码三维变换okDebugMainFrm.obj
文件 105950 2004-09-15 16:25 计算机图形学VC.源代码三维变换okDebugStdAfx.obj
文件 230400 2009-06-22 08:25 计算机图形学VC.源代码三维变换okDebugvc60.idb
文件 380928 2004-09-20 14:57 计算机图形学VC.源代码三维变换okDebugvc60.pdb
文件 155728 2004-09-20 14:57 计算机图形学VC.源代码三维变换okDebug三维变换.exe
文件 555740 2004-09-20 14:57 计算机图形学VC.源代码三维变换okDebug三维变换.ilk
文件 23161 2004-09-15 19:07 计算机图形学VC.源代码三维变换okDebug三维变换.obj
文件 5563324 2004-09-15 16:25 计算机图形学VC.源代码三维变换okDebug三维变换.pch
文件 533504 2004-09-20 14:57 计算机图形学VC.源代码三维变换okDebug三维变换.pdb
文件 7692 2004-08-19 18:13 计算机图形学VC.源代码三维变换okDebug三维变换.res
文件 14809 2004-09-15 16:25 计算机图形学VC.源代码三维变换okDebug三维变换Doc.obj
文件 81765 2004-09-20 14:57 计算机图形学VC.源代码三维变换okDebug三维变换View.obj
文件 2509 2004-08-14 13:06 计算机图形学VC.源代码三维变换okMainFrm.cpp
文件 1581 2004-08-14 13:06 计算机图形学VC.源代码三维变换okMainFrm.h
文件 4317 2004-08-14 13:06 计算机图形学VC.源代码三维变换okReadMe.txt
文件 1078 2004-08-14 13:06 计算机图形学VC.源代码三维变换ok
esToolbar.bmp
文件 1078 2004-08-14 13:06 计算机图形学VC.源代码三维变换ok
es三维变换.ico
文件 400 2004-08-14 13:06 计算机图形学VC.源代码三维变换ok
es三维变换.rc2
文件 1078 2004-08-14 13:06 计算机图形学VC.源代码三维变换ok
es三维变换Doc.ico
文件 1770 2004-08-19 18:13 计算机图形学VC.源代码三维变换okResource.h
文件 210 2004-08-14 13:06 计算机图形学VC.源代码三维变换okStdAfx.cpp
文件 1054 2004-08-14 13:06 计算机图形学VC.源代码三维变换okStdAfx.h
文件 29668 2009-06-22 08:25 计算机图形学VC.源代码三维变换ok三维变换.aps
文件 2767 2009-06-22 08:25 计算机图形学VC.源代码三维变换ok三维变换.clw
文件 4161 2004-08-14 13:06 计算机图形学VC.源代码三维变换ok三维变换.cpp
文件 4744 2004-08-14 14:59 计算机图形学VC.源代码三维变换ok三维变换.dsp
............此处省略714个文件信息
// baseClass.cpp: implementation of the CMyClass class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “三维变换.h“
#include “baseClass.h“
#include “三维变换View.h“
#include “math.h“
#define PI 3.141592654
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CbaseClass::CbaseClass()
{
}
CbaseClass::~CbaseClass()
{
}
// 此函数赋轴测图中立体上顶点的齐次坐标值
void CbaseClass::ReadWorkpiece()
{
X[1] = 0; Y[1] = 0; Z[1] = 0; C[1] = 1;
X[2] = 45; Y[2] = 0; Z[2] = 0; C[2] = 1;
X[3] = 45; Y[3] = 37; Z[3] = 0; C[3] = 1;
X[4] = 0; Y[4] = 37; Z[4] = 0; C[4] = 1;
X[5] = 0; Y[5] = 37; Z[5] = 45; C[5] = 1;
X[6] = 0; Y[6] = 0; Z[6] = 45; C[6] = 1;
X[7] = 12; Y[7] = 0; Z[7] = 45; C[7] = 1;
X[8] = 30; Y[8] = 0; Z[8] = 14; C[8] = 1;
X[9] = 45; Y[9] = 0; Z[9] = 14; C[9] = 1;
X[10] = 45; Y[10] = 37; Z[10] = 14; C[10] = 1;
X[11] = 30; Y[11] = 37; Z[11] = 14; C[11] = 1;
X[12] = 12; Y[12] = 37; Z[12] = 45; C[12] = 1;
X[13] = 12; Y[13]=21; Z[13]=45; C[13] = 1;
// X[14] = 22; Y[14]=31; Z[14]=27; C[14] = 1;
}
/***************************************************
* 此函数分别用于三个视图的投影变换,统一用变换后顶 *
* 点的三个坐标计算公式求其坐标值。这三个公式是由点 *
* 的齐次坐标乘以变换矩阵得来的。实际上每个视图投影 *
* 只有二个非零坐标需要计算求得,而另一个坐标是零勿 *
* 需计算。因此也可以根据三个不同视图的投影,分别采 *
* 用其投影后的二个坐标计算式来求坐标值。函数中可用 *
* 条件语句选择不同视图投影采用不同坐标计算式求值。 *
***************************************************/
void CbaseClass::Calculate(array2d B)
{
ReadWorkpiece();
for (int i = 1; i <= 12; ++i )
{
XT[i] =3*X[i]*B[1][1]+3*Y[i]*B[2][1]+3*Z[i]*B[3][1]+C[i]*B[4][1];
YT[i] =3*X[i]*B[1][2]+3*Y[i]*B[2][2]+3*Z[i]*B[3][2]+C[i]*B[4][2];
ZT[i] =3*X[i]*B[1][3]+3*Y[i]*B[2][3]+3*Z[i]*B[3][3]+C[i]*B[4][3];
}
}
// 此函数求轴测投影后点的坐标值
void CbaseClass::MCalculate(array2d B)
{
ReadWorkpiece();
for ( int i = 1; i <= 12; ++i )
{
XT[i] =3*X[i]*B[1][1]+3*Z[i]*B[2][1]+3*Y[i]*B[3][1]+C[i]*B[4][1];
YT[i] =3*X[i]*B[1][2]+3*Z[i]*B[2][2]+3*Y[i]*B[3][2]+C[i]*B[4][2];
ZT[i] =3*X[i]*B[1][3]+3*Z[i]*B[2][3]+3*Y[i]*B[3][3]+C[i]*B[4][3];
}
// 三个坐标计算公式由点的齐次坐标乘以轴测投影变换矩阵得来。
}
void CbaseClass::WCalculate(array2d B)
{
ReadCube1();
for (int i = 1; i <= 12; ++i )
{
XT[i] =XP[i]*B[1][1]+YP[i]*B[2][1]+ZP[i]*B[3][1]+CP[i]*B[4][1];
YT[i] =XP[i]*B[1][2]+YP[i]*B[2][2]+ZP[i]*B[3][2]+CP[i]*B[4][2];
ZT[i] =XP[i]*B[1][3]+YP[i]*B[2][3]+ZP[i]*B[3][3]+CP[i]*B[4][3];
}
}
void CbaseClass::Display()
{
CframeWnd* pWnd=(CframeWnd*)AfxGetApp()->m_pMainWnd;
CDC* pdc=pWnd->GetActiveView()->GetDC();
CRect rr;
::GetClientRect(pWnd->GetActiveView()->m_hWndrr);
DrawText();
DrawViewV(pdc
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13796 2004-09-15 19:23 计算机图形学VC.源代码三维变换oka
文件 2164 2004-09-15 18:52 计算机图形学VC.源代码三维变换oka
文件 0 2004-08-14 14:59 计算机图形学VC.源代码三维变换okCba
文件 33287 2004-09-15 19:23 计算机图形学VC.源代码三维变换okDebuga
文件 20188 2004-09-15 16:25 计算机图形学VC.源代码三维变换okDebugMainFrm.obj
文件 105950 2004-09-15 16:25 计算机图形学VC.源代码三维变换okDebugStdAfx.obj
文件 230400 2009-06-22 08:25 计算机图形学VC.源代码三维变换okDebugvc60.idb
文件 380928 2004-09-20 14:57 计算机图形学VC.源代码三维变换okDebugvc60.pdb
文件 155728 2004-09-20 14:57 计算机图形学VC.源代码三维变换okDebug三维变换.exe
文件 555740 2004-09-20 14:57 计算机图形学VC.源代码三维变换okDebug三维变换.ilk
文件 23161 2004-09-15 19:07 计算机图形学VC.源代码三维变换okDebug三维变换.obj
文件 5563324 2004-09-15 16:25 计算机图形学VC.源代码三维变换okDebug三维变换.pch
文件 533504 2004-09-20 14:57 计算机图形学VC.源代码三维变换okDebug三维变换.pdb
文件 7692 2004-08-19 18:13 计算机图形学VC.源代码三维变换okDebug三维变换.res
文件 14809 2004-09-15 16:25 计算机图形学VC.源代码三维变换okDebug三维变换Doc.obj
文件 81765 2004-09-20 14:57 计算机图形学VC.源代码三维变换okDebug三维变换View.obj
文件 2509 2004-08-14 13:06 计算机图形学VC.源代码三维变换okMainFrm.cpp
文件 1581 2004-08-14 13:06 计算机图形学VC.源代码三维变换okMainFrm.h
文件 4317 2004-08-14 13:06 计算机图形学VC.源代码三维变换okReadMe.txt
文件 1078 2004-08-14 13:06 计算机图形学VC.源代码三维变换ok
esToolbar.bmp
文件 1078 2004-08-14 13:06 计算机图形学VC.源代码三维变换ok
es三维变换.ico
文件 400 2004-08-14 13:06 计算机图形学VC.源代码三维变换ok
es三维变换.rc2
文件 1078 2004-08-14 13:06 计算机图形学VC.源代码三维变换ok
es三维变换Doc.ico
文件 1770 2004-08-19 18:13 计算机图形学VC.源代码三维变换okResource.h
文件 210 2004-08-14 13:06 计算机图形学VC.源代码三维变换okStdAfx.cpp
文件 1054 2004-08-14 13:06 计算机图形学VC.源代码三维变换okStdAfx.h
文件 29668 2009-06-22 08:25 计算机图形学VC.源代码三维变换ok三维变换.aps
文件 2767 2009-06-22 08:25 计算机图形学VC.源代码三维变换ok三维变换.clw
文件 4161 2004-08-14 13:06 计算机图形学VC.源代码三维变换ok三维变换.cpp
文件 4744 2004-08-14 14:59 计算机图形学VC.源代码三维变换ok三维变换.dsp
............此处省略714个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)