• 大小: 4.34MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-29
  • 语言: C/C++
  • 标签: 大作业  

资源简介

计算机图形学 大作业 多功能图形学程序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++\多功能图形学程序\baseClass.cpp

     文件       1875  2004-12-16 10:20  多功能图形学程序C++\多功能图形学程序\baseClass.h

     文件          0  2004-08-14 14:59  多功能图形学程序C++\多功能图形学程序\CbaseClass.cpp

     文件      31724  2011-06-07 21:09  多功能图形学程序C++\多功能图形学程序\Debug\baseClass.obj

     文件      18334  2011-06-07 21:09  多功能图形学程序C++\多功能图形学程序\Debug\baseClass.sbr

     文件      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个文件信息

评论

共有 条评论