求乙個圓的面積及判斷乙個點是否在圓內

2021-07-14 08:43:41 字數 1401 閱讀 5225

class point

point(double _x,double _y)

void setx(double _x)

void sety(double _y)

double getx()

double gety()

}class circle

circle(point _p)

circle(double _radius)

circle(point _p,double _radius)

void setpoint(point _p)

void setpoint(double _x,double _y)

void setradius(double _radius)

point getpoint()

double getradius()

//計算圓的面積

double getarea()

//判斷乙個點是否在圓內

boolean incircle(point _p)//返回值為布林型別的函式,一般函式名為第三人稱單數,例如:contains

}public class testcircle}/*

小結:1.circle--圓

radius--半徑

2.private修飾的成員只可以在類體內部使用

可以通過類的成員方法訪問成員變數的值

3.該程式的改進

圓的圓心的設定

原來方法:

void setpoint(point _p)

改進後的方法:

void setpoint(double _x,double _y)

兩者可以共存,也就是函式的過載

4.分析記憶體的分配與釋放過程

在紙上畫出來

6.記憶體區域

1)data區--存放字串常量等

2)**區

3)棧區--存放區域性變數

4)堆區--存放物件(引用型別的變數,也就是new出來的東西)

7.判斷乙個點是否在圓內

設l = 點到圓心的距離

r = 圓的半徑

1)如果l < r,在圓內

2)如果l = r,在圓上

3)如果l > r,在圓外

在圓內與在圓上,統稱為在圓內

8.double i = (_p.getx()-p.getx())*(_p.getx()-p.getx())-(_p.gety()-p.gety())*(_p.gety()-p.gety());//不好,太長了

變數的值早好不要太長,不利於閱讀

碰見值比較長的情況,多定義幾個變數就行了

9.如何定義函式

1)分析需求

2)確定函式名

3)確定返回值

4)確定返回值型別

*/

判斷乙個點是否在乙個多邊形裡

判斷乙個點是否在乙個多邊形裡 一開始以為是個挺難的問題,但google了一下之後發現其實蠻簡單,所用到的演算法叫做 ray casting algorithm 中文應該叫 光線投射演算法 這是維基百科的描述 維基百科 簡單地說可以這麼判斷 從這個點引出一根 射線 與多邊形的任意若干條邊相交,累計相交...

判斷乙個點是否在RotatedRect中

opencv函式pointpolygontest c double pointpolygontest inputarray contour,point2f pt,bool measuredist 用於判斷乙個點是否在輪廓中 當measuredist設定為true時,若返回值為正,表示點在輪廓內部,返...

判斷乙個點是否在RotatedRect中

opencv函式pointpolygontest c double pointpolygontest inputarray contour,point2f pt,bool measuredist 用於判斷乙個點是否在輪廓中 當measuredist設定為true時,若返回值為正,表示點在輪廓內部,返...