亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mymath.h

?? 通過人工智能算法快速實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)識別
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef _MYMATH
#define _MYMATH

#include <math.h>

//------------------------------------------------------------------------//
// Misc. Constants
//------------------------------------------------------------------------//

float	const	pi	= 3.14159265f;
float	const	g	= -32.174f;		// acceleration due to gravity, ft/s^2
float	const	rho = 0.0023769f;	// desity of air at sea level, slugs/ft^3
float	const	tol = 0.000000000000001f;		// float type tolerance 


//------------------------------------------------------------------------//
// Misc. Functions
//------------------------------------------------------------------------//
inline	float	DegreesToRadians(float deg);
inline	float	RadiansToDegrees(float rad);

inline	float	DegreesToRadians(float deg)
{
	return deg * pi / 180.0f;
}

inline	float	RadiansToDegrees(float rad)
{	
	return rad * 180.0f / pi;
}

//------------------------------------------------------------------------//
// Vector Class and vector functions
//------------------------------------------------------------------------//
class Vector {
public:
	float x;
	float y;
	float z;

	Vector(void);
	Vector(float xi, float yi, float zi);

	float Magnitude(void);
	void  Normalize(void);
	void  Reverse(void);

	Vector& operator+=(Vector u);	// vector addition
	Vector& operator-=(Vector u);	// vector subtraction
	Vector& operator*=(float s);	// scalar multiply
	Vector& operator/=(float s);	// scalar divide

	Vector operator-(void);

};

inline	Vector operator+(Vector u, Vector v);
inline	Vector operator-(Vector u, Vector v);
inline	Vector operator^(Vector u, Vector v);
inline	float operator*(Vector u, Vector v);
inline	Vector operator*(float s, Vector u);
inline	Vector operator*(Vector u, float s);
inline	Vector operator/(Vector u, float s);
inline	float TripleScalarProduct(Vector u, Vector v, Vector w);

inline Vector::Vector(void)
{
	x = 0;
	y = 0;
	z = 0;
}

inline Vector::Vector(float xi, float yi, float zi)
{
	x = xi;
	y = yi;
	z = zi;
}

inline	float Vector::Magnitude(void)
{
	return (float) sqrt(x*x + y*y + z*z);
}

inline	void  Vector::Normalize(void)
{
	float m = (float) sqrt(x*x + y*y + z*z);
	if(m <= tol) m = 1;
	x /= m;
	y /= m;
	z /= m;	

	if (fabs(x) < tol) x = 0.0f;
	if (fabs(y) < tol) y = 0.0f;
	if (fabs(z) < tol) z = 0.0f;
}

inline	void  Vector::Reverse(void)
{
	x = -x;
	y = -y;
	z = -z;
}

inline Vector& Vector::operator+=(Vector u)
{
	x += u.x;
	y += u.y;
	z += u.z;
	return *this;
}

inline	Vector& Vector::operator-=(Vector u)
{
	x -= u.x;
	y -= u.y;
	z -= u.z;
	return *this;
}

inline	Vector& Vector::operator*=(float s)
{
	x *= s;
	y *= s;
	z *= s;
	return *this;
}

inline	Vector& Vector::operator/=(float s)
{
	x /= s;
	y /= s;
	z /= s;
	return *this;
}

inline	Vector Vector::operator-(void)
{
	return Vector(-x, -y, -z);
}


inline	Vector operator+(Vector u, Vector v)
{
	return Vector(u.x + v.x, u.y + v.y, u.z + v.z);
}

inline	Vector operator-(Vector u, Vector v)
{
	return Vector(u.x - v.x, u.y - v.y, u.z - v.z);
}

// Vector cross product (u cross v)
inline	Vector operator^(Vector u, Vector v)
{
	return Vector(	u.y*v.z - u.z*v.y,
					-u.x*v.z + u.z*v.x,
					u.x*v.y - u.y*v.x );
}

// Vector dot product
inline	float operator*(Vector u, Vector v)
{
	return (u.x*v.x + u.y*v.y + u.z*v.z);
}

inline	Vector operator*(float s, Vector u)
{
	return Vector(u.x*s, u.y*s, u.z*s);
}

