CSDN专家博客精华版

为人民服务!
  首页  :: 新随笔  :: 管理

.net实现3D饼图

Posted on 2007-12-17 10:18  csdnexpert  阅读(124)  评论(0编辑  收藏  举报

1 实现原理:根据各个数据的比重画扇形组成一个椭圆(柱体的上表面),实现2D饼图(),设定一个厚度h(柱体的高度),在距离此柱体的上表面下方h处画一个同样的椭圆。

然后将侧面的可见区域[0,180]°的范围补齐成正常的结构。考虑到GDI+中没有画这种形状的方法,所以我们采取几个特殊的补偿填充方法。

并且调整上面的几个步骤。先画底面,再填充侧面。最后画顶面。盖住因为补偿添加的不规则部分。最后完成饼图。

由于补偿填充的方法不是特别合适,因此在h比较大的时候,还是会有bug,正在修改中。完善后发代码。

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1637039