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

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

?? vector.cpp

?? 詳細介紹c++編程
?? CPP
字號:
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include "vector.h"
#include "body.h"

void vecPrint (vector v)
{
  printf ("[%f %f %f]\n", v[0], v[1], v[2]);
}

void vecCopy (vector dest, vector src)
{
  dest[0] = src[0];
  dest[1] = src[1];
  dest[2] = src[2];
}

float vecLength (vector u)
{
  return sqrt (u[0] * u[0] + u[1] * u[1] + u[2] * u[2]);
}

float vecLengthSq (vector u)
{
  return (u[0] * u[0] + u[1] * u[1] + u[2] * u[2]);
}

float vecDist (vector   u,
	 vector   v)
{
  return sqrt ((v[0] - u[0]) * (v[0] - u[0]) +
	       (v[1] - u[1]) * (v[1] - u[1]) +
	       (v[2] - u[2]) * (v[2] - u[2]));
}

float vecDistSq (vector   u,
	   vector   v)
{
  return ((v[0] - u[0]) * (v[0] - u[0]) +
	  (v[1] - u[1]) * (v[1] - u[1]) +
	  (v[2] - u[2]) * (v[2] - u[2]));
}

void vecSub (vector     dest, 
	vector     u,
	vector     v)
{
  vector    res;

  res[0] = u[0] - v[0];
  res[1] = u[1] - v[1];
  res[2] = u[2] - v[2];

  vecCopy (dest, res);
}

void vecAdd (vector     dest, 
	vector     u,
	vector     v)
{
  vector     res;

  res[0] = u[0] + v[0];
  res[1] = u[1] + v[1];
  res[2] = u[2] + v[2];

  vecCopy (dest, res);
}

void vecMult (vector     dest, 
	 float      c,
	 vector     u)
{
  vector    res;

  res[0] = u[0] * c;
  res[1] = u[1] * c;
  res[2] = u[2] * c;

  vecCopy (dest, res);
}

float vecDot (vector    u,
	vector    v)
{
  return (u[0] * v[0] + u[1] * v[1] + u[2] * v[2]);
}

float vecAngle (vector   u,
	  vector   v)
{
  return acos (vecDot (u, v) / (vecLength (u) * vecLength (v)));
}

void vecCross (vector    dest,
	  vector    u,
	  vector    v)
{
  vector res;

  res[0] = u[1] * v[2] - u[2] * v[1];
  res[1] = u[2] * v[0] - u[0] * v[2];
  res[2] = u[0] * v[1] - u[1] * v[0];

  vecCopy (dest, res);
}

void vecNormalize (vector dest, vector v)
{
  float   length;

  length = vecLength (v);
  
  if (length != 0)
    {
      vecMult (dest, 1 / length, v);
    }
}

float vecDistPointToPlane (vector    r,
		     plane     p)
{
  return (p[0] * r[0] + p[1] * r[1] + p[2] * r[2] + p[3]);
}

void vecPlaneFromPointAndNormal (plane    dest,
			    vector   p,
			    vector   N)
{
  dest[0] = N[0];
  dest[1] = N[1];
  dest[2] = N[2];
  dest[3] = -((N[0] * p[0]) + (N[1] * p[1]) + (N[2] * p[2]));
}

void vecSpherical (vector dest, float theta, float phi)
{
  dest[0] = (float)sin (theta) * (float)cos (phi);
  dest[1] = (float)sin (theta) * (float)sin (phi);
  dest[2] = (float)cos (theta);
}

void vecRotateX (vector     dest,
	    vector     src,
	    float      angle)
{
  float    s;
  float    c;
  vector   result;

  s = (float)sin (angle * VEC_DEG_TO_RAD);
  c = (float)cos (angle * VEC_DEG_TO_RAD);

  result[0] = src[0];
  result[1] = src[1] * c + src[2] * s;
  result[2] = -src[1] * s + src[2] * c;

  vecCopy (dest, result);
}

void vecRotateY (vector      dest,
	    vector      src,
	    float       angle)
{
  float    s;
  float    c;
  vector   result;

  s = (float)sin (angle * VEC_DEG_TO_RAD);
  c = (float)cos (angle * VEC_DEG_TO_RAD);

  result[0] = src[0] * c - src[2] * s;
  result[1] = src[1];
  result[2] = src[0] * s + src[2] * c;

  vecCopy (dest, result);
}

