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

  • 大小: 12.96MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-06-20
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: MFC??OpenGL??OBJ??法向量??

資源簡(jiǎn)介

此代碼基于MFC編程,在VS2013上可以實(shí)現(xiàn)讀取OBJ文件和顯示,并繪制了3D模型的法向量,注釋也清晰易懂,便于初學(xué)者學(xué)習(xí)!

資源截圖

代碼片段和文件信息

//?Bsp.cpp:?implementation?of?the?CBsp?class.
//
//////////////////////////////////////////////////////////////////////

#include?“stdafx.h“
#include?“BSpline.h“
#include?“Bsp.h“
#include?
////////////////////////////////////////////Matrix
#include?“Matrix.h“
#include?“DecomposeDoc.h“

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif


//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////

CBsp::CBsp()
{
m_n?=?0;
m_Poly?=?new?CPoint[N];
m_PolyRev?=new?CPoint[N];
m_u?=?new?double[N];
}

CBsp::~CBsp()
{
delete[]?m_Poly;
delete[]?m_u;
delete[]?m_PolyRev;
}

void?CBsp::SetControl(CPoint?*Poly?int?n)
{
for?(int?i=0;i<=n-1;i++)
{
m_Poly[i]?=?Poly[i];
}
m_n?=?n;
}

void?CBsp::Draw(CDC?*PDC)
{
CDC*?pDC=PDC;
CPen?mypen;
mypen.CreatePen(PS_SOLID0RGB(25500));
pDC->Selectobject(mypen);
double?xytdt;
for?(int?j=4;j<=m_n;j++)
{
dt=(m_u[j+1]-m_u[j])/50;
t=m_u[j];
while?(t<=m_u[j+1]||(t-m_u[j+1])
{
x=0;
y=0;
if?((t-m_u[j+1])
m_u[j+1])
t=m_u[j+1];
for?(int?i=j-3;i<=j;i++)
? {
x+=baseFunc(i4t)*m_Poly[i-1].x;
? y+=baseFunc(i4t)*m_Poly[i-1].y;
? }
if(abs(t-m_u[4])<0.0001) {pDC->MoveTo(xy);}
? pDC->LineTo(xy);

t+=dt;
}

}
mypen.Deleteobject();
}

void?CBsp::DrawControl(CDC?*PDC)
{
CDC*?pDC=PDC;
CPen?mypen;
mypen.CreatePen(PS_DOT0RGB(02550));
pDC->Selectobject(mypen);
pDC->Polyline(m_Polym_n);

}

void?CBsp::SetKnot()
{
double?x[N];
double?y[N];
for?(int?i=0;i<=m_n-2;i++)
{
x[i]=(m_Poly[i+1].x-m_Poly[i].x)*(m_Poly[i+1].x-m_Poly[i].x);
y[i]=(m_Poly[i+1].y-m_Poly[i].y)*(m_Poly[i+1].y-m_Poly[i].y);
}
m_u[4]=sqrt(x[1]+y[1]);
for?(int?i=5;i {
m_u[i]=m_u[i-1]+sqrt(x[i-3]+y[i-3]);
}
m_u[1]=m_u[4];
m_u[2]=m_u[4];
m_u[3]=m_u[4];
m_u[m_n+2]=m_u[m_n+1];
m_u[m_n+3]=m_u[m_n+1];
m_u[m_n+4]=m_u[m_n+1];
}

double?CBsp::baseFunc(int?i?int?k?double?u)
{
if?(k==1)
{
if?((u>=m_u[i])&&(u return?1;
else
return?0;
}
if?(k==4)
if?(i==m_n&&u==m_u[m_n+1])
return?1;
return?divide((u-m_u[i])(m_u[i+k-1]-m_u[i]))*baseFunc(ik-1u)+
divide((m_u[i+k]-u)(m_u[i+k]-m_u[i+1]))*baseFunc(i+1k-1u);

}

double?CBsp::divide(double?x?double?y)
{
if?(y==0)
return?0;
else
return?x/y;
}
?

void?CBsp::GetKnot(CPoint*?polyint?ndouble*?_u)//用數(shù)據(jù)點(diǎn)得到節(jié)點(diǎn)向量
{
double?x[N];
double?y[N];
for?(int?i=0;i<=n-2;i++)
{
x[i]=(poly[i+1].x-poly[i].x)*(poly[i+1].x-poly[i].x);
y[i]=(poly[i+1].y-poly[i].y)*(poly[i+1].y-poly[i].y);
}
_u[4]=0;
for?(int?i=5;i<=n+3;i++)
{
_u[i]=_u[i-1]+sqrt(x[i-5]+y[i-5]);
}
_u[1]=_u[4];
_u[2]=_u[4];
_u[3]=_u[4];
_u[n+4]=_u[n+3];
_u[n+5]=_u[n+3];
_u[n+6]=_u[n+3];
}

voi

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件?????196608??2011-03-12?21:19??visualize\ANN\ANN.dll

?????文件??????35890??2011-08-01?22:09??visualize\ANN\ANN.h

?????文件??????18740??2011-03-12?21:19??visualize\ANN\ANN.lib

?????文件???????8426??2011-03-12?21:19??visualize\ANN\ANNperf.h

?????文件???????6497??2011-03-12?21:19??visualize\ANN\ANNx.h

?????文件?????196608??2011-03-12?21:19??visualize\ANN.dll

?????文件??????35890??2011-08-01?22:09??visualize\ANN.h

?????文件??????18740??2011-03-12?21:19??visualize\ANN.lib

?????文件???????8426??2011-03-12?21:19??visualize\ANNperf.h

?????文件???????6497??2011-03-12?21:19??visualize\ANNx.h

?????文件?????795486??2017-05-10?21:35??visualize\bird.obj

?????文件???????4116??2017-01-19?11:03??visualize\Bsp.cpp

?????文件????????886??2017-01-16?10:13??visualize\Bsp.h

?????文件?????????60??2013-07-22?01:18??visualize\ClassDiagram.cd

?????文件?????147241??2017-06-25?17:29??visualize\Debug\fc.obj

?????文件?????194289??2017-07-05?11:39??visualize\Debug\MainFrm.obj

?????文件?????174317??2017-07-05?11:39??visualize\Debug\MenuFormView.obj

?????文件?????942019??2017-06-23?22:04??visualize\Debug\stdafx.obj

?????文件????2976768??2017-07-05?11:43??visualize\Debug\vc120.idb

?????文件????7335936??2017-07-05?11:42??visualize\Debug\vc120.pdb

?????文件???????5015??2017-06-25?15:28??visualize\Debug\Vector.obj

?????文件?????194150??2017-07-05?11:39??visualize\Debug\VectorModel.obj

?????文件???????1648??2017-06-23?22:01??visualize\Debug\visualize.Build.CppClean.log

?????文件????????430??2017-09-21?09:47??visualize\Debug\visualize.log

?????文件?????194579??2017-07-05?11:39??visualize\Debug\visualize.obj

?????文件???47448064??2017-06-23?22:04??visualize\Debug\visualize.pch

?????文件??????78432??2017-06-25?15:28??visualize\Debug\visualize.res

?????文件??????12172??2017-07-05?11:43??visualize\Debug\visualize.tlog\cl.command.1.tlog

?????文件?????218060??2017-07-06?16:49??visualize\Debug\visualize.tlog\CL.read.1.tlog

?????文件??????10012??2017-09-21?09:47??visualize\Debug\visualize.tlog\CL.write.1.tlog

............此處省略68個(gè)文件信息

評(píng)論

共有 條評(píng)論