题目描述

用具有x,y两个整型变量成员的结构类型SPoint来表示坐标点。 用SLine结构类型来描述线段,其中包含p1和p2两个SPoint成员。
编写函数direction(const SLine &ab, const SPoint &c), 利用向量ab与ac叉乘的值判断点c与直线ab的位置关系。

输入

判断次数

线的两点坐标x1、y1、x2、y2

点坐标x、y

输出

位置关系

样例输入

3
1 5 2 9
1 3
5 6 7 8
6 7
2 3 1 0
3 3

样例输出

clockwise
intersect
anti clockwise

提示

向量a(x1,y1)与向量b(x2,y2)的叉乘定义为a.xb.y-a.yb.x, 若结果小于0,表示向量b在向量a的顺时针方向;
若结果大于0,表示向量b在向量a的逆时针方向; 若等于0,表示向量a与向量b平行。

#include<bits/stdc++.h>
using namespace std;struct SPoint
{int x,y;
};struct SLine
{SPoint p1;SPoint p2;
};void direction(const SLine &ab, const SPoint &c)
{SPoint vector1,vector2;vector1.x=ab.p2.x-ab.p1.x;vector1.y=ab.p2.y-ab.p1.y;vector2.x=c.x-ab.p1.x;vector2.y=c.y-ab.p1.y;if(vector1.x*vector2.y-vector1.y*vector2.x<0){cout<<"clockwise"<<endl;}else if(vector1.x*vector2.y-vector1.y*vector2.x==0){cout<<"intersect"<<endl;}else if(vector1.x*vector2.y-vector1.y*vector2.x>0){cout<<"anti clockwise"<<endl;}
}int main()
{int t;cin>>t;while(t--){SLine ab;SPoint c;cin>>ab.p1.x>>ab.p1.y>>ab.p2.x>>ab.p2.y>>c.x>>c.y;direction(ab,c);}return 0;
}

判断点线位置(结构)相关推荐

  1. mapgis编辑属性结构编辑不了_MapGIS67操作手册(3-17)MapGIS67编辑线属性结构的方法...

    下面我们给每条河流,添加对应的名称属性,如黄河.长江等. 1. 单击"线编辑"菜单下"参数编辑"下的"修改线属性"命令,如下图所示: 2. ...

  2. uniapp - APP判断是否开启位置信息服务判断是否授权位置信息权限

    当我们在使用uni.getLocation的API时,会发现用户并没有开启微信信息服务或者没有授权位置信息权限,而导致回调fail,那么就需要去判断并引导用户前往开启. 判断是否开启位置信息服务(安卓 ...

  3. 双路服务器主板跳线位置,主板上对应的跳线位置要认清

    03主板上对应的跳线位置要认清 主板上的接口没那么难认: 说完机箱,我们再来看看主板上的标准,和机箱的线材对应,主板上也有对应的插槽区,即PANEL或F_PANEL,很多主板还提供了更多的功能和插槽, ...

  4. python判断三条边是否构成三角形代码_Python判断三段线能否构成三角形的代码

    我就废话不多说了,还是直接看代码吧! #!/usr/bin/env python3 #coding = utf-8 def is_triangle(a=0, b=0, c=0): #abc 三条边长 ...

  5. C语言实验——判断素数(循环结构java)

    C语言实验--判断素数(循环结构) Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 从 ...

  6. 怎么判断前轮左右的位置_驾驶位怎么判断前轮的位置 怎样确定汽车前面左右轮的位置?...

    现在好多的司机停车前轮都是歪的,老司机们怎样在车上判断前轮是否归正? 停车之后前进一小步或后退一小步车身不偏离车位便可 开车的时候有什么最好的办法知道自己车左右前轮的位置? 我在新手时,在空旷道路上行 ...

  7. 如何判断车与路边线距离_一声惊雷!开车怎么判断轮胎的位置呢?驾校教练:简单一招就能看到位置!...

    走得也快.却并没有我们想象中那样的圆满.换句话说.射手的情商非常高.他们并不是没有这种能力.对皮肤非常好.猪皮冻做法简单.就会感到非常的快乐.对于自己的朋友永远无条件信任.只有遇到真正能够压得住他们的 ...

  8. 怎么判断前轮左右的位置_如何判断左右车轮位置?老司机教你一招,学会后再也不会压线!...

    "实线就是一堵墙,千万不能压!"当年在驾校的时候,你的教练有没有说过这句话?道理大家都懂,但还是偶尔有些粗心大意的司机因为"压线"行驶而被扣分罚款.下面小编就给 ...

  9. java 语言如何判断素数_C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

最新文章

  1. $.ajax上传文件或者上传图片
  2. socket心跳机制图片_socket心跳包机制
  3. linux shell 查看 cpu核数
  4. 如何在 Knative 中部署 WebSocket 和 gRPC 服务?
  5. java判断两个日期是否为同一天
  6. 深度学习之基于opencv和CNN实现人脸识别
  7. 前端学习(2095):数组里面得方法哪些
  8. UIImage(类别)缩放适合范围.
  9. Linux内存管理之页面回收
  10. 【深扒】深入理解 JavaScript 中的异步编程
  11. 超低延时超低卡顿率视频传输的秘密
  12. 【汽车冷却胶管】的试验研究检测及质量改进方法
  13. matlab 取数组第一行,matlab中如取数组的矩阵的一行出来成为一个向量?
  14. 404错误是什么意思?为什么是404?
  15. 我该如何拯救你,我的考研?
  16. 说话人性别识别——语音检测初探
  17. 1056: 兔子繁殖问题
  18. tokenizer()和tokenizer.encode_plus()的区别
  19. 【高等数学】常用的三角函数与反三角函数
  20. python中正则表达式 ?(问号)的详解及用法

热门文章

  1. Excel导出(浏览器下载器下载导出Excel)
  2. 元宇宙系列之AI虚拟人:“人”潮汹涌 探路未来
  3. 自动对焦模块理论基础及其硬件实现浅析(四)
  4. 05_JUC强大的辅助类
  5. 微信小程序 使用webview 缓存解决办法
  6. Android中WebView控件支持地理位置定位
  7. 简单易用的APP专项测试工具iTest4.7.0发布啦
  8. matlab一元二次回归,MATLAB一元线性回归方程的计算及检验.doc
  9. PYRIT 强大的密码分析工具(可使用GPU分析)-学习笔记
  10. Android警告信息:Insufficient image color contrast ratio