日期:2014-05-19  浏览次数:20754 次

问个关于计算机图形学方面的简单的问题
将屏幕或是某个区域分成几等列并划线,请问如何计算每一条线的x值?

我现在的方法很简单,x=区域宽度/几等分,取整后乘第n条线。如将屏幕(800*600)四等分,则第一条线的x=取整(800/4)*1=200,第二条线的x=取整(800/4)*2=400


虽简单但不精确。如果区域宽度不能整除几等分(如上面的例子五等分时),算出来的值就不准确了,而且等分的越多越不准确。由于   x   值必须是整数,所以以现在的算法不能解决这个问题。

我对计算机图形学方面一窍不通,所以希望此项高手给预帮助,只需给出实现理论即可,多谢!!!

------解决方案--------------------
如果楼主想绝对准确,好像是没有什么办法。
------解决方案--------------------
如果区域宽度不能整除几等分(如上面的例子五等分时),算出来的值就不准确了
======
呵呵,五等分怎么不准确??

四舍五入下,各个区域相差不了多少。
------解决方案--------------------
Graphics.DrawLine (Pen, PointF, PointF)是支持浮点数据的