Esempio n. 1
0
//retorna cotovelo em relacao ao ombro, usa matematica levemente pesada, cuidado ao mexer
Ponto Shooter::getJunta(Ponto superior, Ponto inferior, 
						double tamanhoSuperior, double tamanhoInferior) {
	double a = tamanhoSuperior;
	double b = tamanhoInferior;
	double d = distance(superior,inferior);
	double area = areaTriangle(a,b,d);
	double ylinha = 2.0*area/d;
	double xlinha = sqrt(a*a-ylinha*ylinha);

	double sinTheta = (inferior.y-superior.y)/d;
	double cosTheta = (inferior.x-superior.x)/d;
		
	Ponto ret;
	ret.x = (cosTheta*xlinha-sinTheta*ylinha);
	ret.y = (sinTheta*xlinha+cosTheta*ylinha);
	return ret;
}
Esempio n. 2
0
float Triangle::area() const
{
    return areaTriangle(p0,p1,p2);
}