日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU 4741 Save Labman No.004 计算几何 数学

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU 4741 Save Labman No.004 计算几何 数学 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接

這道題會暴露很多孩紙的高數學的好不好。如何計算三維直線的最短距離和垂足的坐標,學習鏈接

之后的就是代入公式計算了。

1 #include <stdio.h> 2 #include <math.h> 3 struct Point { 4 double x, y, z; 5 Point(double x = 0, double y = 0, double z = 0):x(x), y(y), z(z) {} 6 void read() { 7 scanf("%lf%lf%lf", &x, &y, &z); 8 } 9 void write() { 10 printf("%.6lf%.6lf%.6lf", x, y, z); 11 } 12 Point operator + (const Point &b) { 13 return Point(x + b.x, y + b.y, z + b.z); 14 } 15 Point operator - (const Point &b) { 16 return Point(x - b.x, y - b.y, z - b.z); 17 } 18 Point operator * (double k) { 19 return Point(x * k, y * k, z * k); 20 } 21 Point operator / (double k) { 22 return Point(x / k, y / k, z / k); 23 } 24 Point cross(const Point &b) { 25 return Point(y * b.z - z * b.y, z * b.x - x * b.z, x * b.y - y * b.x); 26 } 27 double len() { 28 return sqrt(x * x + y * y + z * z); 29 } 30 double operator * (const Point &b) { 31 return x * b.x + y * b.y + z * b.z; 32 } 33 }; 34 typedef Point Vector; 35 int main() { 36 int T; 37 scanf("%d", &T); 38 while (T--) { 39 Point A, B, C, D; 40 A.read(); 41 B.read(); 42 C.read(); 43 D.read(); 44 Vector AB= B - A, CD = D - C; 45 Vector n = AB.cross(CD), AC = C - A, CA = A - C; 46 double nlen = n.len(), dis = n * AC / nlen; 47 double t1 = AC.cross(CD) * AB.cross(CD) / nlen / nlen; 48 double t2 = CA.cross(AB) * CD.cross(AB) / nlen / nlen; 49 Point E = A + (AB * t1); 50 Point F = C + (CD * t2); 51 if (dis < 0) 52 dis = -dis; 53 printf("%.6lf\n", dis); 54 E.write(); 55 putchar(' '); 56 F.write(); 57 putchar('\n'); 58 } 59 return 0; 60 } View Code

?

轉載于:https://www.cnblogs.com/Apiec/p/6063177.html

總結

以上是生活随笔為你收集整理的HDU 4741 Save Labman No.004 计算几何 数学的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。