inline	Vector operator*(Vector u, float s)
{
	return Vector(u.x*s, u.y*s, u.z*s);
}

inline	Vector operator/(Vector u, float s)
{
	return Vector(u.x/s, u.y/s, u.z/s);
}

// triple scalar product (u dot (v cross w))
inline	float TripleScalarProduct(Vector u, Vector v, Vector w)
{
	return float(	(u.x * (v.y*w.z - v.z*w.y)) +
					(u.y * (-v.x*w.z + v.z*w.x)) +
					(u.z * (v.x*w.y - v.y*w.x)) );
	//return u*(v^w);

}



//------------------------------------------------------------------------//
// Matrix Class and matrix functions
//------------------------------------------------------------------------//

class Matrix3x3 {
public:
	// elements eij: i -> row, j -> column
	float	e11, e12, e13, e21, e22, e23, e31, e32, e33;	

	Matrix3x3(void);
	Matrix3x3(	float r1c1, float r1c2, float r1c3, 
				float r2c1, float r2c2, float r2c3, 
				float r3c1, float r3c2, float r3c3 );

	float	det(void);
	Matrix3x3	Transpose(void);
	Matrix3x3	Inverse(void);

	Matrix3x3& operator+=(Matrix3x3 m);
	Matrix3x3& operator-=(Matrix3x3 m);
	Matrix3x3& operator*=(float s);
	Matrix3x3& operator/=(float s);
};

inline	Matrix3x3 operator+(Matrix3x3 m1, Matrix3x3 m2);
inline	Matrix3x3 operator-(Matrix3x3 m1, Matrix3x3 m2);
inline	Matrix3x3 operator/(Matrix3x3 m, float s);
inline	Matrix3x3 operator*(Matrix3x3 m1, Matrix3x3 m2);
inline	Matrix3x3 operator*(Matrix3x3 m, float s);
inline	Matrix3x3 operator*(float s, Matrix3x3 m);
inline	Vector operator*(Matrix3x3 m, Vector u);
inline	Vector operator*(Vector u, Matrix3x3 m);





inline	Matrix3x3::Matrix3x3(void)
{
	e11 = 0;
	e12 = 0;
	e13 = 0;
	e21 = 0;
	e22 = 0;
	e23 = 0;
	e31 = 0;
	e32 = 0;
	e33 = 0;
}

inline	Matrix3x3::Matrix3x3(	float r1c1, float r1c2, float r1c3, 
								float r2c1, float r2c2, float r2c3, 
								float r3c1, float r3c2, float r3c3 )
{
	e11 = r1c1;
	e12 = r1c2;
	e13 = r1c3;
	e21 = r2c1;
	e22 = r2c2;
	e23 = r2c3;
	e31 = r3c1;
	e32 = r3c2;
	e33 = r3c3;
}

inline	float	Matrix3x3::det(void)
{
	return	e11*e22*e33 - 
			e11*e32*e23 + 
			e21*e32*e13 - 
			e21*e12*e33 + 
			e31*e12*e23 - 
			e31*e22*e13;	
}

inline	Matrix3x3	Matrix3x3::Transpose(void)
{
	return Matrix3x3(e11,e21,e31,e12,e22,e32,e13,e23,e33);
}

inline	Matrix3x3	Matrix3x3::Inverse(void)
{
	float	d = e11*e22*e33 - 
				e11*e32*e23 + 
				e21*e32*e13 - 
				e21*e12*e33 + 
				e31*e12*e23 - 
				e31*e22*e13;

	if (d == 0) d = 1;

	return	Matrix3x3(	(e22*e33-e23*e32)/d,
						-(e12*e33-e13*e32)/d,
						(e12*e23-e13*e22)/d,
						-(e21*e33-e23*e31)/d,
						(e11*e33-e13*e31)/d,
						-(e11*e23-e13*e21)/d,
						(e21*e32-e22*e31)/d,
						-(e11*e32-e12*e31)/d,
						(e11*e22-e12*e21)/d );	
}

