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

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

?? vector.c

?? 模型沖突檢測
?? C
字號:
/***************************************************************************** *    vector.c -  vector routines for quatlib that are unrelated to quaternions         (see quat.h for revision history and more documentation.)  * *****************************************************************************/#include "quat.h"/***************************************************************************** *   q_vec_print - prints a vector to stdout * *****************************************************************************/voidq_vec_print(q_vec_type vec){    printf("(%lf, %lf, %lf)\n", vec[Q_X], vec[Q_Y], vec[Q_Z]);}	/* q_vec_print *//***************************************************************************** *   q_set_vec - set vector equal to 3 values given * *****************************************************************************/voidq_set_vec(q_vec_type vec, double x, double y, double z){    vec[Q_X] = x;    vec[Q_Y] = y;    vec[Q_Z] = z;}	/* q_set_vec *//***************************************************************************** *   q_vec_copy - copies srcVec to destVec * *****************************************************************************/voidq_vec_copy(q_vec_type destVec, q_vec_type srcVec){    destVec[Q_X] = srcVec[Q_X];    destVec[Q_Y] = srcVec[Q_Y];    destVec[Q_Z] = srcVec[Q_Z];}	/* q_vec_copy */    /***************************************************************************** *   q_vec_add - adds two vectors     input:    	- destVec, aVec, bVec        output:    	- destVec = aVec + bVec        notes:    	- src and dest may be same storage * *****************************************************************************/voidq_vec_add(q_vec_type destVec, q_vec_type aVec, q_vec_type bVec){    int	    i;    for ( i = 0; i < 3; i++ )        destVec[i] = aVec[i] + bVec[i];}	/* q_vec_add *//***************************************************************************** *   q_vec_subtract - destVec = v1 - v2     input:    	- dest vector	- v1, v2        output:    	- dest vec        notes:    	- v1, v2, destVec need not be distinct storage * *****************************************************************************/voidq_vec_subtract(q_vec_type destVec, q_vec_type v1, q_vec_type v2){    destVec[Q_X] = v1[Q_X] - v2[Q_X];    destVec[Q_Y] = v1[Q_Y] - v2[Q_Y];    destVec[Q_Z] = v1[Q_Z] - v2[Q_Z];}	/* q_vec_subtract *//***************************************************************************** *   q_vec_dot_product - returns value of dot product of v1 and v2 * *****************************************************************************/doubleq_vec_dot_product(q_vec_type v1, q_vec_type v2){    return((v1[Q_X] * v2[Q_X]) + (v1[Q_Y] * v2[Q_Y]) + (v1[Q_Z] * v2[Q_Z]));}	/* q_vec_dot_product *//***************************************************************************** *   q_vec_scale - scale a vector     input:    	- pointer to destination vector	- scale factor	- pointer to src vector	    output:    	- dest vec is scaled by given amount        notes:    	- src and dest need not be distinct * *****************************************************************************/voidq_vec_scale(q_vec_type destVec, double scaleFactor, q_vec_type srcVec){    destVec[Q_X] = srcVec[Q_X] * scaleFactor;    destVec[Q_Y] = srcVec[Q_Y] * scaleFactor;    destVec[Q_Z] = srcVec[Q_Z] * scaleFactor;}	/* q_vec_scale *//***************************************************************************** *   q_vec_invert - negate a vector to point in the opposite direction     input:    	- pointer to destination vector	- pointer to src vector	    output:    	- dest vec is negated/inverted        notes:    	- src and dest need not be distinct	- this routine is called invert rather than negate to be consistent	  with q_invert for quaternions * *****************************************************************************/voidq_vec_invert(q_vec_type destVec, q_vec_type srcVec){    destVec[Q_X] = -srcVec[Q_X];    destVec[Q_Y] = -srcVec[Q_Y];    destVec[Q_Z] = -srcVec[Q_Z];}	/* q_vec_invert *//***************************************************************************** *   q_vec_magnitude - returns magnitude of vector     input:    	- vector        output:    	- magnitude     * *****************************************************************************/doubleq_vec_magnitude(q_vec_type vec){    return( sqrt( vec[Q_X]*vec[Q_X] + vec[Q_Y]*vec[Q_Y] + vec[Q_Z]*vec[Q_Z] ) );}	/* q_vec_magnitude *//***************************************************************************** *   q_vec_normalize - normalize a vector     input:    	vec - a vector	destVec - output parameter        output:    	normalized vector is put in destVec        notes:    	destVec and srcVec may be the same * *****************************************************************************/voidq_vec_normalize(q_vec_type destVec, q_vec_type srcVec){    double normalizeFactor;    double magnitude;    if ( (magnitude = q_vec_magnitude(srcVec)) < Q_EPSILON )    {        fprintf(stderr, "quatlib: q_vec_normalize: vector has 0 magnitude.\n");        return;    }    normalizeFactor = 1.0 / magnitude;    destVec[Q_X] = srcVec[Q_X] * normalizeFactor;    destVec[Q_Y] = srcVec[Q_Y] * normalizeFactor;    destVec[Q_Z] = srcVec[Q_Z] * normalizeFactor;}	/* q_vec_normalize *//***************************************************************************** *   q_vec_distance - returns distance between two points/vectors * *****************************************************************************/doubleq_vec_distance(q_vec_type vec1, q_vec_type vec2){    return( sqrt((vec2[Q_X] - vec1[Q_X]) * (vec2[Q_X] - vec1[Q_X]) + 	     (vec2[Q_Y] - vec1[Q_Y]) * (vec2[Q_Y] - vec1[Q_Y]) + 	     (vec2[Q_Z] - vec1[Q_Z]) * (vec2[Q_Z] - vec1[Q_Z])) );}	/* q_vec_distance *//***************************************************************************** *   q_vec_cross_product - computes cross product of two vectors:        	    	    	destVec = aVec X bVec     input:    	destVec:    pointer to output vector	aVec:  	    first vector	bVec:  	    second vector        output:    	destVec = aVec X bVec        notes:    	destVec == aVec or bVec ok. * *****************************************************************************/voidq_vec_cross_product(q_vec_type destVec, q_vec_type aVec, q_vec_type bVec){    q_vec_type	tmpDestVec;    tmpDestVec[Q_X] = aVec[Q_Y] * bVec[Q_Z] - aVec[Q_Z] * bVec[Q_Y];    tmpDestVec[Q_Y] = aVec[Q_Z] * bVec[Q_X] - aVec[Q_X] * bVec[Q_Z];    tmpDestVec[Q_Z] = aVec[Q_X] * bVec[Q_Y] - aVec[Q_Y] * bVec[Q_X];    q_vec_copy(destVec, tmpDestVec);}	/* q_vec_cross_product *//***************************************************************************** *   qp_vec_copy- copy PPHIGS srcVec to PPHIGS destVec * *****************************************************************************/void qp_vec_copy(Q_VectorType destVec, Q_VectorType srcVec){    destVec[X] = srcVec[X];    destVec[Y] = srcVec[Y];    destVec[Z] = srcVec[Z];}   /* qp_vec_copy  */    /***************************************************************************** *   qp_pvec_to_vec- convert PPHIGS srcVec to quatlib destVec * *****************************************************************************/void qp_pvec_to_vec(q_vec_type destVec, Q_VectorType srcVec){    destVec[Q_X] = srcVec[X];    destVec[Q_Y] = srcVec[Y];    destVec[Q_Z] = srcVec[Z];}   /* qp_pvec_to_vec  */    /***************************************************************************** *   qp_vec_to_pvec- convert quatlib srcVec to PPHIGS destVec * *****************************************************************************/void qp_vec_to_pvec(Q_VectorType destVec, q_vec_type srcVec){    destVec[X] = srcVec[Q_X];    destVec[Y] = srcVec[Q_Y];    destVec[Z] = srcVec[Q_Z];}   /* qp_vec_to_pvec  */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级韩国三级日本一级| 久久久精品国产免费观看同学| 欧美电视剧免费全集观看| 国产欧美日韩另类视频免费观看| 又紧又大又爽精品一区二区| 国产在线日韩欧美| 8v天堂国产在线一区二区| 国产精品无遮挡| 麻豆国产精品官网| 在线电影欧美成精品| 国产精品国产三级国产普通话蜜臀 | 国产成人一级电影| 在线成人免费视频| 一区二区三区在线看| 国产福利不卡视频| 精品成人一区二区三区四区| 一区二区不卡在线播放| 成人一级视频在线观看| 精品99一区二区| 人人狠狠综合久久亚洲| 在线亚洲人成电影网站色www| 国产午夜精品久久久久久久 | 成人在线视频一区| 久久久亚洲综合| 国内精品自线一区二区三区视频| 欧美猛男gaygay网站| 亚洲综合一区二区精品导航| 99国内精品久久| 亚洲少妇屁股交4| 91视频.com| 悠悠色在线精品| 国产三级精品视频| 激情久久久久久久久久久久久久久久| 欧美精品视频www在线观看| 亚洲制服丝袜av| 欧美熟乱第一页| 亚洲成av人影院在线观看网| 欧美日韩国产天堂| 蜜桃av一区二区三区电影| 日韩免费观看高清完整版| 美女视频黄 久久| 久久精品人人做人人综合| 国产91富婆露脸刺激对白| 国产精品网站一区| 色综合久久88色综合天天6| 亚洲欧美成aⅴ人在线观看| 在线视频你懂得一区| 香蕉乱码成人久久天堂爱免费| 91精品福利在线一区二区三区| 青青草国产精品97视觉盛宴 | 激情图区综合网| 久久久久97国产精华液好用吗| 粉嫩av亚洲一区二区图片| 国产精品日产欧美久久久久| 五月婷婷激情综合| 日产精品久久久久久久性色| 99久久精品免费精品国产| 精品精品欲导航| 视频一区视频二区中文字幕| 99久久国产综合精品麻豆| 精品久久久久99| 久久精工是国产品牌吗| 欧美日韩一区二区在线观看视频| 国产精品久久久久影院| 国产精品123| 2020国产精品自拍| 精品一区二区在线免费观看| 欧美一区二区三区不卡| 亚洲国产另类av| 欧美日韩美女一区二区| 一区二区三区四区国产精品| 91蜜桃网址入口| 18成人在线观看| 91蝌蚪porny| 一区二区三区在线视频播放 | 一区二区三区免费网站| av资源网一区| 亚洲色图在线看| 91色综合久久久久婷婷| 亚洲精品日韩综合观看成人91| 97国产精品videossex| 亚洲另类中文字| 欧美日韩国产综合久久| 亚洲aaa精品| 日韩手机在线导航| 国产一区二区三区视频在线播放| 久久久国产精华| av中文一区二区三区| 中文字幕一区二区不卡| 色综合咪咪久久| 亚洲成av人片观看| 欧美videos大乳护士334| 狠狠色丁香久久婷婷综合_中 | 欧美高清视频一二三区| 黄一区二区三区| 蜜臀av一级做a爰片久久| 亚洲精品中文在线| 欧美韩国日本不卡| 久久久www成人免费无遮挡大片| 欧美电影在哪看比较好| 欧美视频中文一区二区三区在线观看| 成人永久免费视频| 从欧美一区二区三区| 久久疯狂做爰流白浆xx| 视频一区中文字幕国产| 午夜精品久久久久久久| 亚洲欧美日韩系列| 亚洲欧美一区二区三区久本道91| 国产亚洲欧美日韩日本| ww亚洲ww在线观看国产| 精品三级av在线| 日韩欧美中文字幕制服| 欧美一区二区三区四区在线观看| 中文文精品字幕一区二区| 日韩欧美卡一卡二| 欧美大片日本大片免费观看| 日韩午夜在线播放| 欧美大片一区二区三区| 26uuu国产一区二区三区| ww亚洲ww在线观看国产| 久久久久久久久99精品| 国产精品污网站| 亚洲视频一区在线| 亚洲精品视频一区| 日精品一区二区三区| 全国精品久久少妇| 国产一区二区在线看| 国产成人av电影在线| 99久久国产免费看| 欧美在线999| 正在播放亚洲一区| 久久久久久久免费视频了| 国产精品欧美久久久久无广告| 中文字幕亚洲在| 亚洲成人先锋电影| 精品一区二区在线看| 成人黄色电影在线 | 天堂蜜桃一区二区三区| **欧美大码日韩| 国产精品久久毛片av大全日韩| 欧美放荡的少妇| 欧美性一二三区| 色婷婷av一区二区三区软件 | 欧美一区国产二区| 91福利精品视频| 一本色道久久综合亚洲91| 成人app网站| 99久久夜色精品国产网站| 成人性生交大合| 北岛玲一区二区三区四区| 国产精品18久久久| 国产成人在线影院| 高清久久久久久| 99久久婷婷国产精品综合| 粉嫩绯色av一区二区在线观看| 国产精品一区免费视频| 国产一区二区女| 国产精品一区二区在线看| 风间由美一区二区av101| 丁香婷婷综合激情五月色| 丁香婷婷深情五月亚洲| 色综合 综合色| 欧美日本一区二区| 日韩美女一区二区三区| 久久亚洲综合色一区二区三区 | 懂色av一区二区夜夜嗨| 不卡视频在线观看| 91片黄在线观看| 欧美猛男gaygay网站| 欧美一区二区精美| 久久久久久99精品| 中文字幕中文乱码欧美一区二区| 亚洲欧美一区二区不卡| 亚洲一区在线观看免费观看电影高清| 亚洲成人免费视频| 国内外精品视频| 成人av在线播放网站| 在线观看免费视频综合| 欧美一区二区三区白人| 国产欧美一区二区精品久导航| 国产精品久久久久影院| 视频一区国产视频| 国产成a人无v码亚洲福利| 一本久久综合亚洲鲁鲁五月天 | 国产精品久久久久久久久快鸭| 亚洲三级在线免费| 免费高清在线视频一区·| 国产大片一区二区| 欧美日韩一区二区三区在线看| 日韩欧美不卡一区| 亚洲男人天堂av| 精品影视av免费| 在线观看亚洲一区| 国产人成亚洲第一网站在线播放 | 日韩一区和二区| 国产精品理伦片| 日本亚洲欧美天堂免费| 91色综合久久久久婷婷| 精品国产91洋老外米糕| 午夜精品久久久久影视|