请问 如何在 DirectX 9 中设计一个矩阵
使得 X水平 Y垂直 Z 斜45度 就是用于显示采集数据用的 笛卡尔坐标系给个代码好吗?

解决方案 »

  1.   

    dx9和笛卡儿坐标系都是三个坐标轴相互垂直的你如果是要把数据按照三维的显示,然后固定一个斜45度角是可以的
    那只要控制camera/view矩阵就可以了,这在Direct Graphics或者D3D当中很容易实现如果是在二维平面上显示,根本不用directx也可以,有简单的数学公式
    x = x3 + z3* cos(45)
    y = y3 + z3* sin(45)
    其中x3,y3,z3是三维的坐标
    x和y是平面的坐标这个转换并不是直接对应到显示屏幕的——那需要结合你的窗口和显示模式再处理一下
    这个转换只是一个3维到2维的一个投影变换
      

  2.   

    Direct Graphics无法实现 因为这个变换矩阵是扭曲的
    要求:
    |  /
    | /
    |/
    ---------
    而我市先后是
    |  /
    | / 
    |/
    \
     \
      \
    不能贴图就是繁
      

  3.   

    在dx当中,物体坐标系的三个轴是互相垂直的
    但是通过控制相机的位置和角度,可以实现类似斜45度的方式视觉效果例如,你可以用lookat方法构造相机矩阵:
          1,1,-1点看向1,0,0点,up向量是0 1 0
    那么看到的结果就类似于你的第一个图示效果
      

  4.   

    呵呵现在给分 
     happy__888([顾问团]寻开心)  谢谢你 也谢谢大家应该是
       1,   0,   0,   0,
       0,   1,   0,   0,
     sin, cos,   1,   0,
       0,   0,   0,   1,