怎么求平面两点之间其他点的坐标
如何求平面两点之间其他点的坐标
问题是这样的,已经坐标点A的位置是 (x1, y1),坐标点B的位置是 (x2, y2),假设点A到点B之间平均分布10个点,求这10个点的坐标。嗯,感觉这纯粹是个数学题,由于数学知识忘得差不多了,还请坛友指教!水平有限,但至少要把问题描述清楚,作图如下:

求上图点a到点b之间其他点的坐标公式(假设它们是平均分布的)。
------解决方案--------------------
x = (x2-x1)/10*i+x1;
y = (y2-y1)/10*i+y1;
------解决方案--------------------
i 第i个
第1个,第2个……
------解决方案--------------------
------解决方案--------------------
本人拙见,ab线的斜率k=(y2-y1)/(x2-x1) 将ab线段中均匀分10个点就是分成11段,就相当于在x轴上将x2-x1的长度平均分为11段,就每段的步长int len = (x2 - x1)/11;利用两点式方式可以得到函数的表达式:(y-y1)/(y2-y1) = (x-x1)/(x2-x1) 整理可得y=((y2-y2)/(x2-x1))(x-x1) + y1;这样得到了函数表达是,有知道x轴的步长就可以依次求出各个点的坐标了,第一个点:y(1) = ((y2-y2)/(x2-x1))(x+len-x1) + y1 第二个点: y(2) = ((y2-y2)/(x2-x1))(x+len*2-x1) + y1 依次类推就行了。不知楼主明白了没。
问题是这样的,已经坐标点A的位置是 (x1, y1),坐标点B的位置是 (x2, y2),假设点A到点B之间平均分布10个点,求这10个点的坐标。嗯,感觉这纯粹是个数学题,由于数学知识忘得差不多了,还请坛友指教!水平有限,但至少要把问题描述清楚,作图如下:
求上图点a到点b之间其他点的坐标公式(假设它们是平均分布的)。
------解决方案--------------------
x = (x2-x1)/10*i+x1;
y = (y2-y1)/10*i+y1;
------解决方案--------------------
i 第i个
第1个,第2个……
------解决方案--------------------
/*差不多就是这样子的*/
#include <stdio.h>
#define pointNum 10
typedef struct coord{
float x;
float y;
}Coord;
int main(){
printf("input two point coordinates:\n");
int len = 2, i;
Coord t[len];
while(len--){
scanf("%f %f", &(t[len].x), &(t[len].y));
}
float xSize = t[0].x - t[1].x;
float ySize = t[0].y - t[1].y;
printf("xSize=%f ySize=%f\n", xSize, ySize);
float xAverage = xSize / (pointNum + 1);
float yAverage = ySize / (pointNum + 1);
printf("xAverage=%f yAverage=%f\n", xAverage, yAverage);
printf("\nthe %d points are:\n", pointNum);
for(i = 1; i <= pointNum; i++){
printf("%f %f\n", t[1].x + xAverage * i, t[1].y + yAverage * i);
}
return 0;
}
------解决方案--------------------
本人拙见,ab线的斜率k=(y2-y1)/(x2-x1) 将ab线段中均匀分10个点就是分成11段,就相当于在x轴上将x2-x1的长度平均分为11段,就每段的步长int len = (x2 - x1)/11;利用两点式方式可以得到函数的表达式:(y-y1)/(y2-y1) = (x-x1)/(x2-x1) 整理可得y=((y2-y2)/(x2-x1))(x-x1) + y1;这样得到了函数表达是,有知道x轴的步长就可以依次求出各个点的坐标了,第一个点:y(1) = ((y2-y2)/(x2-x1))(x+len-x1) + y1 第二个点: y(2) = ((y2-y2)/(x2-x1))(x+len*2-x1) + y1 依次类推就行了。不知楼主明白了没。