Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [java o c] Trovare gli angoli date le coordinate dei tre vertici di un triangolo

    Come da titolo: ho le cordiante (x,y) dei tre vertici di un triangolo, dovrei trovare i tre angoli.

  2. #2
    O almeno mi servirebbe trovare l'angolo minimo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    160
    mi sa più di problema di matematica che di programmazione, se lo sai risolvere matematicamente, passare all'implementazione è una cavolata.
    Per quel pò che mi ricordo ancora potresti trovare i tre lati con la formula della distanza tra due punti, col teorema di pitagora trovare l'altezza e dividerla per uno dei lati obliqui. Facendo l'arcoseno di quello che ti viene ottieni l'angolo opposto all'altezza e adiacente al lato obliquo che hai scelto. Poi fai lo stesso per l'altro lato obliquo e per differenza trovi il terzo angolo.


  4. #4
    Grazie mille per l'idea.
    Speravo ci fosse anche qualche metodo già scritto nelle api di java ed è per questo che ho postato qui.

    Grazie ancora per l'aiuto.. ora implemento.

  5. #5
    Ma per trovare l'altezza con pitagora come faresti?

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Altolà:

    L'angolo minimo è quello opposto al lato minimo.
    Non impelagarti con le altezze relative e pitagora dove non serve più che tanto:

    Dati 3 punti,
    codice:
     1    |Xa-Xb    Ya-Yb|
    --- x |              | = Area
     2    |Xa-Xc    Ya-Yc|
    Dove | | è il Determinante della matrice 2 x 2 della differenza delle coordinate

    Poi applichi:
    codice:
            1    
    Area = --- x Sin(angolo_compreso)*LunghezzaLato1*LunghezzaLato2
            2
    Ossia il seno dell'angolo compreso è

    Area * 2 / (prodotto lati)

    Se è l'angolo minimo, sicuramente è minore di Pi/2 e quindi puoi tranquillamente tirare fuori il valore dell'angolo minimo con la funzione inversa.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.