题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1265

以其中某一点向其它三点连向量,若四点共面,这三个向量定义的平行六面体的体积为零。

而这个体积等于这三个向量的混合积,所以只要验证混合积是否为零。

            |ax ay az|

而混合积(a,b,c)=(a×b)·c=   |bx by bz|

            |cx cy cz|

证明也不难:https://baike.baidu.com/item/%E6%B7%B7%E5%90%88%E7%A7%AF/10564182?fr=kg_general

所以只需验证ax*by*cz+ay*bz*cx+bx*cy*az-az*by*cx-ay*bx*cz-ax*bz*cy的值即可。

再提一句:空间向量a、b的叉积:a×b=(ax,ay,az)×(bx,by,bz)=(ay*bz-az*by , az*bx-ax*bz , ax*by-ay*bx)

 #include<cstdio>
using namespace std;
struct Point{ int x,y,z; }p[];
int main(){
int t;
int x,y,z;
int ax,ay,az,bx,by,bz,cx,cy,cz;
scanf("%d", &t);
for(int k = ; k <= t; ++k){
scanf("%d%d%d",&x,&y,&z);//第一个点坐标
for(int i = ; i < ; ++i)//后三个点坐标
scanf("%d%d%d",&p[i].x,&p[i].y,&p[i].z);
///构建向量
ax=p[].x-x; ay=p[].y-y; az=p[].z-z;
bx=p[].x-x; by=p[].y-y; bz=p[].z-z;
cx=p[].x-x; cy=p[].y-y; cz=p[].z-z;
///混合积
if(ax*by*cz+ay*bz*cx+bx*cy*az-az*by*cx-ay*bx*cz-ax*bz*cy == )
puts("Yes");
else puts("No");
}
return ;
}

51nod 1265 四点共面——计算几何的更多相关文章

  1. 51Nod 1265 四点共面(计算几何)

    1265 四点共面  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共线也算共面). ...

  2. 51nod 1265 四点共面【计算几何+线性代数】

    1265 四点共面 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共 ...

  3. 51Nod:1265 四点共面

    计算几何 修改隐藏话题 1265 四点共面  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点 ...

  4. 51nod1265 四点共面

    题目链接:51nod 1265 四点共面 四个点构成的三个向量a,b,c共面的充要条件是存在不全为零的实数x,y,z满足x*a+y*b+z*c=0,然后想到线代了.. 其实就是三个向量的混合积为0:( ...

  5. 51Nod-1265 四点共面

    51Nod 1265 : http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1265 1265 四点共面 基准时间限制:1 秒 ...

  6. 51nod1265四点共面

    1265 四点共面 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共线也算共面).如 ...

  7. (四点共面) 51nod1265 四点共面

    1265 四点共面 1 秒 131,072 KB 0 分 基础题   给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共线也算共面).如果共面,输出"Ye ...

  8. 51nod--1265 四点共面 (计算几何基础, 点积, 叉积)

    题目: 1265 四点共面 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4 ...

  9. 51nod1265判断四点共面

    1265 四点共面 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共 ...

随机推荐

  1. [HNOI2010] 弹飞绵羊 bounce

    标签:分块.题解: 200000,而且标号从0开始,很符合分块的条件啊.看看怎么实现. 首先分成√n个区间,然后如果我们对于每一个位置i,求出一个Next[i]和step[i],分别表示跳到的后一个位 ...

  2. Aufree/trip-to-iOS

    https://github.com/Aufree/trip-to-iOS?utm_source=next.36kr.com  

  3. 笔记-JavaWeb学习之旅7

    JavaScript基础 概念:一门客户端脚本语言,运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎,是一个脚本语言,不需要编译,直接就可以被浏览器解析执行. JavaScript ...

  4. react native 安卓打包--mac环境,如果打包不成功可注意下my-release-key.keystore的位置关系(绝对路径)

    // my-release-key.keystore和my-key-alias都是可修改的名称 1.生成签名密钥(keytool -genkey -v -keystore my-release-key ...

  5. w3c网址和标准化过程

  6. flask_之URL

    URL篇 在分析路由匹配过程之前,我们先来看看 flask 中,构建这个路由规则的两种方法: 通过 @app.route() decorator 通过 app.add_url_rule,这个方法的签名 ...

  7. 防止a标签跳转的几种方法

    第一种方法 在a标签的href中添加属性值 <a href="javascript:void(0)"></a> 第二种方法 给a标签添加点击事件,函数的返回 ...

  8. oracle tps

    http://blog.csdn.net/nilxin/article/details/5812480 sample 1: 定义 TPS:Transactions Per Second(每秒传输的事物 ...

  9. corn表达式 经典

    https://www.cnblogs.com/GarfieldTom/p/3746290.html

  10. Tame Your Software Dependencies for More Flexible Apps

    http://msdn.microsoft.com/en-us/magazine/cc337885.aspx