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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? testmain.cpp

?? 類似于MatLab的東東,當然肯定沒那么好,但基本的數學運算還是有的
?? CPP
字號:
#include <iostream>
using namespace std;


#include "XMathLib.h"
#include "XGeomLib.h"
#include "XMTrace.h"
using namespace XMathLib;
using namespace XGeomLib;

//#define _CONSOLE_TEST_

#ifdef  _CONSOLE_TEST_
int main()
{
	XVector v1(4,4,1,0);
    
	cout<<"V1: "<<v1<<endl;
    XVector v2(2,0,0);

	float mdata1[16] = 
	{
	  -1 ,  1 ,  0 , 0,
	  -1 ,  0 ,  1 , 0,
	  -1 ,  0 , -2 , 0,
	  0 ,  0 ,  0 , 1,
	};

	float mdata2[16] = 
	{
	  3,1,1,1,
	  0,4,0,2,
	  2,0,1,1,
	  0,1,0,2,
	};

	XMatrix m1(mdata1);
	XMatrix m2(mdata2);

	XMatrix m3(1);

	cout<<"M1"<<endl<<m1;
	cout<<"M2"<<endl<<m2;

	bool b = XMatrix_Inv(m2,m3);
	if(!b)
		cout<<"M2為奇異矩陣"<<endl;
	cout<<"M3 = Inv(M2) "<<endl<<m3;
    cout<<"M1 X M3 "<<endl<<m2*m3<<endl;

	v2 = v1 * m1;
	cout<<"Angle to RAD 90: "<<XM_Deg2Rad(90.f)/XM_PI <<" * pi "<<endl;
	cout<<"Arc Cos Degree  45: "<<XM_ACosD(0.707f)<<endl;

	XMatrix m4;
	XVector eye(1,1,1);
	XVector at (2,1,1);
	XVector up (0,1,0);
	//XM_Rotate(m4,v4,15);

	XM_LookAt(m4,eye,at,up);
	cout<<m4<<endl;

	float fp = 0;
	XPlan plan(1,0,0,2);
	//XVector vplan = plan;
	//cout<<endl<<"VPlan : "<<vplan<<endl;
	//cout<<vplan*plan<<endl;

    cout<<"測試四元數"<<endl;

    XMatrix mRotX;
    XMathLib::XM_RotateY(mRotX,40.0);
    cout<<mRotX<<endl;

	XVector mV(21.3,1.9,29.,1);
    cout<<mV*mRotX<<endl;

    XQuaternion r(XVector(0,1,0,1),40.0);

    cout<<"Matrix build by quaternion"<<endl;
    r.toMatrix(mRotX);
    cout<<mRotX<<endl;
    XVector mV2(21.3,1.9,29.,1);
    cout<<r.Rotate(mV2)<<endl;

    XRay ray;

	ray.m_Dir = XVector3D(0,-1,0.5);
	ray.m_Point = XVector3D(0,2,0);

	//XPlan plan;
	plan.A = 0;
	plan.B = 1;
	plan.C = 0;
	plan.D = 1;

    XPoint ptOut;
	float tinter ;
	if( false == InterSection(ray,plan,ptOut,tinter) )
	{
		cout<<"平面和射線不相交"<<endl;
        
	}
	else
	{
        cout<<"平面和射線相交"<<endl;
		cout<<tinter<<endl;
		cout<<plan * ptOut<<endl;
	}
	
	return 0;
}

#else

#pragma comment(lib,"opengl32.lib")
#pragma comment(lib,"glu32.lib")
#pragma comment(lib,"glut32.lib")
#include <windows.h>
#include <GL\glut.h>
bool g_gamemode;       // GLUT GameMode ON/OFF
bool g_fullscreen;     // Fullscreen Mode ON/OFF (When g_gamemode Is OFF)


