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

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

?? c2dmatrix.h

?? 《游戲編程中的人工智能技術》書中源代碼和可執行文件
?? H
字號:
#ifndef C2DMATRIX_H
#define C2DMATRIX_H

//------------------------------------------------------------------------
//
//	Name: C2DMatrix.h
//
//  Author: Mat Buckland 2002
//
//  Desc: 2D Matrix class  
//------------------------------------------------------------------------

#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <vector>

#include "utils.h"

struct SPoint;

using namespace std;


class C2DMatrix
{
private:
  
  struct S2DMatrix
  {

	  double _11, _12, _13;
	  double _21, _22, _23;
	  double _31, _32, _33;

    S2DMatrix()
	  {
		  _11=0; _12=0; _13=0;
		  _21=0; _22=0; _23=0;
		  _31=0; _32=0; _33=0;
	  }

    friend ostream &operator<<(ostream& os, const S2DMatrix &rhs)
	  {
		  os << "\n" << rhs._11 << "  " << rhs._12 << "  " << rhs._13;

		  os << "\n" << rhs._21 << "  " << rhs._22 << "  " << rhs._23;

		  os << "\n" << rhs._31 << "  " << rhs._32 << "  " << rhs._33;

		  return os;
	  }
  };

  S2DMatrix m_Matrix;

  //multiplies m_Matrix with mIn
  inline void  S2DMatrixMultiply(S2DMatrix &mIn);

public:

  C2DMatrix()
  {
    //initialize the matrix to an identity matrix
    Identity();
  }

  //create an identity matrix
  void Identity();
  
  //create a transformation matrix
  void	Translate(double x, double y);

  //create a scale matrix
  void	Scale(double xScale, double yScale);

  //create a rotation matrix
  void Rotate(double rotation);

   //applys a transformation matrix to a std::vector of points
  inline void TransformSPoints(vector<SPoint> &vPoints);

};

//multiply two matrices together
inline void C2DMatrix::S2DMatrixMultiply(S2DMatrix &mIn)
{
	S2DMatrix mat_temp;
	
	//first row
	mat_temp._11 = (m_Matrix._11*mIn._11) + (m_Matrix._12*mIn._21) + (m_Matrix._13*mIn._31);
	mat_temp._12 = (m_Matrix._11*mIn._12) + (m_Matrix._12*mIn._22) + (m_Matrix._13*mIn._32);
	mat_temp._13 = (m_Matrix._11*mIn._13) + (m_Matrix._12*mIn._23) + (m_Matrix._13*mIn._33);

	//second
	mat_temp._21 = (m_Matrix._21*mIn._11) + (m_Matrix._22*mIn._21) + (m_Matrix._23*mIn._31);
	mat_temp._22 = (m_Matrix._21*mIn._12) + (m_Matrix._22*mIn._22) + (m_Matrix._23*mIn._32);
	mat_temp._23 = (m_Matrix._21*mIn._13) + (m_Matrix._22*mIn._23) + (m_Matrix._23*mIn._33);

	//third
	mat_temp._31 = (m_Matrix._31*mIn._11) + (m_Matrix._32*mIn._21) + (m_Matrix._33*mIn._31);
	mat_temp._32 = (m_Matrix._31*mIn._12) + (m_Matrix._32*mIn._22) + (m_Matrix._33*mIn._32);
	mat_temp._33 = (m_Matrix._31*mIn._13) + (m_Matrix._32*mIn._23) + (m_Matrix._33*mIn._33);

	m_Matrix = mat_temp;
}

