我给出了两个点(a [],b []),其长度为d(mod)。我想创建一个能够在n 距离处输出一个点的函数,其中n是浮点数(1.5d,0.5d,2d)。我已经能够计算出一条线之间的梯度和距离,但是我不知道如何从初始坐标沿着n 距离找到一条线。
> #include <stdio.h>
#include <math.h>
float modulus(float vec[])
{
float mod,int i,int n;
n = 2; mod = 0.0;
for (i = 0; i < n; i++)
{
mod = mod + (vec[i] * vec[i]);
}
mod = sqrt(mod);
return mod;
}
void diff(float a[],float b[],float c[])
{
int i;
for (i = 0; i < 2; i++)
c[i] = a[i] - b[i];
}
float gradient(float a[],float b[])
{
int i;
float dx = a[0]-b[0];
float dy = a[1]-b[1];
return (dy/dx);
}
int main()
{
float a[] = {1.,1.};
float b[] = {5.,3.};
float c[2];
float len;
diff(a,b,c);
len = modulus(c);
printf("length = %.2f\n",len);
printf("\n gradient of a line : %.2f\n",gradient(a,b));
return 0;
> `Blockquote`