51NOD-1265四点共面
2016-09-22 18:58
232 查看
思路:
对于a,b,c三个点构成的两条向量求出叉乘积,再求第四个点与之前公共点向量的点乘积,如果等于0就共面
对于a,b,c三个点构成的两条向量求出叉乘积,再求第四个点与之前公共点向量的点乘积,如果等于0就共面
#include <iostream> #include <stdio.h> using namespace std; struct node { double x,y,z; }a[5]; double xp,yp,zp; void solve(node t1,node t2,node t3) { double x1=t2.x-t1.x; double x2=t3.x-t1.x; double y1=t2.y-t1.y; double y2=t3.y-t1.y; double z1=t2.z-t1.z; double z2=t3.z-t1.z; xp=(y1*z2-y2*z1); yp=-(x1*z2-x2*z1); zp=(x1*y2-x2*y1); } void ans(node t1,node t2) { double x1=t2.x-t1.x; double y1=t2.y-t1.y; double z1=t2.z-t1.z; if((x1*xp+y1*yp+z1*zp)==0) cout<<"Yes"<<endl; else cout<<"No"<<endl; } int main() { int t; cin>>t; while(t--) { for(int i=1;i<=4;i++) { cin>>a[i].x>>a[i].y>>a[i].z; } solve(a[1],a[2],a[3]); ans(a[1],a[4]); } return 0; }
相关文章推荐
- 51nod_1265 四点共面
- 51nod--1265 四点共面 (计算几何基础, 点积, 叉积)
- 51NOD 1265 四点共面 【简单几何分析】
- (几何)51Nod - 1265 四点共面
- 51nod 1265 四点共面 (水题)
- 51nod_1265_四点共面
- 51Nod 1265 四点共面
- [51nod]1265 四点共面
- 51Nod-1265-四点共面
- 51nod 1265 四点共面(计算几何)
- 51NOD 1265 四点共面
- 51nod 1265 四点共面
- 51Nod-1265 四点共面
- 51nod 1265 四点共面
- [51NOD] 1265 四点共面 [数学&向量叉积]
- 51Nod 1265:四点共面(计算几何)
- 51nod 1265 四点共面(3个向量共面的充要条件)
- 51nod 1265 四点共面(计算几何)
- 51nod:1265 四点共面(数学)
- 【51Nod】1265 - 四点共面(行列式 & 数论)