青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 85  文章 - 47  trackbacks - 0

常用鏈接

隨筆分類

隨筆檔案

搜索

  •  

最新評論

First, think what you want these matrices do.
Let we have transformation matrices A and B . We want to transform vector V by both and get vector V'.
But above is not enough to specify what we want to do, as
first transform by A then transform by B
and
first transform by B then transform by A
are different. You can just try to play with rotations in real world.(get a cube, paint x,y,z on sides, etc.)

Now, more on how it's done:

first transform by A then transform by B
It is easy to see that this is accomplished by:
In openGL's convention:
V'=B*(A*V)
Note that it is same as
V'=(B*A)*V
so you can do it as
C=B*A;
V'=C*V;
In DX's convention:
V'=(V*A)*B
C=A*B;
V'=V*C;
(note: real operations done on memory is the same. It's just matter how we map matrix indices to memory)
As you see, V*A*B and B*A*V is kind of symmetrical. Same for consequently applied transforms like V*A*B*C*D*E*F or F*E*D*C*B*A*V

Now, write it down for "transform by B then transform by A" yourself to remember it better.

When you render something , you want points to be transformed by
matrix of object
matrix of parent object
matrix of grandparent object ...
matrix of camera
(and done by API, projection matrix)
From there you can find what order of multiplications you want. In OGL, you need to
m=matrix_of_camera*matrix_of_grandparent_objectmatrix_of_parent object*matrix_of_object;
...
then if you'll glLoadMatrix, OpenGL will do
vertice=m*vertice;

Some more notes: Let you have spacecraft with spacecraft-to-world matrix M
And you use OpenGL convention.
For example, to turn spacecraft around spacecraft's local X direction, you need to
M=M*axis_angle_to_matrix(Vector(1,0,0),angle);
(note: you need to reorthonormalize matrix if you do that incrementally)
To turn spacecraft around global X direction, you need to
M=axis_angle_to_matrix(Vector(1,0,0),angle)*M;


On openGL:

This sequence

glMatrixMode(GL_MODELVIEW);
glMultMatrix(A);
glMultMatrix(B);
glMultMatrix(C);
... render your mesh ...
works as if your mesh would be transformed by C,then B, then A
It makes lot of sense, if you for example want to render a robot with matrices giving positions of child nodes (fingers) relativelty to parent (arm), and arm are responsible for positioning fingers, you can do
RenderArm(){
glPushMatrix();
glMultMatrix(matrix_of_first_finger);
RenderFinger();
glPopMatrix();
glPushMatrix();
glMultMatrix(matrix_of_second_finger);
RenderFinger();
glPopMatrix();
}
and so-on(simplified example)
Then, you can have
glPushMatrix();
glMultMatrix(matrix_of_arm);
RenderArm();
glPopMatrix();

and it will work properly.

If you have more questions, ask.
posted on 2008-04-30 22:05 w2001 閱讀(1415) 評論(2)  編輯 收藏 引用

FeedBack:
# re: OpenGL中的矩陣計(jì)算[未登錄] 2009-09-04 19:22 joe
you english is really...bad...

please write in chinese, that will be more helpful~  回復(fù)  更多評論
  
# re: OpenGL中的矩陣計(jì)算 2009-09-09 19:31 w2001
轉(zhuǎn)載,與本人水平無關(guān)。english止一工具耳,看得懂就達(dá)到目的了,至于badgood,說明不了任何問題。  回復(fù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              尤物yw午夜国产精品视频| 亚洲欧美日韩久久精品| 亚洲一区二区动漫| 日韩网站在线看片你懂的| 亚洲片在线观看| 99亚洲伊人久久精品影院红桃| 亚洲精品久久视频| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 99在线精品观看| 亚洲在线观看| 久久女同互慰一区二区三区| 欧美劲爆第一页| 国产精品素人视频| 在线观看欧美一区| 在线亚洲国产精品网站| 久久国产精品久久久久久电车| 久久综合久久综合这里只有精品| 欧美成人激情在线| 夜夜夜久久久| 美女久久一区| 国产日韩欧美精品| 亚洲精品系列| 久久精品亚洲| 99国产一区| 久久综合色影院| 国产伦精品一区二区三区免费迷| 亚洲人成网站在线播| 久久久久久久欧美精品| 99视频在线精品国自产拍免费观看| 欧美一区二区三区免费观看视频 | 国产精品欧美日韩久久| 在线观看国产欧美| 国产目拍亚洲精品99久久精品| 日韩视频免费看| 久久精品中文字幕一区二区三区| 欧美黑人国产人伦爽爽爽| 国产精品高潮在线| 91久久精品一区二区别| 久久精品人人做人人综合| 99视频精品在线| 欧美高清在线视频| 影音先锋久久| 久久久美女艺术照精彩视频福利播放| 一本色道久久加勒比88综合| 欧美成人免费网站| 亚洲国产精品第一区二区三区| 久久狠狠亚洲综合| 亚洲欧美日韩一区二区三区在线观看 | 亚洲国产精品传媒在线观看 | 久久精品亚洲一区| 一区二区三区鲁丝不卡| 欧美成人资源| 亚洲三级电影在线观看| 欧美成年人视频| 久久久人成影片一区二区三区 | 欧美国产视频日韩| 久久女同精品一区二区| 伊人婷婷久久| 欧美肥婆bbw| 麻豆成人在线观看| 亚洲日本欧美日韩高观看| 欧美激情久久久久| 欧美黄在线观看| 中文国产成人精品| 一区二区日韩| 国产女同一区二区| 久久精品一区二区国产| 欧美在线亚洲| 亚洲成色999久久网站| 欧美a级一区二区| 欧美大片免费| 亚洲一区在线视频| 国产综合自拍| 久久精品国产99国产精品澳门| 亚洲午夜精品网| 国产日韩在线一区| 老司机一区二区三区| 久久综合久久久久88| 老司机亚洲精品| 中文亚洲免费| 国产一区导航| 免费成人小视频| 欧美激情精品久久久久久久变态| 亚洲美女在线视频| 在线亚洲一区观看| 激情欧美一区二区| 亚洲国产精品电影在线观看| 欧美3dxxxxhd| 亚洲欧美欧美一区二区三区| 香蕉久久夜色精品| 亚洲激情国产| 亚洲在线第一页| 最新中文字幕亚洲| 亚洲欧美日韩一区在线观看| 亚洲国产日本| 亚洲午夜精品在线| 亚洲福利久久| 亚洲欧美日韩国产另类专区| 亚洲国产欧美在线人成| 亚洲一区bb| 亚洲精品看片| 久久av一区二区三区亚洲| 亚洲免费成人| 久久国产精品久久w女人spa| 亚洲精品一区二区三区蜜桃久 | 亚洲毛片在线观看.| 国产欧美日韩免费| 日韩系列欧美系列| 亚洲国产天堂久久综合| 亚洲一区二区三区在线看| 亚洲高清在线视频| 欧美亚洲日本网站| 亚洲免费一区二区| 欧美精品激情在线观看| 久久一二三国产| 国产精自产拍久久久久久| 亚洲人体大胆视频| 1024国产精品| 久久国产欧美| 欧美一区二区在线播放| 欧美日韩dvd在线观看| 免费看精品久久片| 国内揄拍国内精品少妇国语| 亚洲午夜羞羞片| 一区二区三区久久网| 欧美a级一区二区| 免费在线国产精品| 国产亚洲欧洲| 欧美一区三区三区高中清蜜桃| 亚洲一二三区视频在线观看| 欧美激情2020午夜免费观看| 美女尤物久久精品| 依依成人综合视频| 久久精品一区二区三区四区 | 亚洲人成网站777色婷婷| 亚洲国产成人久久| 老司机精品福利视频| 麻豆精品网站| 欧美日韩精品欧美日韩精品 | 日韩亚洲欧美精品| 欧美黄色一级视频| 亚洲精品一区二区三区福利| 亚洲精品在线免费观看视频| 久久夜色精品国产欧美乱极品| 久久久精品动漫| 玉米视频成人免费看| 免费看的黄色欧美网站| 亚洲激情电影在线| 欧美性猛交xxxx乱大交蜜桃| 亚洲国产一区视频| av成人毛片| 国产精品日韩一区二区| 欧美一区二区三区久久精品| 开心色5月久久精品| 亚洲国产精品综合| 欧美日韩综合另类| 欧美与欧洲交xxxx免费观看| 欧美高清视频一区二区| 一本久道久久综合中文字幕| 国产精品一卡二卡| 巨乳诱惑日韩免费av| 亚洲另类春色国产| 久久激情综合| 亚洲日本欧美天堂| 国产精品嫩草影院av蜜臀| 欧美中文在线免费| 亚洲福利一区| 欧美专区福利在线| 亚洲久色影视| 国内精品久久久久久影视8| 欧美—级a级欧美特级ar全黄| 亚洲淫性视频| 亚洲青涩在线| 久久九九国产| 亚洲一级片在线看| 影音先锋日韩有码| 国产精品女主播| 欧美二区乱c少妇| 亚洲欧美怡红院| 亚洲日本激情| 猫咪成人在线观看| 欧美一级视频精品观看| 亚洲精品乱码久久久久久按摩观 | 99精品欧美一区二区三区综合在线 | 中文精品在线| 欧美丰满少妇xxxbbb| 午夜视频久久久久久| 亚洲精品女人| 尹人成人综合网| 国产私拍一区| 国产精品高精视频免费| 欧美激情久久久久| 久久免费国产精品1| 亚洲午夜av电影| 亚洲三级电影在线观看 | 亚洲网友自拍| 亚洲精选在线观看| 亚洲电影免费在线观看| 国产情侣久久| 久久久久久久综合日本|