Create HouseLightingModel

This commit is contained in:
xixu-me committed 2024-11-14 10:48:14 +08:00
1 parent 52570a9a0b
commit 9f322bccba
67 files changed
+4536

No files matched your search

+110
View File
@@ -0,0 +1,110 @@
// P3.cpp: implementation of the CP3 class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Test.h"
#include "P3.h"
#include "math.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CP3::CP3()
{
z=0.0;
}
CP3::~CP3()
{
}
CP3::CP3(double x,double y,double z):CP2(x,y)
{
this->z=z;
}
CP3 operator +(const CP3 &p0,const CP3 &p1)//和
{
CP3 p;
p.x=p0.x+p1.x;
p.y=p0.y+p1.y;
p.z=p0.z+p1.z;
return p;
}
CP3 operator -(const CP3 &p0,const CP3 &p1)//差
{
CP3 p;
p.x=p0.x-p1.x;
p.y=p0.y-p1.y;
p.z=p0.z-p1.z;
return p;
}
CP3 operator *(const CP3 &p,double k)//点和常量的积
{
return CP3(p.x*k,p.y*k,p.z*k);
}
CP3 operator *(double k,const CP3 &p)//点和常量的积
{
return CP3(p.x*k,p.y*k,p.z*k);
}
CP3 operator /(const CP3 &p0,double k)//数除
{
if(fabs(k)<1e-6)
k=1.0;
CP3 p;
p.x=p0.x/k;
p.y=p0.y/k;
p.z=p0.z/k;
return p;
}
CP3 operator+=(CP3 &p0,CP3 &p1)
{
p0.x=p0.x+p1.x;
p0.y=p0.y+p1.y;
p0.z=p0.z+p1.z;
return p0;
}
CP3 operator-=(CP3 &p0,CP3 &p1)
{
p0.x=p0.x-p1.x;
p0.y=p0.y-p1.y;
p0.z=p0.z-p1.z;
return p0;
}
CP3 operator*=(CP3 &p0,double k)
{
p0.x=p0.x*k;
p0.y=p0.y*k;
p0.z=p0.z*k;
return p0;
}
CP3 operator/=(CP3 &p0,double k)
{
if(fabs(k)<1e-6)
k=1.0;
p0.x=p0.x/k;
p0.y=p0.y/k;
p0.z=p0.z/k;
return p0;
}
double CP3::Mag()//长度
{
return sqrt(x*x+y*y+z*z);
}