zoukankan      html  css  js  c++  java
  • 计算几何——认识基本object:点、线、面 。

    认识基本object:点、线、面 

    一、点

    点用P(x, y)来表示;如:

    1 typedef pair<double, double> _pair;
    2 _pair point[MAXN];

    二、线

      ①两点式

        L:  (y- y1)/ (y2- y1)= (x- x1)/ (x2- x1).

        需要条件:用于已知两点坐标的情况。P1(x1, y1); P2(x2, y2);

        在使用上几乎没有什么缺点。

    1 typedef pair<double, double> _pair;
    2 _pair point[MAXN];
    3 typedef pair<_pair, _pair> _line;
    4 /*两点确定一条直线; _pair P1; _pair P2;*/
    5 _line Line[MAXN];

      ②斜截式

        L:  y= kx+ b;

        需要条件:用于已知斜率和y轴截距。k; b;

        优点:能够简单 快速&直观 的推出关系式,如计算两条直线交点。

        缺点:一些特殊情况不适用,如当k 不存在时。

      ③点斜式

        L:  y- y1= k(x- x1);

        需要条件:用于已知斜率和一点坐标的情况。k; P1(x1, y1); 

        缺点:同样依赖于斜率,当斜率不存在时不适用。

      ④截距式

        L: (x/ a)+ (y/ b)= 1;

        需要条件:用于已知所有截距的情况。x轴截距a; y轴截距b;

      ⑤一般式

        L: ax+ by+ c= 0;

        缺点:除了求交点或点到直线距离,其他方面都是缺点。不推荐使用。

    三、面

      1、圆

        用圆心O(x, y)和半径R 来表示  

    1 typedef pair<double, double> _pair;
    2 _pair point[MAXN];
    3 typedef pair<_pair, double> _round;
    4 /*圆心_pair O; 半径double R*/
    5 _round Round[MAXN];

      2、半平面 (待填)

        用一个向量来表示 半平面,向量逆时针的方向为半平面的内部。 

    1 typedef pair<double, double> _pair;
    2 typedef pair<_pair, _pair> _line;
    3 /*确定一条向量;  向量OP:_pair O; _pair P;*/

    Ps:平面内的一条直线把这个平面分成两部分,每一部分对这个平面来说,都叫做半平面。包括这条直线的半平面叫做闭半平面,否则叫做开半平面。

    Ps: 一般的,我们默认向量的逆时针方向为半平面的内部。上图中即为向量的左半平面。

    end;

  • 相关阅读:
    牛客网-练习题
    牛客网-趋势科技-2020届校园招聘上机考试-1
    976. Largest Perimeter Triangle--Easy
    812. Largest Triangle Area--Easy
    123. Best Time to Buy and Sell Stock III--Hard
    1131. Maximum of Absolute Value Expression--Medium
    1103. Distribute Candies to People--Easy
    满足高并发的I/O Reactor线程模型 (附图,附代码)
    最简洁易懂的方式介绍I/O模型
    从鸿蒙OS的特性看华为应对封锁的策略
  • 原文地址:https://www.cnblogs.com/Amaris-diana/p/10742998.html
Copyright © 2011-2022 走看看