This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

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:

[font=Consolas, "Courier New", monospace]   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);


[/font]
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.

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
Als Lösung markieren 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.

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];
}
Als Lösung markieren Zitieren


Gehe zu:


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