//applies a 2D transformation matrix to a std::vector of SPoints
inline void C2DMatrix::TransformSPoints(vector<SPoint> &vPoint)
{
	for (int i=0; i<vPoint.size(); ++i)
	{
		double tempX =(m_Matrix._11*vPoint[i].x) + (m_Matrix._21*vPoint[i].y) + (m_Matrix._31);

		double tempY = (m_Matrix._12*vPoint[i].x) + (m_Matrix._22*vPoint[i].y) + (m_Matrix._32);
	
		vPoint[i].x = tempX;

		vPoint[i].y = tempY;

	}
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品三级| 国产欧美一区视频| 精品国产精品一区二区夜夜嗨| 国产精品丝袜一区| 五月天激情小说综合| 99久久婷婷国产| 国产校园另类小说区| 午夜精品成人在线视频| 4438x成人网最大色成网站| 国产精品久久久99| 国产高清不卡二三区| 欧美一区二区三区四区在线观看| 日韩理论片一区二区| 国产成人免费视频网站 | 成人av电影观看| 日韩一区二区在线看片| 亚洲国产一区二区三区青草影视| av男人天堂一区| 欧美国产国产综合| 精品一区二区三区免费毛片爱| 91麻豆精品国产自产在线| 亚洲观看高清完整版在线观看| 色综合色狠狠综合色| 中文av一区二区| 成人av电影在线播放| 国产精品区一区二区三区| 国产黄人亚洲片| 国产三级一区二区三区| 国产激情一区二区三区四区| 久久久久久久久岛国免费| 蜜桃精品视频在线| 欧美一二三区在线观看| 久久精品噜噜噜成人88aⅴ| 日韩三级在线免费观看| 久久99久久久久| 久久久久久久av麻豆果冻| 国产精品一区二区久激情瑜伽 | 欧美美女视频在线观看| 亚洲成人免费影院| 日韩一区二区三区高清免费看看| 美国一区二区三区在线播放| 久久影视一区二区| 成人听书哪个软件好| 久久99国产精品久久| 亚洲精品一线二线三线无人区| 激情六月婷婷久久| 国产精品色眯眯| 91视视频在线观看入口直接观看www | 在线精品视频免费播放| 爽爽淫人综合网网站| 精品裸体舞一区二区三区| 国产九色sp调教91| 国产精品福利一区二区三区| 欧洲一区在线观看| 裸体一区二区三区| 中文一区二区在线观看| 色婷婷av一区二区三区gif| 亚洲小说欧美激情另类| 正在播放亚洲一区| 国产成+人+日韩+欧美+亚洲| 亚洲精品v日韩精品| 91麻豆精品国产91久久久久| 国产成人在线免费| 亚洲国产日日夜夜| 亚洲国产日韩a在线播放性色| 欧美一区二区三区视频在线| 国产不卡视频在线播放| 亚洲观看高清完整版在线观看 | 国产一区二区三区免费| 亚洲天堂免费看| 欧美大片拔萝卜| 色综合天天综合网天天看片| 另类专区欧美蜜桃臀第一页| 亚洲欧美日韩国产综合在线| 精品处破学生在线二十三| 色婷婷综合久久久久中文一区二区| 日日夜夜精品视频免费| 国产精品成人免费| 亚洲精品一线二线三线| 欧美日韩精品一区二区天天拍小说| 国产精品一区二区久激情瑜伽| 亚洲成人第一页| 国产精品福利一区二区| 日韩免费成人网| 欧美视频精品在线观看| 成人免费看黄yyy456| 美女在线视频一区| 一级特黄大欧美久久久| 久久久美女毛片| 欧美精品一二三| 99精品国产99久久久久久白柏| 午夜av电影一区| 亚洲精选一二三| 国产精品色哟哟| 久久精品男人的天堂| 欧美一级搡bbbb搡bbbb| 欧美日韩国产免费一区二区 | 天堂成人国产精品一区| 国产一区二区在线电影| 日本不卡视频在线| 亚洲电影在线播放| 亚洲黄色性网站| 亚洲少妇30p| 国产精品久久久久久福利一牛影视| 精品成人一区二区三区四区| 91精品国产入口| 欧美精品色综合| 欧美日韩免费观看一区二区三区| 色偷偷成人一区二区三区91| 波多野结衣91| 成年人网站91| 丁香激情综合国产| 成人综合在线观看| 成人午夜电影久久影院| 成人av在线一区二区| 国产盗摄一区二区三区| 国产福利一区在线观看| 国产ts人妖一区二区| 丁香六月综合激情| 97久久精品人人爽人人爽蜜臀| 成+人+亚洲+综合天堂| 99re热视频精品| 欧美在线观看视频一区二区三区| 日本丰满少妇一区二区三区| 欧美亚洲动漫另类| 欧美精品v国产精品v日韩精品| 欧美剧情片在线观看| 日韩精品一区二区三区中文精品| 日韩精品专区在线| 国产视频一区二区三区在线观看| 中文字幕免费观看一区| 亚洲欧美日韩在线| 日韩成人伦理电影在线观看| 久久国产乱子精品免费女| 成人免费的视频| 欧美三级电影在线观看| 日韩精品一区二区在线| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美三级韩国三级日本三斤 | 日韩精品电影在线观看| 国产中文字幕精品| 99久久婷婷国产综合精品电影| 欧美视频完全免费看| 亚洲国产aⅴ天堂久久| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲aⅴ怡春院| 国产在线不卡一卡二卡三卡四卡| 99re这里只有精品视频首页| 欧美日韩美女一区二区| 久久综合国产精品| 亚洲欧美另类久久久精品| 日韩国产一二三区| 国产麻豆成人传媒免费观看| 91影视在线播放| 日韩你懂的在线观看| 综合久久综合久久| 韩国三级中文字幕hd久久精品| 波多野结衣中文字幕一区| 欧美一区二区三区在线视频| 国产精品区一区二区三| 久久精品国产亚洲a| 在线欧美日韩国产| 久久精品视频在线免费观看| 亚洲h在线观看| va亚洲va日韩不卡在线观看| 日韩亚洲欧美成人一区| 中文字幕在线不卡一区| 九九久久精品视频| 欧美日韩国产综合一区二区| 国产精品嫩草99a| 国产原创一区二区| 91精品国产综合久久久久久久久久 | 日韩理论片在线| 激情国产一区二区| 色综合久久天天综合网| 国产三级精品三级在线专区| 午夜激情综合网| 色94色欧美sute亚洲13| 国产欧美一区二区在线| 九色综合国产一区二区三区| 91蜜桃网址入口| 久久精品人人做| 精品一区二区综合| 欧美高清dvd| 一区二区三区国产豹纹内裤在线| av一区二区三区四区| 国产人成一区二区三区影院| 激情伊人五月天久久综合| 欧美一区二区三区在| 丝袜美腿亚洲一区| 欧美精品 国产精品| 婷婷国产在线综合| 欧美日韩综合一区| 五月激情综合色| 日韩久久一区二区| 91在线观看美女| 亚洲欧美一区二区久久| 色域天天综合网| 一区二区三区小说| 色哟哟日韩精品|