若是咱們想遍歷一個三角形內部的全部點,在知道三個頂點的座標的時候,應該怎麼作? spa
質心座標系
x爲頂點,p爲座標系中的某一點。code
,咱們說是p的質心座標。 ip
對於頂點而言,它的質心座標是rem
質心座標不是惟一的也是p的質心座標。 get
當座標非負時,p位於頂點所構成的凸包中。 it
對於要求的座標,它們是仿射座標,被稱爲絕對重心座標。class
任何點的笛卡爾座標都是三角形頂點笛卡爾座標的加權平均值。遍歷
頂點座標爲A,B,C。則在三角形內某一點P = a*A+b*B+c*C
,其中a+b+c=1
,im
double a = 1.0 / max_edge_length; //最長邊的長度 for (double p = 0; p < 1; p += a) { for (double q = 0; q < 1 - p; q += a) { int p_x = p*A.x() + q*B.x() + (1 - p - q)*C.x(); int p_y = p*A.y() + q*B.y() + (1 - p - q)*C.y(); } }