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時,若返回值為正,表示點在輪廓內部,返...