兩圓是否相交可以用兩圓滿坐標點的距離與兩圓直接之和做對比。
public enum State{ xianjiao,xianqie,buxianjiao,}
public State PositionRelative(YanLei yuan)
{
if((this.x-yuan.X)^2+(this.y-yuan.Y)^2==(this.r+yuan.R)^2) return State.xianqie;
if((this.x-yuan.X)^2+(this.y-yuan.Y)^2<(this.r+yuan.R)^2) return State.xianjia0;
return State.buxianjiao;
}
將這個方法寫入到抽象類中,同時在抽象類中要含有X,Y的圓坐標及R圓半徑的屬性。直接進行對比可以知道兩者是否相交。
在初始化函數中重載構函數,可由X,Y,R三個參數進行重載,在調用可以使用隨便函數產生隨機值,利用隨機值實現X,Y,R任何壹個或多值的隨機組合。同時可以將新生成的圓與已生成的圓進行位置比較,如果在不相交的情況下可以進行排列,否則不排列。