91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 14.79MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2023-08-04
  • 語言: C/C++
  • 標簽: MFC??三維幾何??

資源簡介

2019年寫的代碼!很新!可用!大學計算機圖形學課程作業代碼,使用用斜等測圖的繪制方法繪制三維幾何圖形,實現平移、比例、旋轉、反射錯切等變換。自用,代碼完整。打包下載,可直接運行。c/c++語言MFC實現。支持vs。

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“CTransform.h“

#define?PI?3.14

CTransform::CTransform()
{
for?(int?i?=?0;?i? {
for?(int?j?=?0;?j? {
T[i][j]?=?0.0;
}
}
POld?=?NULL;
}


CTransform::~CTransform()
{
}


void?CTransform::SetMat(CP3?*p?int?n)
{
POld?=?p;
num?=?n;
}


void?CTransform::Identity() //單位矩陣
{
T[0][0]?=?1.0; T[0][1]?=?0.0; T[0][2]?=?0.0; T[0][3]?=?0.0;
T[1][0]?=?0.0; T[1][1]?=?1.0; T[1][2]?=?0.0; T[1][3]?=?0.0;
T[2][0]?=?0.0; T[2][1]?=?0.0; T[2][2]?=?1.0; T[2][3]?=?0.0;
T[3][0]?=?0.0; T[3][1]?=?0.0; T[3][2]?=?0.0; T[3][3]?=?1.0;

}


void?CTransform::Translate(double?tx?double?ty?double?tz) //平移變換矩陣
{
Identity();
T[3][0]?=?tx;
T[3][1]?=?ty;
T[3][2]?=?tz;
MultiMatrix();
}


void?CTransform::Scale(double?sx?double?sy?double?sz) //比例變換矩陣
{
Identity();
T[0][0]?=?sx;
T[1][1]?=?sy;
T[2][2]?=?sz;
MultiMatrix();
}

void?CTransform::Scale(double?sx?double?sy?double?sz?CP3?p)
{
Translate(-p.x?-p.y?-p.z);
Scale(sx?sy?sz);
Translate(p.x?p.y?p.z);
}

void?CTransform::RotateX(double?beta) //旋轉變換矩陣
{
Identity();
double?rad?=?beta?*?PI?/?180;
T[1][1]?=?cos(rad); T[1][2]?=?sin(rad);
T[2][1]?=?-sin(rad);?T[2][2]?=?cos(rad);
MultiMatrix();
}

void?CTransform::RotateX(double?beta?CP3?p)
{
Translate(-p.x?-p.y?-p.z);
RotateX(beta);
Translate(p.x?p.y?p.z);
}

void?CTransform::RotateY(double?beta) //旋轉變換矩陣
{
Identity();
double?rad?=?beta?*?PI?/?180;
T[0][0]?=?cos(rad); T[0][2]?=?-sin(rad);
T[2][0]?=?sin(rad);?T[2][2]?=?cos(rad);
MultiMatrix();
}

void?CTransform::RotateY(double?beta?CP3?p)
{
Translate(-p.x?-p.y?-p.z);
RotateY(beta);
Translate(p.x?p.y?p.z);
}

void?CTransform::RotateZ(double?beta) //旋轉變換矩陣
{
Identity();
double?rad?=?beta?*?PI?/?180;
T[0][0]?=?cos(rad); T[0][1]?=?sin(rad);
T[1][0]?=?-sin(rad);?T[1][1]?=?cos(rad);
MultiMatrix();
}

void?CTransform::RotateZ(double?beta?CP3?p)
{
Translate(-p.x?-p.y?-p.z);
RotateZ(beta);
Translate(p.x?p.y?p.z);
}


void?CTransform::ReflectZ()
{
Identity();
T[0][0]?=?-1;
T[1][1]?=?-1;
MultiMatrix();
}


void?CTransform::ReflectX()
{
Identity();
T[1][1]?=?-1;
T[2][2]?=?-1;
MultiMatrix();
}


void?CTransform::ReflectY()
{
Identity();
T[0][0]?=?-1;
T[2][2]?=?-1;
MultiMatrix();
}

void?CTransform::ReflectXOY()
{
Identity();
T[2][2]?=?-1;
MultiMatrix();
}

void?CTransform::ReflectYOZ()
{
Identity();
T[0][0]?=?-1;
MultiMatrix();
}

void?CTransform::ReflectZOX()
{
Identity();
T[1][1]?=?-1;
MultiMatrix();
}

void?CTransform::ShearX(double?b?double?c) //錯切變換矩陣
{
Identity();
T[1][0]?=?b;
T[2][0]?=?c;
MultiMatrix();
}

void?CTransform::ShearY(double?b?double?c) //錯切變換矩陣
{
Identity();
T[0][1]?=?b;
T[2][1]?=?c;
MultiMatrix();
}

void?CTransform::ShearZ(double?b?double?c) //錯切變換矩陣
{
Identity();
T[0][2]?=?b;
T[1][2]?=?c;

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3660??2019-11-25?12:59??Test5\CTransform.cpp

?????文件???????1032??2019-11-25?12:59??Test5\CTransform.h

?????文件??????35590??2019-11-25?13:00??Test5\Debug\CTransform.obj

?????文件??????10060??2019-11-23?12:05??Test5\Debug\Face.obj

?????文件??????22971??2019-11-23?12:05??Test5\Debug\Line.obj

?????文件??????68891??2019-11-25?11:06??Test5\Debug\MainFrm.obj

?????文件??????20294??2019-11-23?12:05??Test5\Debug\P2.obj

?????文件???????9802??2019-11-23?12:05??Test5\Debug\P3.obj

?????文件??????13111??2019-11-23?12:05??Test5\Debug\RGB.obj

?????文件????1007606??2019-11-23?12:05??Test5\Debug\stdafx.obj

?????文件?????????64??2019-11-25?13:00??Test5\Debug\Test5.log

?????文件??????53741??2019-11-25?13:00??Test5\Debug\Test5.obj

?????文件???56819712??2019-11-23?12:05??Test5\Debug\Test5.pch

?????文件????1264948??2019-11-25?13:00??Test5\Debug\Test5.res

?????文件???????7832??2019-11-25?13:00??Test5\Debug\Test5.tlog\CL.command.1.tlog

?????文件?????100112??2019-11-25?13:00??Test5\Debug\Test5.tlog\CL.read.1.tlog

?????文件???????5214??2019-11-25?13:00??Test5\Debug\Test5.tlog\CL.write.1.tlog

?????文件???????2142??2019-11-25?13:00??Test5\Debug\Test5.tlog\link.command.1.tlog

?????文件???????7076??2019-11-25?13:00??Test5\Debug\Test5.tlog\link.read.1.tlog

?????文件???????1036??2019-11-25?13:00??Test5\Debug\Test5.tlog\link.write.1.tlog

?????文件????????310??2019-11-25?13:00??Test5\Debug\Test5.tlog\rc.command.1.tlog

?????文件???????5188??2019-11-25?13:00??Test5\Debug\Test5.tlog\rc.read.1.tlog

?????文件????????134??2019-11-25?13:00??Test5\Debug\Test5.tlog\rc.write.1.tlog

?????文件????????200??2019-11-25?13:00??Test5\Debug\Test5.tlog\Test5.lastbuildstate

?????文件??????94053??2019-11-25?11:06??Test5\Debug\Test5Doc.obj

?????文件??????87356??2019-11-25?13:00??Test5\Debug\Test5View.obj

?????文件????1420288??2019-11-25?13:00??Test5\Debug\vc141.idb

?????文件????6991872??2019-11-25?13:00??Test5\Debug\vc141.pdb

?????文件????????249??2019-11-12?17:08??Test5\Face.cpp

?????文件????????167??2019-11-12?17:08??Test5\Face.h

............此處省略36個文件信息

評論

共有 條評論