怎么用数组表示二维平面上的一条线段


如何用数组表示二维平面上的一条线段
Y * X的二维平面以数组bool arrP[Y * X]表示,Y为行数,X为列数

/*例:
如果y=5,x=7 则arrP[] = 
0, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10,11,12,13,
14,15,16,17,18,19,20,
21,22,23,24,25,26,27,
28,29,30,31,32,33,34.
*/

memset(arrP, 0, sizeof(arrP)); //初始化为false

已知该平面arrP上的两个点A(0,6),B(3, 2),将两点连接起来得到线段L,要求L上的所有点均为true

求解


C++/VC 程序开发 数组

wsawsjj 10 years, 11 months ago


线上的点并不在坐标上的话怎么表示?
你的坐标是 7*5 也就是说一共只有35个点
两个点A(0,6),B(3, 2), 首先看横轴坐标 是从0-3 其中横轴==0 和横轴==3的点都给出来了
只需要找出横轴==1 和横轴 == 2的点

根据方程y=ax+b
算出来你的线段是-4X/3 + 6 = Y
代入横轴为1 Y==14/3
代入横轴为2 Y==10/3
都不是整数 不在你的坐标阵里面啊

这种情况是找近似值吗 那就是(1, 5) (2,3)

另外一般坐标不都是 int position[X][Y]={{...},{...},....}
这样表示的吗 这样下标看的很清楚啊

野原·新之助 answered 10 years, 11 months ago


先根据2点求出 y=ax+b

根据x算出每一个y

自己找个坐标纸画画就明白了,


抽疯似的微笑 answered 10 years, 11 months ago

Your Answer