使用C#制作3D图表控件

介绍
最初的想法是建立一个可用于绘图的3 D饼图表的实用工具类/类库。首先,这似乎很简单,因为在Graphics类里已经有一个drawpie方法。这个办法是把起始角和sweep角作为论 据,因此使用它应该没什么问题;只要对所有值求和,再分别计算各部分,把sweep角转换成饼形图。而这将形成一个圆表。然而,如果你加入3d的角度(例 如,如果一个图标画成椭圆形状的)这个做法将导致一个不同值得感觉,用数字表示如下:饼变得左右比上下更大,尽管他们的sweep值都一样
不要直接带入sweep值,而是要用椭圆参数方程

就此解决了上述问题,向图表里添加一个3d的视图只需要一步:画一个圆柱形边缘。不过,如果你想从同心圆中抽离出饼边,只要消掉2边让它看起来比较明显,因为这些边可能会部分重叠,所以要保留正确的3d外观,最重要的是绘画顺序。

csharper -
共有0个回答