-3

A(x1,y1,z1)、B(x2,y2,z2)、C(x3,y3,z3)という3つの3Dポイントがあります。点 A と B を通る平面の方程式を取得する方法と、点 C からこの平面までの垂直距離を取得する方法。垂直距離は、点 C を通過する平面と、平面 b/w A および B に平行な平面との間の距離になります。これらの計算を C 言語のコードで実装し、実行時間を主要なものにしたいので、これらの計算を実装する簡単な方法はありますか?懸念。主な目的は、垂直距離 b/w C と A と B を含む平面を見つけることです。

4

2 に答える 2

1

2 点が直線を定義します。その線と点の両方を含む平面をいつでも選択できるCため、距離は常にゼロです。

あなたが探しているCは次のようなものです:

struct Point {
    double x;
    double y;
    double z;
};

double perpendicular_distance(struct Point *a, struct Point *b, struct Point *c)
{
    return 0.0;
}

真剣に、最初に数学を理解してください。

于 2012-06-20T11:37:43.157 に答える
1

あなたの問題は書かれているように制約されていません。2 つの点 A と B を含む無数の平面があります。任意の 3 番目のポイント P までの距離は [0, X] の範囲になります。ここで、X は P とポイント A と B を結ぶ線との間の距離です。したがって、ポイント間の距離を見つけることだけに関心がある場合は、 P と A と B を結ぶ線、そのためのアルゴリズムがあります。これにより、P から最も離れた A と B を含む平面も一意に定義されます。

于 2012-06-20T21:37:59.127 に答える