三维几何(three-dimensional geometry).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三维几何(three-dimensional geometry).doc

三维几何(three-dimensional geometry) # includes stdio.h # includes string.h # includes math.h # includes iostream # algorithm includes # vector includes using namespace std; # define mp make _ pair # define pb push _ back # define eps 1 - 8 # define pi acos (- 1.0) int sig (double) { return to - eps? - 1: - eps. } struct tpoint { double x, y, z; tpoint () {} tpoint (double x0, y0 is double, double 20): x (x0), y (y0), z (20) {} void in () { scanf (% lf% lf% lf, x y z); } tpoint operator * (double h) { return tpoint (x * h, y * h, z * h); } tpoint operators / (double h) { return tpoint (x / h, y / h, z / h); } double operator ^ (tpoint h) {/ / 点乘 return x + y * * h.x h.y + z * h.z; } tpoint operator + (tpoint h) { return tpoint (x + y + h.x, h.y, z + h.z); } tpoint operator - (tpoint h) { return tpoint (x - h.x, y - h.y, z - h.z); } tpoint operator * (tpoint b) {/ / 叉乘 return tpoint (y * b.z - b.y * z, z * b.x - b.z * x, x * b.y - b.x * y); } double len2 () const { return x * x + y * y + z * z; } double len () const { return sqrt (len2 ()); } tpoint turnlen (double l) const {/ / 改变长度 double r = l / len (); return tpoint (x r, y * r, z * r). } }; struct tline { tpoint, b; tline () {} tline (tpoint tpoint a0, b0), (a0), b (b0) {} }; struct tplane { tpoint a, b, c, or; tplane () {} tplane (tpoint tpoint a0, b0, c0 tpoint) { a = a0. b = b0. c = c0. or = (b - a) * (c - a); } tplane (double a0, b0 c0 double, double, double d0) / / ax + by + cz + d = 0, 构成点法式 { or = tpoint (a0, b0, c0). if (sig (a0). = 0) a = tpoint ((b0 - c0 - d0) / a0,1,1); else if (sig (b0). = 0) a = (1, tpoint (a0 - c0 - d0) / b0,1); else if (sig (c0). = 0) a = tpoint (1.1, (a0 - b0 - d0) / c0). } }; double area (tpoint, tpoint b) / / 两点之间距离 { return (a - b).len (); } double area (tpoint, tpoint b, tpoint c) / / 三角形面积 * 2 { return ((b - a) * (c -).len (); } double volume (tpoint, tpoint b, tpoint c, tpoint d) / / 四面体有向体积 * 6 { return (b - a) * (c - a) ^ (d -). } bool is _ conan (tpoint, tpoin

文档评论(0)

zhangningclb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档