下面是一个GDI+ 面图例子:
//自动 加载OnPaint(PaintEventArgs e)事件
protected override void OnPaint(PaintEventArgs e)//override重写
{
Rectangle rectangleBounds = new Rectangle(new Point(0, 0),
new Size(200, 200));
Rectangle ellipseBounds = new Rectangle(new Point(50, 200),
new Size(200, 150));
Pen bluePen = new Pen(Color.Blue, 3);
Pen redPen = new Pen(Color.Red, 2);
Brush solidAzureBrush = Brushes.Azure;
Brush solidYellowBrush = new SolidBrush(Color.Yellow);
Brush brickBrush = new HatchBrush(HatchStyle.DiagonalBrick,
Color.DarkGoldenrod, Color.Cyan);
Pen brickWidePen = new Pen(brickBrush, 10);
base.OnPaint(e);
Graphics dc = e.Graphics;
Point scrollOffset = this.AutoScrollPosition;
dc.TranslateTransform(scrollOffset.X, scrollOffset.Y);
if (e.ClipRectangle.Top + scrollOffset.X < 350 ||
e.ClipRectangle.Left + scrollOffset.Y < 250)
{
dc.DrawRectangle(bluePen, rectangleBounds);
dc.FillRectangle(solidYellowBrush, rectangleBounds);
dc.DrawEllipse(redPen, ellipseBounds);
dc.FillEllipse(solidAzureBrush, ellipseBounds);
dc.DrawLine(brickWidePen, rectangleBounds.Location,
ellipseBounds.Location + ellipseBounds.Size);
}
}
我之前做过二维的,简单的画图板.
我想三维的效果应该要和数学上挂钩的吧。
立体的也只是人视觉上的效果而已。
画三维立体的图像,乃至做游戏模型之类的有专门的工具的吧.
毕竟专属的领域不一样
没做过,但是看我一个朋友把C#和3DMAX或者是AUTOCAD连起来可以达到图形渲染的目的,你自己去看一下关于这些程序之间的接口的资料吧!
你可以去com组件里找找,不过一般做3D的都是用maya或者3dmax做好了,在程序里控制显示的。