void vecRotateZ (vector     dest,
	    vector     src,
	    float      angle)
{
  float   s;
  float   c;
  vector  result;

  s = (float)sin (angle * VEC_DEG_TO_RAD);
  c = (float)cos (angle * VEC_DEG_TO_RAD);

  result[0] = src[0] * c + src[1] * s;
  result[1] = -src[0] * s + src[1] * c;
  result[2] = src[2];
  
  vecCopy (dest, result);
}

void vecRotate (vector dest, vector p, vector axis, float angle)
{
  float   c;
  float   s;
  float   t;
  float   x, y, z;
  float   x2, y2, z2;
  float   R[3][3];
  vector  result;

  c = (float)cos (angle);
  s = (float)sin (angle);
  t = 1 - c;
  x = axis[0];
  y = axis[1];
  z = axis[2];
  x2 = x * x;
  y2 = y * y;
  z2 = z * z;

  R[0][0] = (t * x2) + c;
  R[1][0] = (t * x * y) - (s * z);
  R[2][0] = (t * x * z) + (s * y);
  
  R[0][1] = (t * x * y) + (s * z);
  R[1][1] = (t * y2) + c;
  R[2][1] = (t * y * z) - (s * x);

  R[0][2] = (t * x * z) - (s * y);
  R[1][2] = (t * y * z) + (s * x);
  R[2][2] = (t * z2) + c;

  result[0] = (p[0] * R[0][0]) + (p[1] * R[1][0]) + (p[2] * R[2][0]);
  result[1] = (p[0] * R[0][1]) + (p[1] * R[1][1]) + (p[2] * R[2][1]);
  result[2] = (p[0] * R[0][2]) + (p[1] * R[1][2]) + (p[2] * R[2][2]);
  
  vecCopy (dest, result);
}

void vecMatch (float *angle, vector axis, vector u, vector v)
{
  vecCross (axis, u, v);
  vecNormalize (axis, axis);
  *angle = acos (vecDot (u, v));
}

void vecSetValue(vector dest, float x, float y, float z)
{
  vector  result;

  result[X] = x;
  result[Y] = y;
  result[Z] = z;

  vecCopy(dest, result);
}

