All pastes #155715 Raw Edit

Untitled

public c v1 · immutable
#155715 ·published 2006-08-31 08:26 UTC
rendered paste body
float vector_length(float vector[2]){        return (sqrtf((vector[0]*vector[0]) + (vector[1]*vector[1])));}float vector_normalise(float vector[2]){    float temp = 1/vector_length(vector);    vector[0] *= temp;    vector[1] *= temp;    return vector;}void deflect(object_t *obj1, object_t *obj2){    float impactnormal[2];    float subtracted[2];    float dotproduct;    vector_subtract(subtracted, obj1->position, obj2->position);    impactnormal = vector_normalise(subtracted);    dotproduct  = vector_dotproduct(obj1->velocity, impactnormal);    obj1->velocity[0] += impactnormal[0] * dotproduct * 2.0;    obj1->velocity[1] += impactnormal[1] * dotproduct * 2.0;}