游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2715|回复: 5

为什么openGL的矩阵变换和数学上的变换顺序是相反的?

[复制链接]

8

主题

65

帖子

71

积分

注册会员

Rank: 2

积分
71
发表于 2004-10-21 18:11:00 | 显示全部楼层 |阅读模式
如:
实现某个图形在x,y坐标自旋,数学上是
P'=MR*MT*P

但是openGL是
Translate(x,y)
Rotate()
Draw()

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2004-10-21 18:29:00 | 显示全部楼层

Re:为什么openGL的矩阵变换和数学上的变换顺序是相反的?

建议你手画一下就什么都明白了。OPENGL之所以这样做是因为OPENGL是一种即时的API……
那个名词好象是“即时的”,忘了……

3

主题

95

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2004-10-21 18:39:00 | 显示全部楼层

Re:为什么openGL的矩阵变换和数学上的变换顺序是相反的?

一个左手系一个右手系,不是反的,你将YZ交换一下之后,自己推导一下变换矩阵就知道要怎么变化了。

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2004-10-21 19:16:00 | 显示全部楼层

Re:为什么openGL的矩阵变换和数学上的变换顺序是相反的?

OpenGL红宝书上说所有的变换的顺序与你写在程序里的顺序是不一样的,是个倒叙的关系!

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2004-10-21 19:26:00 | 显示全部楼层

Re:为什么openGL的矩阵变换和数学上的变换顺序是相反的?

还是手画明白啊

8

主题

65

帖子

71

积分

注册会员

Rank: 2

积分
71
 楼主| 发表于 2004-10-21 20:21:00 | 显示全部楼层

Re:为什么openGL的矩阵变换和数学上的变换顺序是相反的?

了解一些了,
图形学里面使用的是左手坐标系,opengl用的是右手。
两种坐标系的矩阵互为转置矩阵
有这种数学关系:
M1*M2 = M2转置*M1转置
所以gl的矩阵是反过来乘,不过不知道为什么它要这样设计。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-22 22:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表