📄 ellipsoid_ump.h
字号:
#if !defined(__ellipsoid_ump_h)
#define __ellipsoid_ump_h
#include "vector.h"
#include "face.h"
class ellipsoid_ump:public face {
private:
//-------------Difinition of ellipsoid_ump-------------
//
//--basic quation of ellipsoid_ump is
//(xo/cx)^2+(yo/cy)^2+(zo/cz)^2==1
//--machine coordinate
//(x,y,z)
//--rotation
//t(theta) = 13*degree
// = rx_setup + rx_design
//|xo| | cos(t) 0 sin(t)| |x| |dx|
//|yo| = | 0 1 0 | |y| + | 0|
//|zo| | 0 -sin(t) cos(t)| |z| |dz|
//
//--constants for UMP 2000.02.07
// cy=cz=134.6465624
// cx=1009.024131
// dx= 925.0
// dz= 53.7931
//
// h_plane=??11.6-1.64+2.
//
//-------------------------------------------------
double cx; //[mm]
double cy; //[mm]
double cz; //[mm]
double dx; //[mm]
double dy; //[mm]
double dz; //[mm]
double rx_design; //rotation around x-axis(form) [deg]
double rx_setup;//rotation araound x-axis(setup) [deg]
double h_plane;//plane height [mm]
double z_top;//z_top[mm]
public:
// Constractor and destractor
ellipsoid_ump();
virtual ~ellipsoid_ump();
//equations for calcuration
bool InMirrorArea(double x,double y);
bool InMirrorBody(double x,double y,double z);
int AreaJudgement(double x,double y, double &z);
double PlaneZ(double x,double y);
double MirrorZ(double x,double y);
double MirrorgradX(double x,double y);
double MirrorgradY(double x,double y);
double MirrorgradXX(double x,double y);
double MirrorgradYY(double x,double y);
//form equations
double GetZ( double x, double y);
vector GetPosition( double x, double y);
double gradX(double x, double y);
double gradY(double x, double y);
double gradXX(double x, double y);
double gradYY(double x, double y);
// This is the normal vector of surface on the point(x,y).
// This is toward the inside of troidal.
// This.length is 1.
vector NormalVector ( double x, double y);
vector NormalVector ( vector position);
////GradientVector////////////////////////////////////////////
// This is one of tangential vactors on the tangential plane.
// This is toward direction which has the largest gradient.
// This length is 1.
vector GradientVector(double x, double y);
vector GradientVector( vector position);
////NoGradientVector///////////////////////////////////////////
// This is one of tangential vactors on the tangential plane.
// This is toward direction which has no gradient.
//// This length will be 1,
//// and this Z-coordinate will be Zero.
vector NoGradientVector(double x,double y);
vector NoGradientVector(vector position);
int WriteFaceName(ofstream&);
int WriteParameters(ofstream&);
//980519
void SetParameter(TStringList *str);
void GetParameter(TStringList *str);
}; //end of ellipsoid_ump class
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -