题目链接:https://vjudge.net/problem/Aizu-CGL_1_C

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{double x0,y0,x1,y1;scanf("%lf%lf%lf%lf",&x0,&y0,&x1,&y1);int q;scanf("%d",&q);double x2,y2;while(q--){scanf("%lf%lf",&x2,&y2);double  ans=(x1-x0)*(y2-y0)-(x2-x0)*(y1-y0);if(ans>0){printf("COUNTER_CLOCKWISE\n");  ///1}else if(ans<0){printf("CLOCKWISE\n");///2}else{double ans1=(x1-x0)*(x2-x0)+(y1-y0)*(y2-y0);if(ans1<0){printf("ONLINE_BACK\n");///3}else{double l1=sqrt((x1-x0)*(x1-x0)+(y1-y0)*(y1-y0));double l2=sqrt((x2-x0)*(x2-x0)+(y2-y0)*(y2-y0));if(l1<l2){printf("ONLINE_FRONT\n");///4}else printf("ON_SEGMENT\n");///5}}}
}

向量积可以被定义为:
模长:(在这里θ表示两向量之间的夹角(共起点的前提下)(0°≤θ≤180°),它位于这两个矢量所定义的平面上。)

方向:a向量与b向量的向量积的方向与这两个向量所在平面垂直,且遵守右手定则。(一个简单的确定满足“右手定则”的结果向量的方向的方法是这样的:若坐标系是满足右手定则的,当右手的四指从a以不超过180度的转角转向b时,竖起的大拇指指向是c的方向。)
也可以这样定义(等效):
向量积|c|=|a×b|=|a||b|sin<a,b>
即c的长度在数值上等于以a,b,夹角为θ组成的平行四边形的面积。
而c的方向垂直于a与b所决定的平面,c的指向按右手定则从a转向b来确定。
*运算结果c是一个伪向量。这是因为在不同的坐标系中c可能不同。 [1]

设 p1=(x1,y1),p2=(x2,y2),p3=(x3,y3)
p12=(x2-x1, y2-y1) p23=(x3-x2, y3-y2)
则当 p12 与 p23 的叉乘(向量积)p12 x p23 = (x2-x1)(y3-y2)-(y2-y1)(x3-x2)
为正时,p1-p2-p3路径的走向为逆时针,
为负时,p1-p2-p3 走向为顺时针,
为零时,p1-p2-p3 所走的方向不变,亦即三点在一直线上。

Counter-Clockwise 三点位置关系 计算几何学相关推荐

  1. 圆与圆的位置关系题目含答案_中考数学直线与圆的位置关系知识点对应中考真题汇编(含答案)...

    中考数学直线与圆的位置关系 [学习目标] 了解直线与圆的三种位置关系:了解切线的概念 ,掌握切线的判断方法和性质:了解三角形的内切圆.三角形的内心.圆的外切三角形的概念,会作已知三角形的内切圆:了解切 ...

  2. 双曲线和直线联立公式_谈直线和双曲线的位置关系之(1)联立方程法

    [专题九]登峰造极,唯我独尊 --谈直线和双曲线的位置关系之(1)联立 方程法 直线与双曲线的位置关系题型包括①判断交点个数②判断相切.相交.相离三种位置关系③求弦长及三角形面积等问题:用到的思想是数 ...

  3. 直线与圆位置关系的c语言,直线与圆的位置关系教学设计范文

    直线与圆的位置关系教学设计范文 教学目标: (一) 教学知识点: 1. 了解直线与圆的三种位置关系. 2. 了解圆的切线的概念. 3. 掌握直线与圆位置关系的性质. (二) 过程目标: 1. 通过多媒 ...

  4. 直线与圆位置关系的c语言,直线和圆的位置关系说课稿

    直线和圆的位置关系说课稿 作为一名老师,通常需要用到说课稿来辅助教学,说课稿是进行说课准备的文稿,有着至关重要的作用.写说课稿需要注意哪些格式呢?以下是小编收集整理的直线和圆的位置关系说课稿,仅供参考 ...

  5. C++类实例:判断点和圆的位置关系

    C++学习记录 给定一个点和一个圆,总体有三个位置关系:1.点在圆内:2.点在圆外:3.点在圆上 设计一个C++程序,输入一个圆的坐标和半径,以及一个点的位置坐标,实现相对位置的判断.如下图所示: u ...

  6. 24.2.2直线和圆的位置关系(1)教学设计

    本课通过学生动手画图并实践操作,直观感受直线和圆的三种位置关系.设圆心到直线的距离为d,半径为r,然后归纳d与r的数量关系对应直线和圆的位置关系,利用数形结合让学生理解相关知识. 课堂检测部分设计A组 ...

  7. 两圆圆心距离计算及位置关系判断(C++实现)

    实验目的 学习友元函数的定义与调用,理解友元函数的意义. 实验原理 友元函数时在类中用关键字 friend修饰的函数,是类的非成员函数,但是它可以通过对象名访问类的私有和保护成员 利用圆心距与两圆半径 ...

  8. 用秩讨论线性方程组的解/三个平面的位置关系

    用秩讨论三个平面的位置关系/线性方程组的解 推荐视频:完整梳理空间平面位置关系与线性方程组解的判定 线性方程组 下图中三个方程对应三个平面 线性方程组的增广矩阵形式 系数矩阵的一个行向量为其对应平面的 ...

  9. C++实现设计一个圆形类(Circle),和一个点类(Point), 计算并判断点和圆的位置关系

    题目要求 设计一个圆形类(Circle),和一个点类(Point), 计算并判断点和圆的位置关系. 无分区版 : #include <iostream> using namespace s ...

最新文章

  1. 用递归来判断输入的字符串是否是回文
  2. Oracle定时执行存储过程
  3. GPT2文本生成有问题?这里有些潜在解决思路
  4. 刘锋:互联网左右大脑结构与钱学森开放复杂巨系统
  5. 实现物体绕不同轴旋转,并可以外部调用的函数
  6. Vue项目使用百度地图——经纬度地图组件的封装及使用
  7. python 属性描述符_Python属性描述符(二)
  8. Java 蓝桥杯 分解质因数
  9. JavaScript隐式类型转换
  10. 记element + xlsx 导出表格数据重复的坑
  11. JQueryDOM之插入节点
  12. 最新手机号码、电话号码正则表达式
  13. mac废纸篓的如何还原?
  14. postman测试上传文件(上传图片)
  15. python基础知识相关习题
  16. OSINT + Python #x3D; 自定义黑客
  17. cf12月9日服务器维护时间,cf12月9、10日全区全服维护更新公告_穿越火线更新公告_7k7k穿越火线...
  18. matlab数据导出excel,matlab数据点导出excel表格-怎样将matlab中数据导出到excel中?...
  19. 创业故事:牛粪里竟然淘出1000万?
  20. 哈密顿回路图解的方法

热门文章

  1. 【python】datetime类型转换
  2. MYSQL系列1_MySQL的安装,可视化工具的使用,以及建库建表等
  3. 重新安装mysql数据库
  4. 多元宇宙算法MVO及其改进复现
  5. isomap算法 python实现
  6. activemq原理_ActiveMQ(二)
  7. Spring Data Jpa多表联合分页查询
  8. 『JavaSE』泛型和包装类
  9. 怎么换外网IP地址 如何设置代理服务器上网
  10. Java版 凯撒密码 加密、解密、暴力破解