Seite 1 von 1

Trigonometrische Formeln im Formular

Verfasst: 06.02.2021, 22:39
von jacaranda
Hallo Zusammen

Ich habe ein Problem das Javascript für die zwei folgenden Berechnungen zu schreiben.
Meine javascript Kenntnisse sind gleich 0 und daher hoffe ich, jemand hier kann mir helfen.

In Excel sehen die Formeln folgendermaßen aus:

Formel A (G22) =WURZEL(D22*D22+J20*J20-2*J20*D22*(COP90))
Formel B (I22) =90-(ARCTAN2(D22;J20)*180/PI())

Könnte mir vielleicht jemand bei dem Script helfen? Ich vermute, dass es keine große Sache ist, aber ich scheitere, trotz langer Suche im Internet immer noch an dem Aufbau der Formel, die ich für das Acrobat-Formular benötige.

Viele Grüße, Jacaranda

Re: Trigonometrische Formeln im Formular

Verfasst: 15.02.2021, 14:29
von Menni
Hallo Jacaranda,

das sind ja tolle Excel-Formeln... :D
Aber du möchtest doch Hilfe zu Javascript in einem PDF oder?! Wie sieht dein Formular denn überhaupt aus? Wie sehen die Formeln denn als "normaler", mathematischer Ausdruck aus? Das wäre z.B. wichtiger zu wissen.

Generell sind in Javascript alle möglichen Rechenoperationen möglich, z.B. mit dem "Math"-Objekt.
Wenn du konkrete Hilfe haben möchtest, müsstet du vielleicht etwas mehr anbieten als eine Excel-Formel. ;)

Re: Trigonometrische Formeln im Formular

Verfasst: 15.02.2021, 17:06
von jacaranda
Hallo Menni

Danke für die Antwort. Die mathematischen Formeln lauten:

F = Wurzel aus (E2 + C2-2EC cos(γ))
und
α = (180 / π) x arcsin (E sin(γ) / C

Wenn ich dies Formeln in javascript erhalten könnte, das ich in das Acrobat Formular einfügen kann, wäre das super.

Viele Grüße, Jacaranda

Re: Trigonometrische Formeln im Formular

Verfasst: 16.02.2021, 08:47
von Menni
So könnte das mit irgendwelchen ausgedachten Feldnamen in JS aussehen ...

Code: Alles auswählen

var fE = this.getField("E").value;
var fC = this.getField("C").value;
var fY = this.getField("Y").value;

event.value = Math.sqrt((Math.pow(fE, 2)) + (Math.pow(fC, 2)) - (2 * fE * fC * Math.cos(fY)));

Code: Alles auswählen

var fE = this.getField("E").value;
var fC = this.getField("C").value;
var fY = this.getField("Y").value;

event.value = (180 / Math.PI) * Math.asin(fE * Math.sin(fY) / fC);