公式
2点 P(x1, y1),Q(x2, y2)について、線分PQをm:nに外分する点Rは
C言語での実装
#include <stdio.h>
#include <math.h>
/* ---------------------------------------------
2点p1,p2からなる線分をm:nに外分する点を求める (2次元)
引数1: P 点の座標1
引数2: Q 点の座標2
引数3: m m:nのm
引数4: n m:nのn
引数5: result 外分点
戻り値: 1 正常終了,0 異常終了
---------------------------------------------*/
int divide_externally_2D(double P[2],
double Q[2], int m, int n, double R[2])
{
if (m - n == 0) return 0;
R[0] = (-n * P[0] + m * Q[0]) / (m - n);
R[1] = (-n * P[1] + m * Q[1]) / (m - n);
return 1;
}
/* main */
int main(void)
{
double P[] = {1.0, 3.0};
double Q[] = {2.0, 4.0};
double R[2];
int m = 2;
int n = 3;
divide_externally_2D(P, Q, m, n, R);
printf("線分PQを%d:%dに外分する点R(%.2f, %.2f)\n",
m, n, R[0], R[1]);
return 0;
}
実行例
2点P,Qからなる線分を2:3に外分する点R(-1.00, 1.00)
0 件のコメント:
コメントを投稿