在c 中怎么做中点画线

 时间:2024-10-14 09:10:14

1、直线的方程式是F(x,y)=ax+by+c=0.假设直线的起点和终点分别为(x1,y1)和(x2,y2),那么a=y1-y2,b=x2-x1,c=x1y2-x2y1

在c 中怎么做中点画线

2、直线上的点F(x,y)=0,直线上方的点F猾诮沓靥(x,y)>0.直线下方的点F(x,y)<0。要判断Q在M的上方还是下方,把M代入F(x,y)并判断它的符号即可。判别式为:d=F烫喇霰嘴(M)=F(xp+1,yp+0.5)=a(xp+1)+b(yp+0.5)+c.当>0时,M在直线(Q)上方,应取P1作为下一个点。当d<0,应取P2.当d=0时,取P1

在c 中怎么做中点画线

3、因为d是xp和yp的线性函数,使用垢卜埂呦增量计算可提高运算效率。在d≥0时,取P1,d1=F(xp+2,yp+0.5)=a(xp+2)+b(yp+0.5)+c=(a烫喇霰嘴(xp+1)+b(yp+0.5)+c)+a=d+a.所以d的增量为a

在c 中怎么做中点画线

4、当d<0时,取P2, d2=F(xp+2,yp+1.5)=a(xp+2)+b(yp+1.5)+c=(a(xp+1)+b(yp+0.5)+c)+a+b=d+a+b,所以d的增量为a+b

在c 中怎么做中点画线

5、d的初始值: d0=F(x1+1,y1+0.5)=a(x1+1)+b(y1+0.5)+c=(ax1+by1+c)+a+0.5b=F(x1,y1)+a+0.5b,因为(x1,y1)在直线上,所以(x1,y1)=0,所以d的初始值为d0=a+0.5b

在c 中怎么做中点画线

6、因d只是一个符号,d的增量都是整数,但初始值有小数,因此,可用2d代替d,这样可写出中点画线算法,下图程序为具体实现代码

在c 中怎么做中点画线
  • 网络管理员必备:[3]路由器的基本设置
  • 如何设置百度的作业模式?
  • C++中如何定义和使用无类型指针
  • 台达DVPDNET-SL DeviceNet扫描模组操作说明书:[2]
  • 养殖青蛙怎么样
  • 热门搜索
    辉县旅游 海南岛旅游图片 黄花城水长城旅游区 辽源旅游景点大全 大青沟旅游 云南河口旅游攻略 国庆旅游团购 最好的旅游胜地 旅游鞋发黄 浙江省中青国际旅游有限公司