Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Sinus Berechnungs Problem
#1
Moin, bin momentan dran eine Sinusfunktion zur Dreiecks Berechnung zu erstellen(SSW), aber irgendwie klappt die momentane Rechnung nicht, kann mir da jemand weiterhelfen?


Code:

   winkel2 = Math.asin(Math.sin(winkel1) / seite1 * seite2) / Math.PI * 180;
    console.log(winkel2);
    winkel3 = berechneW3(winkel1, winkel2);
    console.log(winkel3);
    seite3 = seite2 * Math.sin(winkel3) / Math.sin(winkel1);


Zitieren
#2
Hi bl,

könntest du auch die vorgegebenen Werte Wie Seiten und Winkel angeben, dann könnte ich auch eine Formel zusammen basteln.

Code:
winkel2 = Math.asin(Math.sin(winkel1) / seite1 * seite2) / Math.PI * 180;
    console.log(winkel2);
    winkel3 = berechneW3(winkel1, winkel2);
    console.log(winkel3);
    seite3 = seite2 * Math.sin(winkel3) / Math.sin(winkel1);
VG

scoutrz
"Gerne dürft ihr mir eine gute Bewertung da lassen aber auch gegenüber Kritik bin ich offen" Angel
Zitieren
#3
Seite a (Seite1): 10 cm
Seite c (Seite2): 6 cm
Winkel gamma (Winkel1): 36.87 grad

die Seiten und Winkel werden im Nachhinein auch nochmal automatisch sortiert was soweit auch funktioniert.

Code:
let input = ["","","","",""];
let seite1;
let seite2;
let seite3;
let winkel1;
let winkel2;
let winkel3;
let welcheRechnungString;

function Ergebnis() {
    input[0] = document.getElementById('a').value.replace(/[',']/g, '.'); //Seite A
    input[1] = document.getElementById('b').value.replace(/[',']/g, '.'); //Seite B
    input[2] = document.getElementById('c').value.replace(/[',']/g, '.'); //Seite C
    input[3] = document.getElementById('alpha').value.replace(/[',']/g, '.'); //Winkel alpha
    input[4] = document.getElementById('beta').value.replace(/[',']/g, '.'); //Winkel beta
    input[5] = document.getElementById('gamma').value.replace(/[',']/g, '.'); //Winkel gamma

    let welcheRechnung = ["0","0","0","0","0","0"];
     /*
    input[0] = A
    input[1] = B
    input[2] = C
    input[3] = Alpha
    input[4] = Beta
    input[5] = Gamma
    */
    for (let i = 0; i < 6; i++) {
        if (! input[i] == "") {
            welcheRechnung[i] = "1";
        }
    }
    welcheRechnungString = welcheRechnung.toString().replace(/[',']/g, '');
    console.log("Rechnungsmodel welches aufgerufen wurde:",welcheRechnungString);
    switch (welcheRechnungString) { // überprüfen! bei funktioniert = +
        case "111000": //
            seite1 = input[0];
            seite2 = input[1];
            seite3 = input[2];
            dreiSeiten();
            break;
        case "110001": //
            seite1 = input[0];
            seite2 = input[1];
            winkel1 = input[5];
            zweiSeitenEinWinkelSonder();
            break;
        case "110010": //
            seite1 = input[1];
            seite2 = input[0];
            winkel1 = input[4];
            zweiSeitenEinWinkel();
            break;
        case "110100": //
            seite1 = input[0];
            seite2 = input[1];
            winkel1 = input[3];
            zweiSeitenEinWinkel();
            break;
        case "011001": //
            seite1 = input[2];
            seite2 = input[1];
            winkel1 = input[5];
            zweiSeitenEinWinkel();
            break;
        case "011010": //
            seite1 = input[1];
            seite2 = input[2];
            winkel1 = input[4];
            zweiSeitenEinWinkel();
            break;
        case "011100": //
            seite1 = input[1];
            seite2 = input[2];
            winkel1 = input[3];
            zweiSeitenEinWinkelSonder();
            break;
        case "101001": //
            seite1 = input[0];
            seite2 = input[2];
            winkel1 = input[5];
            zweiSeitenEinWinkeltest();
            break;
        case "101010": //
            seite1 = input[0];
            seite2 = input[2];
            winkel1 = input[4];
            zweiSeitenEinWinkelSonder();
            break;
        case "101100": //
            seite1 = input[0];
            seite2 = input[2];
            winkel1 = input[3];
            zweiSeitenEinWinkel();
            break;
        case "100011": //
            seite1 = input[0];
            winkel1 = input[4];
            winkel2 = input[5];
            zweiWinkelEineSeite();
            break;
        case "100110": //
            seite1 = input[0];
            winkel1 = input[3];
            winkel2 = input[4];
            zweiWinkelEineSeite();
            break;
        case "100101": //
            seite1 = input[0];
            winkel1 = input[3];
            winkel2 = input[5];
            zweiWinkelEineSeite();
            break;
        case "010011": //
            seite1 = input[1];
            winkel1 = input[4];
            winkel2 = input[5];
            zweiWinkelEineSeite();
            break;
        case "010110": //
            seite1 = input[1];
            winkel1 = input[3];
            winkel2 = input[4];
            zweiWinkelEineSeite();
            break;
        case "010101": //
            seite1 = input[1];
            winkel1 = input[3];
            winkel2 = input[5];
            zweiWinkelEineSeite();
            break;
        case "001011": //
            seite1 = input[2];
            winkel1 = input[4];
            winkel2 = input[5];
            zweiWinkelEineSeite();
            break;
        case "001110": //
            seite1 = input[2];
            winkel1 = input[3];
            winkel2 = input[4];
            zweiWinkelEineSeite();
            break;
        case "001101": //
            seite1 = input[2];
            winkel1 = input[3];
            winkel2 = input[5];
            zweiWinkelEineSeite();
            break;
        default:
            fehlerAusgabe();
    }

}

