VB编程在PictureBox中画圆弧,自定义坐标系,三点,Circle函数是不是有什么缺陷啊? 5

VB编程在PictureBox中画圆弧,自定义坐标系,且坐标系宽高比与PictureBoxScale宽高比一致,毫米单位,三点圆弧,当三个点的位置接近在一条直线上时,Ci... VB编程在PictureBox中画圆弧,自定义坐标系,且坐标系宽高比与PictureBoxScale宽高比一致,毫米单位,三点圆弧,当三个点的位置接近在一条直线上时,Circle画圆弧就会出现加大偏差。如图,两条圆弧皆为选中状态,左边圆弧较为正常,但右边的圆弧则有偏差,右线下方两端有蓝色和绿色点,为终点和起点,箭头指示圆弧方向。
!!!每当三点近乎在一条直线上画线时,总会出现较大偏差。而且当精确读取线条位置坐标时,有的也会有10个丝左右的偏差。

求VB界大神帮忙!
展开
 我来答
pardream941026
2013-01-17 · TA获得超过8216个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1280万
展开全部
这不是缺陷,是因为计算机的显示系统,点与点之间有距离造成的。
. . . . .
. . . . .

. . . . .
. . . . .
. . . . .
如图,如果画线时候,线在一条直线上,当然无问题。
如果不在一条直线上,假设第一点在(1,1)位置,第二点在(1.4,1,4)位置上,由于显示器不能显示
(1.4,1,4)位置,所以会用近似值代替,使用(1,1)或者(2,2)来代替。这样当类似这样的点多的时候,就会产生这种扭曲现象。

你可以使用gdi+编程,它使用了优化算法,使图像更近似直线。效果要好得多。
追问

不好意思   用三点画圆弧时,当三个点的位置趋近于一条直线时,如起点A、中点B、终点C三点,AB和BC斜率接近时所画出的弧线,与实际位置有较明显偏差。三条标示线,红线分别是起点圆心、起点中点,蓝线是中点圆心、中点终点,绿线是终点圆心、终点起点。左图三点间斜率差异明显画图正常,但右图中 起点中点斜率和中点终点斜率相近时,圆弧就变形了,但是标示线的坐标位置确实正确的。

所以,右边怎么会这样呢?

来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
S123456789B
2013-01-18 · TA获得超过209个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:188万
展开全部
很专业的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式