游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1435|回复: 2

旋转观察者矩阵

[复制链接]

36

主题

135

帖子

135

积分

注册会员

Rank: 2

积分
135
发表于 2004-3-8 08:35:00 | 显示全部楼层 |阅读模式
    D3DXVECTOR3 from( 50*sinf(m_fTime/2), 5.0f, 60*cosf(m_fTime/2) );
    D3DXVECTOR3 at( 50*sinf(m_fTime/2+1.5f), 4.0f, 60*cosf(m_fTime/2+1.5f) );
    D3DXVECTOR3 up( 0.0f, 1.0f, 0.0f );

    D3DXMATRIX matView;
    D3DXMatrixLookAtLH( &matView, &from, &at, &up );
    m_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
    return S_OK;


在变更观察者视图的时候,如上述的代码(从sdk的例子mfcfog复制的)可以实现观察者绕一个椭圆形旋转,但是我将这段代码替换我的代码,再改动了一下参数,并没有发现观察绕椭圆形旋转。在我的程序中只有一个立方体,没有场景,是否这样是无法体现出观察者绕椭圆形观察的感觉来,还是我的代码有问题。?

我的代码是:(没有使用CD3DApplication,所以m_fTime只好自己赋值了。)

    float m_fTime = (float)timeGetTime();
    D3DXVECTOR3 from( -50*sinf(m_fTime/200), 100.0f, -100*cosf(m_fTime/200) );
    D3DXVECTOR3 at( 0.0f ,0.0f ,0.0f );
    D3DXVECTOR3 up( 0.0f, 1.0f, 0.0f );

    D3DXMATRIX matView;
    D3DXMatrixLookAtLH( &matView, &from, &at, &up );
    g_pD3DDevice->SetTransform( D3DTS_VIEW, &matView );

36

主题

135

帖子

135

积分

注册会员

Rank: 2

积分
135
 楼主| 发表于 2004-3-8 18:49:00 | 显示全部楼层

Re:旋转观察者矩阵

是不是一定要有场景才体现得出来啊?

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2004-3-8 23:06:00 | 显示全部楼层

Re:旋转观察者矩阵

应该是 at 参数设置的问题,你现在是设置在坐标原点上,这样是看不出来效果的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-25 19:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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