void vecTranslate(vector dest, float x, float y, float z)
{
  vector  result;
  result[X] = dest[X] + x;
  result[Y] = dest[Y] + y;
  result[Z] = dest[Z] + z;

  vecCopy(dest, result);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩性生活| av中文字幕一区| 国产欧美日本一区视频| 亚洲午夜在线视频| 亚洲人成网站精品片在线观看| 久久精品夜色噜噜亚洲aⅴ| 久久综合九色综合久久久精品综合| 欧美大胆一级视频| 欧美本精品男人aⅴ天堂| 久久蜜桃香蕉精品一区二区三区| 久久精品视频网| 中文字幕亚洲视频| 亚洲伊人伊色伊影伊综合网| 亚洲激情在线播放| 视频一区在线视频| 极品美女销魂一区二区三区| 丰满少妇在线播放bd日韩电影| 成人中文字幕电影| 在线观看免费一区| 日韩精品一区二区三区中文不卡| 欧美变态口味重另类| 91年精品国产| 精品在线免费视频| 国产欧美精品在线观看| 国模少妇一区二区三区| 国产大片一区二区| 色偷偷成人一区二区三区91| 欧美顶级少妇做爰| 日本一区二区综合亚洲| 亚洲精品老司机| 久久99久久久欧美国产| 国产91高潮流白浆在线麻豆| 一本大道久久a久久精品综合| 欧美四级电影网| 久久午夜国产精品| 一级精品视频在线观看宜春院 | 美女看a上一区| 国产尤物一区二区在线| 色999日韩国产欧美一区二区| 欧美日韩五月天| 欧美国产1区2区| 石原莉奈一区二区三区在线观看| 国产精品99久久久久久久vr | 国产suv一区二区三区88区| 91久久一区二区| 久久久精品2019中文字幕之3| 亚洲一区二区五区| www.在线成人| 久久这里只有精品视频网| 亚洲国产精品久久久久婷婷884| 精品无码三级在线观看视频| 欧美午夜精品电影| 中文字幕中文字幕在线一区 | 亚洲午夜一二三区视频| 国产在线一区观看| 色94色欧美sute亚洲线路一久| 精品国精品自拍自在线| 亚洲国产aⅴ成人精品无吗| 高潮精品一区videoshd| 日韩免费高清av| 视频一区二区中文字幕| 91福利精品第一导航| 国产精品系列在线| 国产精品99久| 亚洲精品一区二区三区蜜桃下载| 日韩av在线播放中文字幕| 色婷婷av一区二区三区软件| 国产精品免费看片| 国产91露脸合集magnet| 久久夜色精品国产噜噜av| 国产精品日韩精品欧美在线| 狠狠色丁香久久婷婷综合丁香| 91精品婷婷国产综合久久性色 | 日产精品久久久久久久性色| 色综合久久中文综合久久97| 国产精品乱人伦| 99久久精品国产观看| 亚洲婷婷综合久久一本伊一区| 成人免费av资源| 亚洲欧美电影院| 色综合天天综合色综合av | 东方欧美亚洲色图在线| 欧美精品一区二区久久婷婷| 国精产品一区一区三区mba桃花 | 国产精品123| 国产人伦精品一区二区| 成人一级片在线观看| 国产欧美日本一区二区三区| 97精品久久久久中文字幕| 亚洲色图另类专区| 欧美在线制服丝袜| 丝袜诱惑制服诱惑色一区在线观看 | 免费看欧美女人艹b| 欧美性极品少妇| 天堂一区二区在线| 日韩午夜激情视频| 国产乱码精品一品二品| 国产精品理论片在线观看| 一本色道久久综合精品竹菊| 亚洲成人自拍一区| 欧美精品一区二区精品网| 成人网男人的天堂| 亚洲国产一区二区a毛片| 欧美一区二区三区在线视频| 99久久伊人网影院| 色系网站成人免费| 日本视频一区二区三区| 久久久午夜精品理论片中文字幕| 99r国产精品| 日本va欧美va瓶| 欧美人与性动xxxx| 日日夜夜免费精品| 国产三级欧美三级| 欧美性生交片4| 国产制服丝袜一区| 亚洲高清免费观看高清完整版在线观看 | 精品对白一区国产伦| 欧美成人aa大片| 91在线精品一区二区三区| 香蕉av福利精品导航| 国产午夜精品一区二区三区嫩草| 91免费版在线| 狠狠色狠狠色综合| 五月天婷婷综合| 国产精品欧美久久久久无广告| 日韩一区二区三区电影 | 日本不卡视频在线| 成人欧美一区二区三区黑人麻豆| 日韩一区二区在线观看视频 | 91蜜桃在线免费视频| 激情六月婷婷综合| 日韩中文字幕亚洲一区二区va在线| 中文在线一区二区| 26uuu国产日韩综合| 欧美一区二区三区系列电影| 在线观看亚洲精品| 99精品视频在线免费观看| 国产福利91精品一区二区三区| 日韩中文字幕91| 婷婷夜色潮精品综合在线| 一区二区三区**美女毛片| 国产精品电影一区二区三区| 久久综合九色综合欧美就去吻 | 欧洲国内综合视频| jizz一区二区| 国产91精品一区二区| 国产精品影音先锋| 国产一区二区0| 国产69精品一区二区亚洲孕妇| 国产乱码精品一区二区三| 国产剧情一区二区| 国产精品一区二区男女羞羞无遮挡| 免费在线观看日韩欧美| 日韩电影在线免费看| 日本韩国欧美一区| 色8久久人人97超碰香蕉987| 色综合久久六月婷婷中文字幕| 91色综合久久久久婷婷| 欧美性一级生活| 欧美日韩一区中文字幕| 欧美日韩国产高清一区二区三区| 欧美日韩精品欧美日韩精品| 欧美放荡的少妇| 精品久久国产字幕高潮| 久久久五月婷婷| 亚洲欧洲日韩在线| 亚洲国产精品麻豆| 麻豆精品久久久| 国产·精品毛片| 一本久久精品一区二区| 欧美三级视频在线播放| 欧美高清一级片在线| 精品国产区一区| 亚洲国产精品99久久久久久久久| 国产精品不卡视频| 丝袜诱惑制服诱惑色一区在线观看| 久久精品国产一区二区三区免费看 | 国产精品资源网站| 91网站最新网址| 欧美久久久久中文字幕| 337p粉嫩大胆噜噜噜噜噜91av| 欧美高清在线视频| 视频一区在线播放| 成人亚洲一区二区一| 欧美日韩精品福利| 国产拍揄自揄精品视频麻豆| 一区二区三区四区乱视频| 毛片av一区二区三区| 国产91丝袜在线播放| 欧美久久高跟鞋激| 中文字幕不卡在线| 免费高清在线视频一区·| 99久久精品免费看| 日韩精品在线一区| 一区二区三区在线视频观看| 精彩视频一区二区三区| 日本丶国产丶欧美色综合| 久久久久久亚洲综合| 亚洲成人av电影在线| 成人免费视频视频|