function fehlerAusgabe() { // mehr verschiedene Fehler um lösung zu bekommen!
    alert("Es ist ein Fehler aufgetreten, bitte überprüfe deine Eingaben oder versuch es später erneut.")
}

function dreiSeiten() {
    winkel1 = Math.acos((Math.pow(seite1,2) - Math.pow(seite2,2) - Math.pow(seite3,2)) / (-2 * seite2 * seite3)) / Math.PI * 180;
    winkel2 = Math.acos((Math.pow(seite2,2) - Math.pow(seite1,2) - Math.pow(seite3,2)) / (-2 * seite1 * seite3)) / Math.PI * 180;
    winkel3 = berechneW3(winkel1, winkel2);
    sortierung();
}

function zweiSeitenEinWinkel() {

    sortierung();
}

function zweiSeitenEinWinkelSonder() {

    sortierung();
}

function zweiWinkelEineSeite() {

    sortierung();
}

function berechneW3(w1, w2) {
    let w3 = 180 - w1 - w2;
    return w3;
}
function gradZuRad(grad)
{
    return grad * Math.PI / 180;
}

function radZuGrad(rad)
{
    return rad * 180/ Math.PI;
}



function sortierung() {
    switch (welcheRechnungString) { // überprüfen!
        case "111000":
            input = [seite1, seite2, seite3, winkel1, winkel2, winkel3];
            ausgabe();
            break;
        case "110001":
            input = [seite1, seite2, seite3, winkel2, winkel3, winkel1];
            ausgabe();
            break;
        case "110010":
            input = [seite1, seite2, seite3, winkel2, winkel1, winkel3];
            ausgabe();
            break;
        case "110100":
            input = [seite1, seite2, seite3, winkel1, winkel2, winkel3];
            ausgabe();
            break;
        case "011001":
            input = [seite3, seite1, seite2, winkel3, winkel2, winkel1];
            ausgabe();
            break;
        case "011010":
            input = [seite3, seite1, seite2, winkel3, winkel1, winkel2];
            ausgabe();
            break;
        case "011100":
            input = [seite3, seite1, seite2, winkel1, winkel2, winkel3];
            ausgabe();
            break;
        case "101001":
            input = [seite1, seite3, seite2, winkel2, winkel3, winkel1];
            ausgabe();
            break;
        case "101010":
            input = [seite1, seite3, seite2, winkel2, winkel1, winkel3];
            ausgabe();
            break;
        case "101100":
            input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
            ausgabe();
            break;
        case "100011": // ab hier 2 winkel und eine seite noch einstellen
            input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
            break;
        case "100110":
            input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
            break;
        case "100101":
            input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
            break;
        case "010011":
            input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
            break;
        case "010110":
            input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
            break;
        case "010101":
            input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
            break;
        case "001011":
            input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
            break;
        case "001110":
            input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
            break;
        case "001101":
            input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
            break;
        default:
            fehlerAusgabe();
    }
}

function ausgabe() {
    document.getElementById('ausgabeA').value = input[0];
    document.getElementById('ausgabeB').value = input[1];
    document.getElementById('ausgabeC').value = input[2];
    document.getElementById('ausgabeAlpha').value = input[3];
    document.getElementById('ausgabeBeta').value = input[4];
    document.getElementById('ausgabeGamma').value = input[5];
}
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste