to proman:
其实你的问题应该属于OpenGL的领域,不知有没有玩过“帝国”或者类似的即时战略游戏,
里面的城墙用鼠标拉动,其实就是属于自定义线型、自建数据结构的范畴。
OpenGL是一个独立于窗口的图形库,图形最终是在窗口系统里绘制出来的,在Windows里
是通过wgl库完成的;wgl库负责将OpenGL的绘制设备RenderContext与GDI的DeviceContext联系起来,
使得发到OpenGL的RC里的命令生成的位图能够在GDI DC里绘制出来,你可以把它想象成OpenGL在RC里
有一个FrameBuffer,记录着生成的图案,而wgl则负责把FrameBuffer的内容BitBlt到DC上。
所以你的问题关键就是如何建立数据结构、定义一种铁路的线型;可是为什么不用OpenGL来实现呢?
当然你说的拐点处的圆滑,还是比较棘手的,可能需要用到图形学里的曲线拟和算法。
大家进一步探讨了,^_^