2012-02-23 18 views

答えて

2

は、あなたが次に何をする必要がある唯一のことは、このような形状で、本体との固定具を作成することです

+(b2ChainShape)curveWithPoints:(CGPoint*)points Times:(int)times 
{ 
    //points.count must be 3 
    b2ChainShape shape; 
    float step = 1/(float)times; 
    float t = 0; 
    b2Vec2 *p = new b2Vec2[times]; 
    b2Vec2 v1 = [CCMethod toMeter:points[0]]; 
    b2Vec2 v2 = [CCMethod toMeter:points[1]]; 
    b2Vec2 v3 = [CCMethod toMeter:points[2]]; 
    for(int i = 0;i < times;i++){ 
     b2Vec2 pa = v1; 
     pa *= ((t-1)*(t-1)*0.5); 
     b2Vec2 pb = v2; 
     pb *= ((-t)*t+t+0.5); 
     b2Vec2 pc = v3; 
     pc *= (t*t*0.5); 
     p[i] = pa+pb+pc; 
     t+=step; 
    } 
    shape.CreateChain(p, times); 
    return shape; 
} 

...それを理解してください。 あなたにはうれしいですね...

+0

pa、pb、pcとは何かを教えてください。 –

+0

これは単なる一時変数です... Quadratic Bezierについての公式です...あなたはComputer Graphicからもっと学ぶことができます... –

関連する問題