求圓與直線的交點的方法是:
求圓心c在直線l上的投影點pr
求出直線l上的單位向量e
根據r和pr的長度來計算出圓內線段部分的一半base
用pr±base*e即得到答案
題目:cgl_7_d
ac**:
#include #include #include using namespace std;
#define counter_clockwise -1 //逆時針
#define clockwise 1 //順時針
#define online_back -2 //p2 p0 p1依次排列在一條直線上
#define online_front 2 //p0 p1 p2依次排列在一條直線上
#define eps 1e-8
class point
point(double x, double y)
double operator^(const point &p) const //叉乘
double operator*(const point &p) const //點乘
point operator*(const double &d) const
point operator/(const double &d) const
point operator-(const point &p) const
point operator+(const point &p) const
double sqr()
double abs()
double distance(const point &p)
void print()
};class line
line(point p1, point p2)
};class circle
circle(point o, double r)
circle(double cx, double cy, double r)
};double get_distance_lp(const line &line, const point &p) //點到直線的距離
pairget_cross_points(circle c, line l)
//有兩個交點
計算幾何之圓與圓的交點
計算圓與圓的交點,需要用到餘弦定理 步驟如下 求出兩個圓的圓心距d 求出向量c2.c c1.c與c1.c到某交點的向量夾角a 求出向量c2.c c1.c與x軸的夾角t 那麼,兩個交點就分別是以c1.c為起點,大小為c1.r,角度為t a t a的兩個向量 題目 cgl 7 e ac include ...
計算幾何 圓與圓的交點座標
給出兩圓的圓心座標和半徑,求出兩圓交點的座標 如下圖 可根據餘弦定理求出角a的大小,再根據函式atan2 可求出向量c1c2的方位角t 這樣一來,我們所求的交點就是以圓心c1.c為起點,大小為c1.r 角度為 t a 和 t a 的兩個向量 include include includeusing ...
圓與直線交點
圓與直線交點題目鏈結 include 使用scanf和printf的標頭檔案 include 使用c風格字串函式的標頭檔案 include 使用演算法庫的標頭檔案,max,min,swap,sort等 include 使用cin,cout的標頭檔案 include 數學標頭檔案 include 使用...