如何在Delphi中绘制空间长方体网格的三维图形
已知空间中长方体网格的三维坐标(x,y,z)及其对应的值Value,绘制出长方体的各个面,各个面的颜色根据对应坐标的值设定。
图形的效果及matlab源码见
http://blog.csdn.net/fantasiafly/archive/2006/12/01/1424918.aspx本来想用TeeChart来实现,但是利用TColorGridSeries只能画出XY平面,
而用TSurfaceSeries无法画出垂直与XZ的平面,用TDraw3D可以画出长方体,但是如何根据空间坐标对应当值着色并画出网格呢?请教各位大侠?用OpenGL应该可以实现这样的图形,可以绘制长方体但是如何划分的网格块着色并画出网格呢?

解决方案 »

  1.   

    这个有挑战,改天我写个3d引擎 ,我在做Flash的时候写过,理论明白,就是不知道能不能写出来,等下个月项目结束了,写个试一下
      

  2.   

    如果只是长方体网格的三维图形,就不用OpenGL这么麻烦,直接画不就好了.如题,不明
      

  3.   

    直接调用 matlab不好么...
      

  4.   

    如果只是长方体网格的三维图形,就不用OpenGL这么麻烦,直接画不就好了.是用什么方法画呢?
      关键是网格的颜色要根据空间坐标(x,y,z)上的值f(x,y,z)来确定,在我的blog里有给出的图形例子。
      最好能有渐变色的效果,就像TeeColorGrid的效果一样,不过TeeColorGrid只是画一个面,这里要画六个面,
      调用matlab没试过,在没有装matlab机子上能运行吗?
      

  5.   

    TeeChart,TColorGridSeries,TSurfaceSeries,TDraw3D你说的这些俺都没用过不过要用OPENGL来实现这个东西的话小菜一碟只要有了坐标,要画啥就画啥
      

  6.   

    能给出OPENGL的实现方法吗,我没用过opengl。
    在空间中构造一立体网格,x,y,z方向上的网格数为nx,ny,nz,每个网格块赋一个值,显示立体网格的六个面,要求画出网格线,颜色按照网格块的值来取。我的blog里有matlab下的图。