• poj1410


    计算几何

    题意:问线段与矩形(边与坐标轴平行)是否相交

    分析:分别判断4条边与线段是否相交,在判断线段两端点是否在矩形内。

    View Code
    #include <iostream>
    #include
    <cstdio>
    #include
    <cstdlib>
    #include
    <cstring>
    using namespace std;

    #define eps 1E-10

    struct Point
    {
    int x, y;
    } point[
    5], s, e;

    bool in(Point &a)
    {
    if (a.x <= point[2].x && a.x >= point[0].x && a.y <= point[2].y && a.y
    >= point[0].y)
    return true;
    return false;
    }

    bool inter(Point &a, Point &b, Point &c, Point &d)
    {
    if (min(a.x, b.x) > max(c.x, d.x) || min(a.y, b.y) > max(c.y, d.y) || min(
    c.x, d.x)
    > max(a.x, b.x) || min(c.y, d.y) > max(a.y, b.y))
    return 0;
    double h, i, j, k;
    h
    = (b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x);
    i
    = (b.x - a.x) * (d.y - a.y) - (b.y - a.y) * (d.x - a.x);
    j
    = (d.x - c.x) * (a.y - c.y) - (d.y - c.y) * (a.x - c.x);
    k
    = (d.x - c.x) * (b.y - c.y) - (d.y - c.y) * (b.x - c.x);
    return h * i <= eps && j * k <= eps;
    }

    int main()
    {
    //freopen("t.txt", "r", stdin);
    int t;
    scanf(
    "%d", &t);
    while (t--)
    {
    scanf(
    "%d%d%d%d%d%d%d%d", &s.x, &s.y, &e.x, &e.y, &point[0].x,
    &point[0].y, &point[2].x, &point[2].y);
    if (point[0].x > point[2].x)
    swap(point[
    0].x, point[2].x);
    if (point[0].y > point[2].y)
    swap(point[
    0].y, point[2].y);
    point[
    1].x = point[0].x;
    point[
    1].y = point[2].y;
    point[
    3].x = point[2].x;
    point[
    3].y = point[0].y;
    point[
    4] = point[0];
    bool ok = false;
    for (int i = 0; i < 4; i++)
    if (inter(point[i], point[i + 1], s, e))
    {
    ok
    = true;
    break;
    }
    if (in(s) || in(e))
    ok
    = true;
    if (ok)
    printf(
    "T\n");
    else
    printf(
    "F\n");
    }
    return 0;
    }

  • 相关阅读:
    IceFig阅读笔记
    sift算法中翻译的第11页中比值问题
    Hessian矩阵
    python使用jieba实现中文文档分词和去停用词
    Hanlp配置自定义词典遇到的问题与解决方法
    HanLP-分类模块的分词器介绍
    elasticsearch教程--中文分词器作用和使用
    HanLP-最短路径分词
    史上最全中文分词工具整理
    NLP自然语言处理中英文分词工具集锦与基本使用介绍
  • 原文地址:https://www.cnblogs.com/rainydays/p/2136659.html
Copyright © 2020-2023  润新知