向量叉乘意义amp;amp;NYOJ68三点顺序
三点顺序
- 描述
-
现在给你不共线的三个点A,B,C的坐标,它们一定能组成一个三角形,现在让你判断A,B,C是顺时针给出的还是逆时针给出的?
如:
图1:顺时针给出
图2:逆时针给出
<图1> <图2>
- 输入
-
每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示A,B,C三个点的横纵坐标。(坐标值都在0到10000之间)
输入0 0 0 0 0 0表示输入结束
测试数据不超过10000组 - 输出
- 如果这三个点是顺时针给出的,请输出1,逆时针给出则输出0
- 样例输入
-
0 0 1 1 1 3 0 1 1 0 0 0 0 0 0 0 0 0
- 样例输出
-
0
1
-
就是用向量叉乘,向量叉乘本来呢就是算同时垂直两个向量的向量,计算公式是
c = a×b = (a.y*b.z-b.y*a.z , b.x*a.z-a.x*b.z , a.x*b.y-b.x*a.y)
几何意义呢就是计算面积,由这两个向量构成的平行四边形的面积。目前做了俩题用这个二维形式的叉乘,一个是关于三个点共线,另一个就是旋转角度的问题,第一个共线在我计算几何栏目第一篇里用了,然后,这个题,就是三角形旋转方向的。就利用了向量叉乘的第二点,二维向量叉乘结果大于0,就是由一个向量a正旋转到另一个向量b的角度小于180,小于零就是大于180.等于零就是共线嘛,就这样。发现正旋转忘解释了,正旋转不是说顺时针,或者是逆时针,正旋转是X轴旋转90度到Y轴的方向。
-
附代码:
-
#include <bits/stdc++.h> using namespace std; struct point {double x;double y; }; int main() { #ifdef LOCALfreopen("D:/input.txt" , "r", stdin); #endifint t;point a[4];while(1){for(int i=0;i<3;i++) cin>>a[i].x>>a[i].y;int flag=0;for(int i=0;i<3;i++)if(a[i].x!=0||a[i].y!=0)flag=1;if(flag==0)return 0;point ab, ac;ab.x=a[1].x-a[0].x;ab.y=a[1].y-a[0].y;ac.x=a[2].x-a[0].x;ac.y=a[2].y-a[0].y;if(ab.x*ac.y-ac.x*ab.y>0)cout<<'0'<<endl;else cout<<'1'<<endl;}return 0; }
向量叉乘意义amp;amp;NYOJ68三点顺序相关推荐
- nyoj68三点顺序
三点顺序 时间限制:1000 ms 给你不共线的三个点A,B,C的坐标,,现在让你判断A,B,C是顺时针给出的还是逆时针给出的? 图1:顺时针给出 图2:逆时针给出 <图1& ...
- 《Unity 向量叉乘》x,y,z三个方向指导其中任意两个向量如何求另一个向量
左手坐标系 叉乘 xyz 1.知道x,y => 左手定则,x到y 大拇指 就是z 2.x,z => y 从z左手绕向x 3.y,z=>x 从y绕向z 求出x
- codeforces 961 D. Pair Of Lines (几何,向量叉乘,三点共线)
题目连接 codeforces 961.D 题意: 给出若干个点,问是否能画出两条线,保证这些点都在这两条线上 题解: 两点确定一条直线,找出一点不在这条直线上,然后枚举这三个点两两在一条直线上, ...
- 三个向量叉乘的公式的证明推导
三个向量叉乘的公式 二重积应该都看得懂有手就行 那么三重积应该怎么推导呢? 首先看标量三重积 标量三重积是三个向量中的一个和另两个向量的叉积相乘得到点积,其结果是个标量. 设a,b,c为三个向量,则标 ...
- Pipe HDU - 2150(判断线段相交+向量叉乘线代详解)
题目: 经过激烈的争夺,Lele终于把那块地从Yueyue的手里抢了回来.接下来,Lele要开始建造他的灌溉系统. 通过咨询Lele的好友--化学系的TT,Lele决定在田里挖出N条沟渠,每条沟渠输送 ...
- python如何叉乘_向量点乘与向量叉乘
向量的点积与向量的叉乘应该是高中时解析几何的知识,很久没有用,已经回忆不起来了,最近接触到了,一脸茫然,在此复习下: 1. 向量的点乘 1.1 释义 向量的点乘,也叫向量的内积.数量积,对两个向量执行 ...
- 判断多边形的凹凸性和计算多边形面积:利用向量叉乘
根据百度百科的讲解: 凸多边形 现在重点讲解顶点凹凸性法(最常用也是较为简单的方法):计算总结在最后. 利用向量叉乘的相关知识进行计算:假设当前连续的三个顶点分别是P1,P2,P3.计算向量P1P3, ...
- 3D向量叉乘的理解和记忆
1.2D向量的叉乘 2.3D向量的叉乘 1.2D向量的叉乘 U × V = Ux * Vy - Uy * Vx 2.3D向量的叉乘 3D笛卡尔坐标系的三个坐标轴两两垂直,并且有着如下的关系: x轴向量 ...
- 两个向量叉乘(定义是类似多项式相乘再求和)和点乘(定义是对应位置的坐标相乘再求和)的定义和证明,以及和四元数乘法的联系和区别
向量叉乘: 两个向量的坐标量积又叫做向量积,用于计算法向量. 游戏内应用: 用于判断物体在自身的左右方位. 还有应用于图形学里,对环境光照于自身顶点或者片元的法向量的夹角来判断光漫反射的强弱. 用于相 ...
- 向量点乘与向量叉乘的几何意义
向量点乘(内积) 向量点乘公式为: a * b = |a| * |b| * cosθ 点乘的结果是是标量,点乘也被称为内积,是a向量在b向量上投影的长度与b向量的长度的乘积,反映了两个向量之间的相似度 ...
最新文章
- ZJU-java进阶笔记 第三周(对象容器)
- OSChina 周三乱弹 ——我求婚,你敢答应吗
- 生产者跟消费者问题(C++实现)
- 用Tableau画Voronoi Treemap
- ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
- python变量命名规则_Python教程第9篇:牢记Python变量命名5大规则
- 怎么导入sklearn包_4.5包
- swfobject.js 2.2简单使用方法
- 使用Python解压,对比文件
- Veritas Backup Exec 21.4 Multilingual (Windows) 下载
- U分布、T分布、z分位数
- WINHTTP的API接口说明
- 用CenterNet做3D检测,效果demo
- H5前端实现微信分享(处理二次分享问题)
- 微型计算机 2018 12月下,桌面CPU天梯图2018年12月最新版 十二月台式电脑处理器排名...
- 百度富文本编辑器使用方法 html,配置使用百度提供的富文本编辑器ueditor(以项目实例图文步骤演示具体配置步骤)...
- Python下opencv使用笔记(二)(简单几何图像绘制)
- ElementUI 整体页面布局
- Word如何交叉引用以及交叉引用参考文献后使用逗号分隔
- hdu-7113 Matrix 组合数学(计算贡献