求空間點到一條直線距離最近的點的座標C 程式設計

時間 2021-08-11 17:04:19

1樓:匿名使用者

我是用c弄的,不過儘量往類那邊靠(我用結構,c++還在看)。

你再改一些應當就可以了。

#include

#include

#include

typedef structpoint;

typedef structline;

main()

int initpoint(point *a,double x,double y,double z)

int printpoint(point a)int initline(line *l,point a,point b)

int point2line(line l,point p,point *q)

else

return 1;

}double p2p(point a,point b)

2樓:

這個 用向量 最簡單了(根本不需要考慮特殊情況,不需要 ,點面距離公式)

設 垂足 為(x,y,z)

向量a(x1-x2,y1-y2,z1-z2),b(x0-x,y0-y,z0-z);

垂直則滿足

a*b=0

(x1-x2)*(x0-x)+(y1-y2)*(y0-y)+(z1-z2)*(z0-z)=0;//1

(這個方法可以 推廣到 n維)

還有 這個 點在點c和點b上

bc的 一般方程是

(x-x0)/a=(y-y0)/b=(z-z0)/c, 這是一條過(x0,y0,z0),方向向量為的直線. 把 點 往裡面帶入

得到3個式子,消元

之後得到 x,y,z的 表示式

這種題目用程式設計做

實在是 猥瑣,

就是考數學的 化解能力

因為 電腦 不知道怎麼求解 方程組

只有把 最後的化簡的式子輸進去,叫他計算結果而已

一條直線過 1,2 且點 2,34,5 到該直線距離相等,求該直線的方程

一條直線過 1,2 設此直線為y k x 1 2,標準型為kx y 2 k 0點 2,3 4,5 到該直線距離相等 2k 3 2 k 4k 5 2 k 3k 1 3k 3 解得k 1 3 該直線的方程為y x 3 5 3 建議設此直線為y k x 1 2,未知數少,計算方便 有兩條其中一條 設y k...

已知一條直線方程與點,怎麼求平面方程

墨汁諾 任取直線上一點 記為m 與直線外已zhi知點 記為n點 構成向量mn,顯然mn位於平面內 根據直線方程得到直線方向向量l,同理l亦位於平面內。將兩向量叉積就能得到垂直於待求平面的法向量,最後根據法向量和任一點座標寫出平面的點法式方程。如果不能直接看出直線的方向向量,可以在直線上再選一點p,構...

經過點和一條直線怎麼求這個平面的方程

設平面方程為 ax by cz d 0 因為點m 1,0,0 以及點n 1,1,0 在直線上,而且向量 2,3,1 與平面法向量垂直 於是,a d 0 a b d 0 2a 3b c 0 解得,對任意k非零 a kb 0 c 2k d k 於是,平面為 x 2z 1 0 有不懂歡迎追問 西域牛仔王 ...