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

  • 大小: 18.65MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2024-01-30
  • 語言: 其他
  • 標簽:

資源簡介

用三次Bezier曲線畫Uath茶壺,給出各個控制點,根據控制點畫出Utah茶壺,有需要的話還可以貼上不同的圖案使茶壺更完整。

資源截圖

代碼片段和文件信息

#include?“StdAfx.h“
#include?“BicubicBezierSurface.h“
#include?
#define?ROUND(d)?int(d+0.5)

CBicubicBezierSurface::CBicubicBezierSurface(void)
{
}


CBicubicBezierSurface::~CBicubicBezierSurface(void)
{
}

void?CBicubicBezierSurface::ReadControlPoint(CP3?P[4][4])
{
???for?(int?i?=?0;i<4;i++)
???for(int?j=0;j??? P3[i][j]?=?P[i][j];
}
void?CBicubicBezierSurface::DrawCurvedSurface(CDC*?pDC)
?{
double?M[4][4];//系數矩陣Mbe
M[0][0]=-1;M[0][1]=3;?M[0][2]=-3;M[0][3]=1;
M[1][0]=3;?M[1][1]=-6;M[1][2]=3;?M[1][3]=0;
M[2][0]=-3;M[2][1]=3;?M[2][2]=0;?M[2][3]=0;
M[3][0]=1;?M[3][1]=0;?M[3][2]=0;?M[3][3]=0;
CP3?P[4][4];//曲線計算用控制點數組
for(int?i=0;i<4;i++)
for(int?j=0;j<4;j++)
P[i][j]=P3[i][j];
LeftMultiplyMatrix(MP);//數字矩陣左乘三維點矩陣
TransposeMatrix(M);//計算轉置矩陣
RightMultiplyMatrix(PM);//數字矩陣右乘三維點矩陣
double?tStep?=0.1;//t的步長
double?u0u1u2u3v0v1v2v3;//u,v參數的冪
for(double?u=0;u<=1;u+=tStep)
for(double?v=0;v<=1;v+=tStep)
{
u3=u*u*u;u2=u*u;u1=u;u0=1;v3=v*v*v;v2=v*v;v1=v;v0=1;
CP3?pt=(u3*P[0][0]+u2*P[1][0]+u1*P[2][0]+u0*P[3][0])*v3
??????????+(u3*P[0][1]+u2*P[1][1]+u1*P[2][1]+u0*P[3][1])*v2
??????????+(u3*P[0][2]+u2*P[1][2]+u1*P[2][2]+u0*P[3][2])*v1
??????????+(u3*P[0][3]+u2*P[1][3]+u1*P[2][3]+u0*P[3][3])*v0;
CP2?Point2=OrthogonalProjection(pt);//正交投影??????
if(v==0)
pDC->MoveTo(ROUND(Point2.x)ROUND(Point2.y));
else
pDC->LineTo(ROUND(Point2.x)ROUND(Point2.y));
} ??
for(double?v=0;v<=1;v+=tStep)
for(double?u=0;u<=1;u+=tStep)
{
u3=u*u*u;u2=u*u;u1=u;u0=1;v3=v*v*v;v2=v*v;v1=v;v0=1;
CP3?pt=(u3*P[0][0]+u2*P[1][0]+u1*P[2][0]+u0*P[3][0])*v3
??????????+(u3*P[0][1]+u2*P[1][1]+u1*P[2][1]+u0*P[3][1])*v2
??????????+(u3*P[0][2]+u2*P[1][2]+u1*P[2][2]+u0*P[3][2])*v1
??????????+(u3*P[0][3]+u2*P[1][3]+u1*P[2][3]+u0*P[3][3])*v0;
CP2?Point2=OrthogonalProjection(pt);//正交投影????
if(0==u)
pDC->MoveTo(ROUND(Point2.x)ROUND(Point2.y));
else
pDC->LineTo(ROUND(Point2.x)ROUND(Point2.y));
}
}

void?CBicubicBezierSurface::LeftMultiplyMatrix(double?M[][4]CP3?P[][4])//左乘矩陣M*P
{
CP3?T[4][4];//臨時矩陣
int?ij;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
T[i][j].x=M[i][0]*P[0][j].x+M[i][1]*P[1][j].x+M[i][2]*P[2][j].x+M[i][3]*P[3][j].x;
T[i][j].y=M[i][0]*P[0][j].y+M[i][1]*P[1][j].y+M[i][2]*P[2][j].y+M[i][3]*P[3][j].y;
T[i][j].z=M[i][0]*P[0][j].z+M[i][1]*P[1][j].z+M[i][2]*P[2][j].z+M[i][3]*P[3][j].z;
}
for(?i=0;i<4;i++)
for(int?j=0;j<4;j++)
P[i][j]=T[i][j];
}

