double getDistanceToLine(Vec3 normale, Vec3 punkt, double verschiebung){
return abs((normale/normale.Length())*punkt-verschiebung);
}
Vec3 spiegelungUmNomrale(Vec3 V,Vec3 A){
Vec3 result = V-2*((A*V)/(A*A))*A;
return result;
}
Vec3 W1W2ORTHO((W1-W2).p[2],0,-(W1-W2).p[0]);
if(getDistanceToLine(W1W2ORTHO,Vec3(posX_,0,posZ_),W1W2ORTHO/W1W2ORTHO.Length()*W1)<=0){
//mouseSpeed=spiegelungUrsprungsgerade(getAngle2D((W1-W2).p[0],(W1-W2).p[2],1,0),mouseSpeed);
mouseSpeed=spiegelungUmNomrale(mouseSpeed,W1W2ORTHO);
}
Comments