// Our GL Specific Initializations
bool init(void)
{
	glShadeModel(GL_SMOOTH);							// Enable Smooth Shading
	glClearColor(0.0f, 0.0f, 0.0f, 0.5f);				// Black Background
	glClearDepth(1.0f);									// Depth Buffer Setup
	glEnable(GL_DEPTH_TEST);							// Enables Depth Testing
	glDepthFunc(GL_LEQUAL);								// The Type Of Depth Testing To Do
	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);	// Really Nice Perspective Calculations
	return true;
}

// Our Rendering Is Done Here
void render(void)   
{
	XRay ray;
	ray.m_Dir = XVector3D(0,0,1);
	ray.m_Point = XVector3D(0,0,-1);

	XTriangle tri;
	tri.m_points[0] = XVector3D(-1,0,0);
	tri.m_points[1] = XVector3D(1,-1,0);
	tri.m_points[2] = XVector3D(1,1,0);

	XPoint p;
	float t,u,v;
	bool isInter =  InterSection(ray,tri,p,t,u,v);

	p=XVector3D(1,1,1);

	isInter =  InterSection(ray,tri,p,t);

    


	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	// Clear Screen And Depth Buffer
	glLoadIdentity();									// Reset The Current Modelview Matrix


	// Swap The Buffers To Become Our Rendering Visible
	glutSwapBuffers ( );
}

// Our Reshaping Handler (Required Even In Fullscreen-Only Modes)
void reshape(int w, int h)
{
	glViewport(0, 0, w, h);
	glMatrixMode(GL_PROJECTION);     // Select The Projection Matrix
	glLoadIdentity();                // Reset The Projection Matrix
	// Calculate The Aspect Ratio And Set The Clipping Volume
	if (h == 0) h = 1;
	gluPerspective(80, (float)w/(float)h, 1.0, 5000.0);
	glMatrixMode(GL_MODELVIEW);      // Select The Modelview Matrix
	glLoadIdentity();                // Reset The Modelview Matrix
}

// Our Keyboard Handler (Normal Keys)
void keyboard(unsigned char key, int x, int y)
{
	switch (key) {
		case 27:        // When Escape Is Pressed...
			exit(0);    // Exit The Program
			break;          // Ready For Next Case
		default:        // Now Wrap It Up
			break;
	}
}

// Our Keyboard Handler For Special Keys (Like Arrow Keys And Function Keys)
void special_keys(int a_keys, int x, int y)
{
	switch (a_keys) {
		case GLUT_KEY_F1:
			// We Can Switch Between Windowed Mode And Fullscreen Mode Only
			if (!g_gamemode) {
				g_fullscreen = !g_fullscreen;       // Toggle g_fullscreen Flag
				if (g_fullscreen) glutFullScreen(); // We Went In Fullscreen Mode
				else glutReshapeWindow(500, 500);   // We Went In Windowed Mode
			}
			break;
		default:
			break;
	}
}

// Ask The User If He Wish To Enter GameMode Or Not
void ask_gamemode()
{
	int answer;
	// Use Windows MessageBox To Ask The User For Game Or Windowed Mode
	answer = MessageBox(NULL, "Do you want to enter game mode?", "Question",
		MB_ICONQUESTION | MB_YESNO);
	g_gamemode = (answer == IDYES);
	// If Not Game Mode Selected, Use Windowed Mode (User Can Change That With F1)
	g_fullscreen = false; 
}