inline	Matrix3x3& Matrix3x3::operator+=(Matrix3x3 m)
{
	e11 += m.e11;
	e12 += m.e12;
	e13 += m.e13;
	e21 += m.e21;
	e22 += m.e22;
	e23 += m.e23;
	e31 += m.e31;
	e32 += m.e32;
	e33 += m.e33;
	return *this;
}

inline	Matrix3x3& Matrix3x3::operator-=(Matrix3x3 m)
{
	e11 -= m.e11;
	e12 -= m.e12;
	e13 -= m.e13;
	e21 -= m.e21;
	e22 -= m.e22;
	e23 -= m.e23;
	e31 -= m.e31;
	e32 -= m.e32;
	e33 -= m.e33;
	return *this;
}

inline	Matrix3x3& Matrix3x3::operator*=(float s)
{
	e11 *= s;
	e12 *= s;
	e13 *= s;
	e21 *= s;
	e22 *= s;
	e23 *= s;
	e31 *= s;
	e32 *= s;
	e33 *= s;
	return *this;
}

inline	Matrix3x3& Matrix3x3::operator/=(float s)
{
	e11 /= s;
	e12 /= s;
	e13 /= s;
	e21 /= s;
	e22 /= s;
	e23 /= s;
	e31 /= s;
	e32 /= s;
	e33 /= s;
	return *this;
}

