nyoj-1016-德莱联盟(向量叉乘判断线段相交)
叉乘的坐标表示:
A(X1,Y1), B(X2, Y2), C(XC,YC), D(XD, YD);
AB = (X2-X1, Y2-Y1);
CD = (XD-XC, YD-YC);
向量AB,CD的叉乘为:
AB*CD= (X2-X1)*(YD-YC)-(Y2-Y1)*(X2-X1);
例如两条直线,ab,cd来判断是否相交则根据
ans = (cd叉乘ca)*(cd叉乘bd)
如果ans大于等于0则相交,否则不相交。
下面是判断代码:
/*
Name:nyoj-1016-德莱联盟
Copyright:
Author:
Date: 2018/4/26 10:24:45
Description:
*/
#include <stdio.h>
#include <iostream>
using namespace std;
struct point{
double x,y;
};
int cross(point a,point b1,point b2){//求(b1-a) 和(b2-a) 的叉乘
double x1,y1,x2,y2;
x1=b1.x-a.x;
y1=b1.y-a.y;
x2=b2.x-a.x;
y2=b2.y-a.y;
return x1*y2-x2*y1;
}
int main()
{
int t;
cin>>t;
while(t--)
{
double ans1, ans2, ans3, ans4;
point A,B,C,D;
cin>>A.x>>A.y>>B.x>>B.y;//AB点的坐标
cin>>C.x>>C.y>>D.x>>D.y;//CD点的坐标
ans1=cross(A,C,D); //注意cross中向量的顺序,要相减的向量放在前面;向量CA和向量DA的叉乘
ans2=cross(B,C,D);
ans3=cross(C,A,B);
ans4=cross(D,A,B);
if(ans1*ans2< && ans3*ans4<){//判断点是否在同侧,如果AB在CD的同侧,不能相交
printf("Interseetion\n");
} else {
printf("Not Interseetion\n");
} }
}
nyoj-1016-德莱联盟(向量叉乘判断线段相交)的更多相关文章
- POJ 3304 Segments (叉乘判断线段相交)
<题目链接> 题目大意: 给出一些线段,判断是存在直线,使得该直线能够经过所有的线段.. 解题思路: 如果有存在这样的直线,过投影相交区域作直线的垂线,该垂线必定与每条线段相交,问题转化为 ...
- 还记得高中的向量吗?leetcode 335. Self Crossing(判断线段相交)
传统解法 题目来自 leetcode 335. Self Crossing. 题意非常简单,有一个点,一开始位于 (0, 0) 位置,然后有规律地往上,左,下,右方向移动一定的距离,判断是否会相交(s ...
- Any Way You Slice It (向量旋转 以及 判断线段是否相交)(模板)
http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11353 #include<iostream> # ...
- (线段判交的一些注意。。。)nyoj 1016-德莱联盟
1016-德莱联盟 内存限制:64MB 时间限制:1000ms 特判: No通过数:9 提交数:9 难度:1 题目描述: 欢迎来到德莱联盟.... 德莱文... 德莱文在逃跑,卡兹克在追.... 我们 ...
- js判断向量叉点 并求出交点坐标
代码如下可以直接运行,判断向量相交并求出交点坐标 <!DOCTYPE html> <html> <head> <meta http-equiv=" ...
- 【十天自制软渲染器】DAY 03:画一个三角形(向量叉乘算法 & 重心坐标算法)
如果你喜欢我写的文章,可以把我的公众号设为星标 ,这样每次有更新就可以及时推送给你啦. 前面两天画了点和线,今天我们来画一个最简单也是最强大的面--三角形. 本文主要讲解三角形绘制算法的推导和思路(只 ...
- POJ 2318 TOYS (叉乘判断)
<题目链接> 题目大意: 给出矩形4个点和n个挡板俩顶点的位置,这n个挡板将该矩形分成 n+1块区域,再给你m个点的坐标,然你输出每个区域内有几个点. 解题思路: 用叉乘即可简单判断点与直 ...
- matlab cross 3*1 向量叉乘
一定是1*3 或者3*1 的向量才可以叉乘 A=[1 2 3] B=[4 5 6] cross(A,B) ans=[-3 6 -3] 解决机器人微分运动量之间的等价关系
- nyoj-952-最大四边形 (向量叉乘)
题目链接 /* Name:nyoj-952-最大四边形 Copyright: Author: Date: 2018/4/27 10:46:24 Description: 枚举一条对角线,再选择一个 看 ...
随机推荐
- 4.2 使用STM32控制MC20发送短信
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- jquery 字符串转为json
使用ajax从服务器拿到的数据,jquery总是认为是字符串,无法直接使用,可以通过下面代码转换: $.get("服务器路径", function(data) { data = e ...
- Django:popup弹出框简单应用实例
效果:在p1.html页面点击,弹出p2的弹出框,填写数据,在 popup_response页面处理数据 1.url设置 urlpatterns = patterns( url(r'^p1.html' ...
- GIS学习和开发的在线资源
1.OpenGIS Consortium标准,http://www.opengeospatial.org.著名的OGC标准是每个GIS开发者最后都不得不学习的,或深或浅. 2.SharpMap,Pro ...
- SQL SREVER, ORACLE数据库连接字符串
采用windows身份验证模式 Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
- LDAP注入
理解LDAP与LDAP注入 0x01 LDAP简介 查阅了一些网上的资料,读了好久还是觉得理解起来很困难,感觉还是不够干,之后看到的一个博客http://www.chinaunix.net/old_j ...
- HASH、HASH函数、HASH算法的通俗理解
之前经常遇到hash函数或者经常用到hash函数,但是hash到底是什么?或者hash函数到底是什么?却很少去考虑.最近同学去面试被问到这个问题,自己看文章也看到hash的问题.遂较为细致的追究了一番 ...
- POJO、Bean和JavaBean
本文总结自: https://blog.csdn.net/chenchunlin526/article/details/69939337 POJO (plain pld java object) 一个 ...
- html5-entities.js消失问题
今天用nuxt做项目时,启动npm run dev,项目正常启动, 可过一会儿再试图启动时却报错: * ./libhtml5-entities.js in ./~/html-entities/inde ...
- 20145240 《Java程序设计》第一次实验报告
20145240 <Java程序设计>第一次实验报告 实验内容 一.命令行下java程序开发 1.建立Code目录,输入mkdir 20145240命令建立实验目录,并使用dir命令查看目 ...