游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2287|回复: 6

怎样在3d的画面上画一个矩形,圈住一个目标?

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2004-11-19 17:25:00 | 显示全部楼层 |阅读模式
非常感谢,下面是我的问题:
      我在编一个游戏,其中有飞机在空间飞行,随时间位置在变化,位置矩阵有保存。现在在某个view的矩阵,和perspective projection matrix 下,如何得到飞机在二维投影下的二维位置呢?

13

主题

45

帖子

47

积分

注册会员

Rank: 2

积分
47
发表于 2004-11-19 18:16:00 | 显示全部楼层

Re:怎样在3d的画面上画一个矩形,圈住一个目标?

把顶点投影下来,求多边形半径

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
发表于 2004-11-20 09:00:00 | 显示全部楼层

Re:怎样在3d的画面上画一个矩形,圈住一个目标?

指的是平面投影的坐标还是屏幕投影的坐标?

如果是屏幕投影,dx里面有相关的计算的函数。
如果是某平面投影,那需要一个相应矩阵来乘。

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2004-11-20 09:35:00 | 显示全部楼层

Re:怎样在3d的画面上画一个矩形,圈住一个目标?

有一个专门计算 世界到屏幕函数,你自己查吧

69

主题

450

帖子

473

积分

中级会员

战魂缔造者

Rank: 3Rank: 3

积分
473
QQ
发表于 2004-11-20 11:26:00 | 显示全部楼层

Re:怎样在3d的画面上画一个矩形,圈住一个目标?


                //D3DXVECTOR3 vOut;
                //D3DXMATRIX world,view,proj;
                //D3DVIEWPORT9 viewport;
                //viewport.X=0;
                //viewport.Y=0;
                //viewport.Width=640;
                //viewport.Height=480;
                //viewport.MinZ=0;
                //viewport.MaxZ=100;

                //xscene.GetDevice()->GetTransform(D3DTS_WORLD,&world);
                //xscene.GetDevice()->GetTransform(D3DTS_VIEW,&view);
                //xscene.GetDevice()->GetTransform(D3DTS_PROJECTION,&proj);
                //D3DXVec3Project(&vOut,&D3DXVECTOR3(0,0,0),&viewport,&proj,&view,&world);
                //char temp[_MAX_PATH];
                //sprintf(temp,"%4.2f %4.2f %4.2f",vOut.x,vOut.y,vOut.z);

这是我做的工程里的一段代码,应该能看懂吧

35

主题

340

帖子

350

积分

中级会员

Rank: 3Rank: 3

积分
350
发表于 2004-11-21 01:23:00 | 显示全部楼层

Re:怎样在3d的画面上画一个矩形,圈住一个目标?

呵呵,马马乎乎

14

主题

283

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
QQ
发表于 2004-11-21 14:19:00 | 显示全部楼层

Re:怎样在3d的画面上画一个矩形,圈住一个目标?

倒,还有专门的函数啊,我还辛辛苦苦的自己算出来的...
下次可以省事不少了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-17 22:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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