geometria computacional II

Iniciado por + 1 Oculto(s), 10 Agosto 2016, 04:27 AM

0 Miembros y 1 Visitante están viendo este tema.

+ 1 Oculto(s)

el enunciado es este:



espero que puedan ayudarme a enterder las matematicas, luego lo codifico

saludos...

+ 1 Oculto(s)

esta es la solucion pero esta muy complicado
Citar

#include<iostream>
#include<cmath>
using namespace std;

double solve(double ha,double hb,double hc){
    double cosA=hb*hc*(1/(hb*hb)+1/(hc*hc)-1/(ha*ha))/2;
    double sinA=sin(acos(cosA));
    return hb*hc/(2*sinA);
    }

int main(){
    int n,kase=0;
    cin>>n;
    double ha,hb,hc;
    while(cin>>ha>>hb>>hc && kase<n){
        double ans=solve(ha,hb,hc);
        if(isnan(ans)){
            cout<<"These are invalid inputs!"<<endl;
            kase++;
            }
        else
            printf("%0.3lf\n",ans);
        }
    return 0;
    }

esta formula es del triangulo b*h/2
Citardouble cosA=hb*hc*(1/(hb*hb)+1/(hc*hc)-1/(ha*ha))/2;

ivancea96

#2
http://math.stackexchange.com/questions/55440/find-the-perimeter-of-any-triangle-given-the-three-altitude-lengths

La primera respuesta da una solución. No es la que posteas, pero es una solución.

+ 1 Oculto(s)

si funciona grax  :xD :xD :xD ahora me surgio una duda.

ya que esa formula haya el area que pide la pregunta
pero si quisiera hallar mas las otras areas, como haria? alguna idea?

ivancea96

¿Qué otras áreas?
Teniendo área y alturas, sacas sin problema los lados, puesto que Area = base * altura / 2.
Si quieres los ángulos, los puedes sacar con el teorema del coseno.

+ 1 Oculto(s)

me refiero a estas areas,



saludos...

ivancea96

Teniendo el ángulo (B), la altura (Hb) y el lado (BC), verás que forma un triángulo rectángulo. Es sacar el área de ese triángulo.