pi=3.
#include <>
#include
using namespace std;
/* 常用的常量定義 */
#define inf 1e200
#define ep 1e-10
#define maxv 300
#define pi 3.14159265
/* 基本幾何結構 */
struct point //constructor
}; struct lineseg
lineseg()
}; struct line
}; double max(double a,double b)
double min(double a,double b)
* ** 點的基本運算 *
* *double dist(point p1,point p2)
bool equal_point(point p1,point p2)
r=multiply(sp,ep,op),得到(sp-op)*(ep-op)的叉積
r>0:ep在向量opsp的逆時針方向;
r=0:opspep三點共線;
r<0:ep在向量opsp的順時針方向
double multiply(point sp,point ep,point op)
r=dotmultiply(p1,p2,op),得到向量(p1-op)和(p2-op)的點積,如果兩個向量都非零向量
r<0:兩向量夾角為銳角;r=0:兩向量夾角為直角;r>0:兩向量夾角為鈍角
double dotmultiply(point p1,point p2,point p0)
/* 判斷點p是否**段l上,條件:(p**段l所在的直線上)&& (點p在以線段l為對角線的矩形內) */
bool online(lineseg l,point p)
// 返回點p以點o為圓心逆時針旋轉alpha(單位:弧度)後所在的位置
point rotate(point o,double alpha,point p)
/* 返回頂角在o點,起始邊為os,終止邊為oe的夾角(單位:弧度)
角度小於pi,返回正值
角度大於pi,返回負值
可以用於求線段之間的夾角
*/ double angle(point o,point s,point e)
* ** 線段及直線的基本運算 *
* */* 判斷點與線段的關係,用途很廣泛
本函式是根據下面的公式寫的,p是點c到線段ab所在直線的垂足
ac dot ab
r ||ab||^2
(cx-ax)(bx-ax) + (cy-ay)(by-ay)
l^2r has the following meaning:
r=0 p = a
r=1 p = b
r<0 p is on the backward extension of ab
r>1 p is on the forward extension of ab
0*/double relation(point p,lineseg l)
// 求點c到線段ab所在直線的垂足 p
point perpendicular(point p,lineseg l)
/* 求點p到線段l的最短距離,並返回線段上距該點最近的點np
注意:np是線段l上到點p最近的點,不一定是垂足 */
double ptolinesegdist(point p,lineseg l,point &np)
if(r>1)
np=perpendicular(p,l);
return dist(p,np);
} // 求點p到線段l所在直線的距離,請注意本函式與上個函式的區別
double ptoldist(point p,lineseg l)
/* 計算點到折線集的最近距離,並返回最近點.
注意:呼叫的是ptolineseg()函式 */
double ptopointset(int vcount,point pointset,point p,point &q) {
int i;
double cd,td; cd=inf;
lineseg l;
point tq,cq;
幾何證明與計算
2012年寒假九年級數學學案二 幾何證明與計算 一 基礎回顧 1.如圖,菱形abcd的周長為20cm,de ab,垂足為e,則下列結論中正確的個數為 de 3cm eb 1cm a 3個 b 2個c 1個 d 0個 2.2011山東菏澤 一次數學活動課上,小聰將一副三角板按圖中方式疊放,則 等於 a...
幾何證明和計算
一 合理構建直角三角形,運用勾股定理求線段的長度。常用方法 1 作垂直線段直接構建直角三角形 2 連線某兩點,證所得的新三角形是直角三角形,再運用勾股定理求線段的長度。例題 如圖,梯形中,點是梯形外的兩點,且.1 求證 2 若求線段的長 1 證明 梯形中,且為等邊三角形.1分 又2分 在和中3分 4...
幾何計算與證明
1 如圖,已知ab是 o的直徑,過 o上的點c的切線交ab的延長線於e,ad ec於d且交 o於f。求證 ad df ab 若ce eb 求 ade的面積。2 已知p是 xay的平分線上的一點,過a p兩點任作一圓,若此圓交 xay的兩邊於b c。求證 ab ac為一定值。3 如圖,已知 o1和 o...