资源简介
计算机图形学 大作业 多功能图形学程序C++,文档,设计思路,论文,代码都有。
代码片段和文件信息
// 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()
{
ed=2000eh=100od=400hl=1ps=0;
}
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::XCalculate(array2d B)
{int i;
Read();
for (i = 1;i<9;i++ )
{
ax[i] =XP[i]*B[1][1]+YP[i]*B[2][1]+ZP[i]*B[3][1]+CP[i]*B[4][1];
ay[i] =XP[i]*B[1][2]+YP[i]*B[2][2]+ZP[i]*B[3][2]+CP[i]*B[4][2];
az[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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11102 2011-06-06 22:22 多功能图形学程序C++\多功能图形学程序\ba
文件 1875 2004-12-16 10:20 多功能图形学程序C++\多功能图形学程序\ba
文件 0 2004-08-14 14:59 多功能图形学程序C++\多功能图形学程序\Cba
文件 31724 2011-06-07 21:09 多功能图形学程序C++\多功能图形学程序\Debug\ba
文件 18334 2011-06-07 21:09 多功能图形学程序C++\多功能图形学程序\Debug\ba
文件 10909 2011-06-03 11:00 多功能图形学程序C++\多功能图形学程序\Debug\Dia.obj
文件 0 2011-06-03 11:00 多功能图形学程序C++\多功能图形学程序\Debug\Dia.sbr
文件 10493 2011-06-03 10:50 多功能图形学程序C++\多功能图形学程序\Debug\Dia1.obj
文件 0 2011-06-03 10:50 多功能图形学程序C++\多功能图形学程序\Debug\Dia1.sbr
文件 10249 2011-06-03 13:18 多功能图形学程序C++\多功能图形学程序\Debug\DiaWe.obj
文件 0 2011-06-03 13:18 多功能图形学程序C++\多功能图形学程序\Debug\DiaWe.sbr
文件 10830 2011-06-03 13:20 多功能图形学程序C++\多功能图形学程序\Debug\DiaWel.obj
文件 0 2011-06-03 13:20 多功能图形学程序C++\多功能图形学程序\Debug\DiaWel.sbr
文件 10374 2011-06-03 10:28 多功能图形学程序C++\多功能图形学程序\Debug\DuoBianDia.obj
文件 0 2011-06-03 10:28 多功能图形学程序C++\多功能图形学程序\Debug\DuoBianDia.sbr
文件 10699 2011-06-03 10:37 多功能图形学程序C++\多功能图形学程序\Debug\DuoBianDia1.obj
文件 0 2011-06-03 10:37 多功能图形学程序C++\多功能图形学程序\Debug\DuoBianDia1.sbr
文件 10377 2011-06-03 10:50 多功能图形学程序C++\多功能图形学程序\Debug\DuoBianDia2.obj
文件 0 2011-06-03 10:50 多功能图形学程序C++\多功能图形学程序\Debug\DuoBianDia2.sbr
文件 12496 2011-06-02 21:33 多功能图形学程序C++\多功能图形学程序\Debug\GuangPanDia1.obj
文件 0 2011-06-02 21:33 多功能图形学程序C++\多功能图形学程序\Debug\GuangPanDia1.sbr
文件 10402 2011-06-02 22:09 多功能图形学程序C++\多功能图形学程序\Debug\Guangpandia2.obj
文件 2721 2011-06-02 22:09 多功能图形学程序C++\多功能图形学程序\Debug\Guangpandia2.sbr
文件 11310 2011-06-07 10:23 多功能图形学程序C++\多功能图形学程序\Debug\JiangGangDia.obj
文件 3180 2011-06-07 10:23 多功能图形学程序C++\多功能图形学程序\Debug\JiangGangDia.sbr
文件 20147 2011-06-02 18:51 多功能图形学程序C++\多功能图形学程序\Debug\MainFrm.obj
文件 0 2011-06-02 18:51 多功能图形学程序C++\多功能图形学程序\Debug\MainFrm.sbr
文件 12308 2011-06-02 22:28 多功能图形学程序C++\多功能图形学程序\Debug\OnDiaa.obj
文件 0 2011-06-02 22:28 多功能图形学程序C++\多功能图形学程序\Debug\OnDiaa.sbr
文件 10882 2011-06-03 09:42 多功能图形学程序C++\多功能图形学程序\Debug\OnGgg.obj
............此处省略113个文件信息
相关资源
- 数据结构大作业 快递系统 C语言
- MFC多边形画法--计算机图形学
- 计算机图形学 visual c++ 6.0 实时动画有
- 计算机图形学 visual c++ 6.0 三维变换有
- 计算机图形学基于opengl图形变换源代
- 西北工业大学C/C++程序设计大作业包含
- 计算机图形学大作业简易绘图板mfc
- 计算机图形学OPENGL 动画代码
- 计算机图形学画线、画圆、种子填充
- Windows编程大作业
- vc计算器源代码支持各种进制正余弦的
- vc6.0实现的计算机图形学各种算法源代
- VC++的MFC计算机图形学点线多边形裁剪
- 计算机图形学源代码
- 计算机图形学作品vc++
- C语言实现一个编译器-编译原理南开大
- 计算机图形学作业-设计和实现一个图
- C++MFC源代码二维绘图工具计算机图形
- Linux大作业 web服务器
- 计算机图形学实验代码包括图形旋转
- opengl MFC时钟动画
- MFC做的MP3多功能音乐播放器
- c++QT5新版画任意阶贝塞尔曲线完整工
- 单台AGV最短路径规划,两台AGV路径自
- 数据结构大作业杂志管理系统
- 五子棋大作业源码 .zip
- 孔令德 计算机图形学
- MFC计算机图形学-三维图形几何变换斜
- 计算机图形学opengl作业
- 信计专业C++期末大作业 银行排队叫号
评论
共有 条评论