// Main Function For Bringing It All Together.
int main(int argc, char** argv)
{
	ask_gamemode();                                  // Ask For Fullscreen Mode
	glutInit(&argc, argv);                           // GLUT Initializtion
	glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);     // Display Mode (Rgb And Double Buffered)
	if (g_gamemode) {
		glutGameModeString("640x480:16");            // Select The 640x480 In 16bpp Mode
		if (glutGameModeGet(GLUT_GAME_MODE_POSSIBLE))
			glutEnterGameMode();                     // Enter Full Screen
		else g_gamemode = false;                     // Cannot Enter Game Mode, Switch To Windowed
	}
	if (!g_gamemode) {
		glutInitWindowSize(500, 500);                // Window Size If We Start In Windowed Mode
		glutCreateWindow("NeHe's OpenGL Framework"); // Window Title 
	}
	init();                                          // Our Initialization
	glutDisplayFunc(render);                         // Register The Display Function
	glutReshapeFunc(reshape);                        // Register The Reshape Handler
	glutKeyboardFunc(keyboard);                      // Register The Keyboard Handler
	glutSpecialFunc(special_keys);                   // Register Special Keys Handler

	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
	//glOrtho(100,200,100,200,100,200);
	gluPerspective(60,3/4.,-50,100);
	double mat[16];
	glGetDoublev(GL_MODELVIEW_MATRIX,mat);
	for(int i = 0 ; i < 4; i ++)
	{
		for(int j = 0 ; j < 4 ; j ++)
		{
			cout<<mat[i * 4 + j]<<"\t";
		}
		cout<<endl;
	}  

	XMatrix matOut;
	//XM_Ortho3D(matOut,100,200,200,100,100,200);
	XM_Perspective(matOut,60,3/4.,-50,100);
	cout<<matOut<<endl;
	glutMainLoop();                                  // Go To GLUT Main Loop
	return 0;
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品电影| 亚洲一区二区三区视频在线播放| 中文字幕日韩一区| 免费精品视频最新在线| 成人午夜伦理影院| 日韩精品中文字幕一区二区三区| 成人欧美一区二区三区视频网页| 久久精品二区亚洲w码| 色欧美片视频在线观看在线视频| 久久久噜噜噜久噜久久综合| 日日欢夜夜爽一区| 色网综合在线观看| 国产精品久久久一区麻豆最新章节| 日本女人一区二区三区| 在线免费亚洲电影| 最好看的中文字幕久久| 国产一区二区免费看| 日韩一区二区在线免费观看| 亚洲一区二区黄色| 色呦呦国产精品| 国产精品蜜臀av| 国产91在线观看丝袜| 精品少妇一区二区三区在线播放| 亚洲一区二区三区自拍| 一本色道久久综合亚洲91| 国产精品美女久久久久久久久久久| 六月丁香婷婷久久| 欧美www视频| 美女任你摸久久| 欧美一区二区三区公司| 青青青伊人色综合久久| 91精品国产色综合久久不卡蜜臀 | 亚洲自拍偷拍麻豆| 色综合久久中文综合久久牛| 亚洲图片你懂的| 99re这里只有精品视频首页| 中文字幕一区二| 99精品国产99久久久久久白柏| 国产精品素人一区二区| 国产成人亚洲综合a∨猫咪| 国产婷婷色一区二区三区四区| 国产毛片精品一区| 中日韩av电影| 91麻豆成人久久精品二区三区| 亚洲女爱视频在线| 精品视频在线视频| 日韩电影在线看| wwwwxxxxx欧美| 成人性生交大片免费看中文| 中文字幕一区二区三区精华液 | 777欧美精品| 视频一区中文字幕| 精品国产麻豆免费人成网站| 国产美女一区二区三区| 国产精品久久久久久久久搜平片| 日本韩国欧美三级| 蜜臀av一区二区在线观看| 久久久久久免费网| 99国内精品久久| 亚洲图片有声小说| 精品日产卡一卡二卡麻豆| 懂色中文一区二区在线播放| 亚洲综合色婷婷| 2021中文字幕一区亚洲| 色综合久久中文字幕综合网 | 欧美老人xxxx18| 韩国av一区二区三区在线观看| 国产精品久久一卡二卡| 91精品国产综合久久久久久久 | 色婷婷综合久久久中文字幕| 日韩不卡一区二区三区| 国产视频一区二区在线| 欧美性猛交xxxxxx富婆| 久久超碰97人人做人人爱| 亚洲图片另类小说| 欧美成人高清电影在线| 色乱码一区二区三区88| 国产在线国偷精品免费看| 一区二区在线观看视频| 久久久久88色偷偷免费| 欧美精品一级二级| 91亚洲精品乱码久久久久久蜜桃| 婷婷综合五月天| 亚洲欧美一区二区三区久本道91 | 色婷婷精品久久二区二区蜜臀av| 喷白浆一区二区| 日韩毛片在线免费观看| 精品少妇一区二区三区在线视频| 色狠狠一区二区三区香蕉| 国产大陆精品国产| 理论片日本一区| 亚洲大尺度视频在线观看| 中文字幕欧美一| 久久综合色婷婷| 欧美精品一二三| 欧美三级在线视频| 91网站视频在线观看| 国产99久久精品| 国产一区二区三区四区在线观看| 午夜精品123| 亚洲小说欧美激情另类| 亚洲欧美日韩国产另类专区 | 亚洲自拍偷拍av| 亚洲色图.com| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久精品一区二区三区av| 这里是久久伊人| 欧美日韩一区精品| 欧洲视频一区二区| 色婷婷综合五月| 91高清视频在线| 色婷婷亚洲综合| 色爱区综合激月婷婷| 92国产精品观看| 91网站在线播放| 日本道精品一区二区三区| 91在线观看视频| 欧洲日韩一区二区三区| 欧洲国产伦久久久久久久| 日本韩国一区二区三区视频| 色综合天天在线| 欧美在线不卡视频| 欧美日韩国产精选| 日韩一区二区三区高清免费看看| 欧美卡1卡2卡| 精品国产一区二区三区四区四| 欧美va在线播放| 国产午夜精品福利| 中文字幕字幕中文在线中不卡视频| 中文字幕五月欧美| 亚洲午夜久久久久久久久久久| 亚洲成av人片在www色猫咪| 日韩精品一区第一页| 免费在线一区观看| 国产精品中文字幕日韩精品 | 中文字幕不卡在线| 亚洲精品一二三| 亚洲国产婷婷综合在线精品| 美腿丝袜亚洲综合| 成熟亚洲日本毛茸茸凸凹| 色综合久久九月婷婷色综合| 在线精品国精品国产尤物884a| 在线成人高清不卡| 国产亚洲美州欧州综合国| 一区在线观看免费| 日韩成人精品在线观看| 国产精品一线二线三线精华| 色综合 综合色| 欧美一区二区精品久久911| 日本一区二区三级电影在线观看 | 天天色天天操综合| 国产精品综合av一区二区国产馆| 一本色道久久综合亚洲91 | 久久久久免费观看| 亚洲精品欧美二区三区中文字幕| 午夜视频一区在线观看| 国产黄色91视频| 欧美日韩国产首页| 中文字幕精品在线不卡| 亚洲观看高清完整版在线观看| 国产高清精品在线| 91.麻豆视频| 国产精品福利影院| 蜜桃91丨九色丨蝌蚪91桃色| av不卡在线观看| 日韩欧美成人午夜| 亚洲影院在线观看| 成人手机电影网| 欧美本精品男人aⅴ天堂| 一区二区三区视频在线看| 国产永久精品大片wwwapp| 7777精品伊人久久久大香线蕉最新版| 欧美激情综合网| 精品一区二区久久久| 欧美丰满少妇xxxbbb| 亚洲人成人一区二区在线观看| 国产美女av一区二区三区| 日韩视频在线永久播放| 亚洲精品精品亚洲| 成人蜜臀av电影| 久久精品欧美一区二区三区麻豆| 丝瓜av网站精品一区二区 | 成人av午夜电影| 欧美精品一区二区三| 午夜日韩在线观看| 91官网在线观看| 亚洲另类春色国产| 97精品国产露脸对白| 国产精品视频一二三| 国产成人自拍网| 久久奇米777| 国产91在线观看| 欧美极品另类videosde| 国产凹凸在线观看一区二区| 精品国精品国产| 国产一区二区女| 国产日韩精品一区二区三区| 国产在线观看一区二区| 日韩一区二区电影网| 蜜臀av在线播放一区二区三区|