void?CBicubicBezierSurface::RightMultiplyMatrix(CP3?P[][4]double?M[][4])//右乘矩陣P*M
{
CP3?T[4][4];//臨時矩陣
int?ij;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
T[i][j].x=P[i][0].x*M[0][j]+P[i][1].x*M[1][j]+P[i][2].x*M[2][j]+P[i][3].x*M[3][j];
T[i][j].y=P[i][0].y*M[0][j]+P[i][1].y*M[1][j]+P[i][2].y*M[2][j]+P[i][3].y*M[3][j];
T[i][j].z=P[i][0].z*M[0][j]+P[i][1].z*M[1][j]+P[i][2].z*M[2][j]+P[i][3].z*M[3][j];
}
for(?i=0;i

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

????..A..H.?????67072??2017-05-15?19:08??7-Utah茶壺\.vs\Test\v14\.suo

?????文件???????4217??2017-05-19?20:57??7-Utah茶壺\BicubicBezierSurface.cpp

?????文件????????586??2017-05-19?20:58??7-Utah茶壺\BicubicBezierSurface.h

?????文件??????50043??2018-03-26?16:00??7-Utah茶壺\Debug\BicubicBezierSurface.obj

?????文件???????7466??2018-03-26?16:00??7-Utah茶壺\Debug\cl.command.1.tlog

?????文件??????70914??2018-03-26?16:00??7-Utah茶壺\Debug\CL.read.1.tlog

?????文件???????4462??2018-03-26?16:00??7-Utah茶壺\Debug\CL.write.1.tlog

?????文件??????????2??2018-03-26?16:00??7-Utah茶壺\Debug\link-cvtres.read.1.tlog

?????文件??????????2??2018-03-26?16:00??7-Utah茶壺\Debug\link-cvtres.write.1.tlog

?????文件???????2794??2018-03-26?16:00??7-Utah茶壺\Debug\link.command.1.tlog

?????文件???????6780??2018-03-26?16:00??7-Utah茶壺\Debug\link.read.1.tlog

?????文件???????1918??2018-03-26?16:00??7-Utah茶壺\Debug\link.write.1.tlog

?????文件??????89658??2018-03-26?16:00??7-Utah茶壺\Debug\MainFrm.obj

?????文件????????704??2018-03-26?16:00??7-Utah茶壺\Debug\mt.command.1.tlog

?????文件????????844??2018-03-26?16:00??7-Utah茶壺\Debug\mt.read.1.tlog

?????文件????????470??2018-03-26?16:00??7-Utah茶壺\Debug\mt.write.1.tlog

?????文件???????5599??2018-03-26?16:00??7-Utah茶壺\Debug\P2.obj

?????文件??????13481??2018-03-26?16:00??7-Utah茶壺\Debug\P3.obj

?????文件???????4677??2018-03-26?16:00??7-Utah茶壺\Debug\Patch.obj

?????文件???????1076??2018-03-26?16:00??7-Utah茶壺\Debug\rc.command.1.tlog

?????文件???????4152??2018-03-26?16:00??7-Utah茶壺\Debug\rc.read.1.tlog

?????文件????????494??2018-03-26?16:00??7-Utah茶壺\Debug\rc.write.1.tlog

?????文件?????640164??2018-03-26?16:00??7-Utah茶壺\Debug\stdafx.obj

?????文件?????269312??2018-03-26?16:00??7-Utah茶壺\Debug\Test.exe

?????文件????????915??2018-03-26?16:00??7-Utah茶壺\Debug\Test.exe.embed.manifest

?????文件????????980??2018-03-26?16:00??7-Utah茶壺\Debug\Test.exe.embed.manifest.res

?????文件????????640??2018-03-26?16:00??7-Utah茶壺\Debug\Test.exe.intermediate.manifest

?????文件????1899092??2018-03-26?16:00??7-Utah茶壺\Debug\Test.ilk

?????文件?????????71??2018-03-26?16:00??7-Utah茶壺\Debug\Test.lastbuildstate

?????文件???????4400??2018-03-26?16:00??7-Utah茶壺\Debug\Test.log

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

評論

共有 條評論