inline	Matrix3x3 operator+(Matrix3x3 m1, Matrix3x3 m2)
{
	return	Matrix3x3(	m1.e11+m2.e11,
						m1.e12+m2.e12,
						m1.e13+m2.e13,
						m1.e21+m2.e21,
						m1.e22+m2.e22,

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线观看一二区| 国产91精品一区二区| 国产三级一区二区| 在线看日韩精品电影| 极品美女销魂一区二区三区免费| 亚洲女厕所小便bbb| 久久亚洲精华国产精华液| 欧美日韩视频在线第一区 | 怡红院av一区二区三区| 久久综合999| 日韩视频免费观看高清完整版 | 青青草原综合久久大伊人精品| 国产精品妹子av| 日韩三级视频在线观看| 欧美亚洲国产一区在线观看网站 | 91在线一区二区| 国产精品一区2区| 久久激情五月激情| 欧美激情一区二区三区| 偷拍亚洲欧洲综合| 亚洲免费观看高清完整版在线| 久久久高清一区二区三区| 欧美日韩国产区一| 欧洲日韩一区二区三区| 97精品国产露脸对白| av亚洲精华国产精华| 国产91丝袜在线18| 国产成人亚洲综合色影视| 久热成人在线视频| 麻豆国产精品官网| 蜜桃视频免费观看一区| 免费人成精品欧美精品| 丝袜美腿成人在线| 日韩**一区毛片| 日本不卡视频一二三区| 美国欧美日韩国产在线播放| 蜜桃视频在线一区| 精品影院一区二区久久久| 精品一区二区三区免费视频| 美女视频黄免费的久久| 久久国产人妖系列| 精品无人区卡一卡二卡三乱码免费卡| 免费欧美在线视频| 极品销魂美女一区二区三区| 精品一区二区三区不卡| 国产一区激情在线| 日韩精品一二三四| 国产精品成人一区二区艾草| 最新欧美精品一区二区三区| 亚洲人成在线观看一区二区| 亚洲品质自拍视频| 亚洲成人免费观看| 蜜桃久久精品一区二区| 国产原创一区二区三区| 成人免费va视频| 日本精品裸体写真集在线观看 | 成人综合婷婷国产精品久久蜜臀| 国产成人精品免费看| 99re这里只有精品首页| 欧美写真视频网站| 精品人在线二区三区| 国产亚洲精品超碰| 亚洲精品成a人| 另类小说综合欧美亚洲| 丁香桃色午夜亚洲一区二区三区| 91丨九色丨蝌蚪丨老版| 欧美日韩精品一区二区三区| 日韩欧美区一区二| 中文字幕久久午夜不卡| 亚洲一区影音先锋| 精品亚洲国产成人av制服丝袜 | 欧美一级夜夜爽| 久久精品人人做人人综合 | 亚洲免费在线观看| 日本午夜一本久久久综合| 国产成人av资源| 欧美优质美女网站| 久久嫩草精品久久久精品一| 自拍偷拍亚洲欧美日韩| 日本aⅴ精品一区二区三区| 国产99久久久国产精品 | 欧美激情中文字幕一区二区| 一区二区三区在线播| 精品一区二区三区欧美| 色婷婷亚洲精品| 亚洲精品在线三区| 亚洲午夜久久久久久久久电影院 | 麻豆一区二区三| 99久久99久久综合| 精品国产不卡一区二区三区| 在线观看欧美精品| 欧洲生活片亚洲生活在线观看| 精品福利在线导航| 亚洲国产视频网站| 成人亚洲一区二区一| 91精品国模一区二区三区| 国产精品美女久久久久久久| 日韩专区一卡二卡| 成人高清在线视频| 精品久久国产老人久久综合| 亚洲一区在线视频| 9i在线看片成人免费| 欧美成人a在线| 五月综合激情日本mⅴ| 成人av午夜电影| 26uuuu精品一区二区| 午夜精品福利视频网站| 色综合天天性综合| 欧美国产国产综合| 国产在线精品一区二区夜色| 欧美日韩精品综合在线| 一区二区三区加勒比av| 不卡大黄网站免费看| 国产亚洲一区字幕| 久久国产日韩欧美精品| 欧美精品日韩综合在线| 亚洲精品视频在线看| 99久久国产免费看| 国产精品久久久久婷婷| 国产成人av电影免费在线观看| 日韩精品专区在线影院观看| 日韩在线一二三区| 欧美日韩高清影院| 亚洲无人区一区| 欧美在线观看视频在线| 一区二区三区小说| 91国偷自产一区二区使用方法| 国产精品免费视频网站| 成人午夜视频免费看| 国产亚洲1区2区3区| 国产成人午夜99999| 国产日产亚洲精品系列| 国产成人精品影视| 韩国成人在线视频| 日韩三级免费观看| 蜜桃一区二区三区在线| 日韩欧美国产麻豆| 久久99久久精品| 精品国产免费一区二区三区四区| 久久黄色级2电影| 久久网站热最新地址| 国产激情视频一区二区三区欧美 | 91精品久久久久久久99蜜桃| 五月激情六月综合| 91精品国产福利| 九色|91porny| 欧美激情一区二区三区四区| 成人av资源下载| 一区二区三区四区av| 欧美日韩极品在线观看一区| 奇米综合一区二区三区精品视频| 日韩欧美国产麻豆| 国产a久久麻豆| 亚洲免费av观看| 日韩一区二区三区免费看| 国产一区二区成人久久免费影院| 中文字幕高清一区| 色菇凉天天综合网| 琪琪一区二区三区| 国产精品女同一区二区三区| 一本一本大道香蕉久在线精品| 亚洲国产精品久久一线不卡| 欧美变态tickling挠脚心| 丁香激情综合国产| 亚洲一区二区三区四区在线免费观看 | 成人av影院在线| 樱桃国产成人精品视频| 在线综合视频播放| 国产精品一区免费在线观看| 亚洲欧洲三级电影| 欧美精品一级二级三级| 国产一区二区三区最好精华液| 国产精品久久久久久亚洲伦| 欧美色视频一区| 国产一区二区三区久久久| 自拍偷拍亚洲激情| 日韩一卡二卡三卡四卡| 成人午夜激情影院| 视频在线观看一区| 日本一区二区免费在线观看视频| 色婷婷综合视频在线观看| 久久精品国产在热久久| 亚洲欧洲性图库| 日韩欧美三级在线| 91免费看`日韩一区二区| 蜜桃视频一区二区三区在线观看| 欧美激情一区二区三区不卡| 欧美精品免费视频| 成人理论电影网| 免费精品视频在线| 亚洲视频小说图片| 精品国精品自拍自在线| 色视频成人在线观看免| 国模一区二区三区白浆| 一区二区三区四区激情| 中文字幕久久午夜不卡| 精品卡一卡二卡三卡四在线| 在线观看三级视频欧美| 成人福利视频网站| 另类成人小视频在线|