Formel umstellen (mit Arkustangens)

Neue Frage »

MarenK Auf diesen Beitrag antworten »
Formel umstellen (mit Arkustangens)
Meine Frage:
Liebes Forum,

habe folgende Formeln in einem quellcode gefunden:

d=c[0]
g=180/Math.PI*2*Math.atan(d/2/e)
i=7*(24/f)*a/g
h=1*a/i

(Math.PI bedeutet Pi, Math.atan bedeutet arctan)
ich brauche allerdings d
kann mir daher jemand helfen das umzustellen...
bzw bin ich mir nicht sicher wegen dem arctan..

es wäre wirklich großartig! danke!
lg, maren

Meine Ideen:
habe zunächst die ein formel nach g umgestellt, weiß aber nicht, ob dass stimmt:
g=(7*(24/f)*a)/i

so ergibt sich:

(7*(24/f)*a)/i = 180/Pi*2*arctan(d/2/e)

naja und jetzt wird's für mich schwierig wegen dem arctan...
outSchool Auf diesen Beitrag antworten »

Angenommen du hast arctan(u) = v, dann setze linke und rechte Seite in die Umkehrfunktion ein.
Das gibt dann u = tan(v). Bitte auch den Definitions- und Wertebereich beachten.
MarenK Auf diesen Beitrag antworten »
Wertebreich, HTML und co
die Umstellung sieht jetzt bei mir so aus:

d = 2*e*tan(g*pi/360)

g ist allerdings auch nicht gegeben, dafür aber i.

also nehme ich die Formel

i=7*(24/f)*a/g

und ergänze somit die obere formel zu

d=2*e*tan( ((180*i) / (7*(24/f)*a)) /pi/2) (bin mir nicht sicher ob das so stimmt..)

noch zur ergänzung (jetzt wird's komplex):
die Variablen sind mir im quellcode wie folgt definiert:

var a,c,d,e,f,g,h,i,j
j=this.el.find("#resolution option:selected").val(),
c=j.split(","), <<< ist das der Wertebreich?
e=parseInt(this.el.find("#focal-length").val()),
f=parseInt(this.el.find("#frame-rate").val()),
a=parseInt(this.el.find("#angle").val())

und die formeln:
d=c[0] <<< damit kann ich nix anfangen, aah...help
g=180/Math.PI*2*Math.atan(d/2/e),
i=7*(24/f)*a/g,
h=1*a/i

gegebene Werte zu Ermittlung von Schwenkgeschwindigkeit und -dauer:
a=180° Schwenkwinkel
j ist die Auflösung mit 8192x4320pixel
e=15mm Brennweite
f=30fps Bildrate
und laut einer Tabelle sind
h=19,2 °/sec Schwenkgeschwinigkeit
i=9,4sec Schwenkdauer

allerdings stark abgerundet und ich traue der Tabelle nicht, daher will ich diese Rechnung überprüfen...

wenn j die Auflösung definiert mit 8192x4320 px
muss ich das dann mal rechnen? dann 35.389.440px
oder bei c=j.split(",") wie folgt eintragen c=j.split("8192,4320") und wie definiert das d, wenn
d=c[0]

ich hoffe ihr könnt helfen!
Jeder der zur Lösung beträgt erhält großen dank und einen namentlichen Eintrag in meine Dissertation! (geht darin um Kino, nicht um Mathe. Big Laugh )
outSchool Auf diesen Beitrag antworten »

Hallo Maren,

Doppelpost! Du hast auch in Mathelounge gepostet. Dies ist bei uns nicht gerne gesehen.

Zu deiner Frage:

Ich gehe mal davon aus, dass es sich um eine Funktion in javascript handelt.
Für deine Dissertation solltest du dir doch mal die Mühe machen, den Quellcode zu verstehen.
Anscheinend handelt es sich bei den Werten 180 und 360 um Winkelgrade, das solltest du dann auch von anderen numerischen Werten unterscheiden.

Wenn du mit dem Quellcode an irgendeiner Stelle nicht weiterkommst, helfen wir dir gerne.
Du solltest dann aber die ganze Funktion posten. Mit Fragmenten können wir leider nicht viel anfangen.

Ich bin dann auch raus aus dem Thread.
MarenK Auf diesen Beitrag antworten »
javascript
ja, javascript arbeite ich mich auch ein Big Laugh

ist nicht ganz easy für mich, da ich nicht in informatik und mathe beheimatet bin.

der doppelpost weil ich dachte, so können mehr leute helfen...
wollt euch damit nicht kränken.

is schade, wenn du hier raus wärst..

hier kommt der komplette code:

((function(){var a=function(a,b){return function(){return a.apply(b,arguments)}};this.PanningSpeedTool=function(){function b(b){this.init=a(this.init,this);var c,d=this;$('#learn-tools-nav li a[data-tool="'+(""+b)+'"]').parent().addClass("active"),this.el=$(b),c=this.el.find("#panning-tool-action"),c.attr({disabled:"disabled"}),c.on({click:function(a){return a.preventDefault(),d.init()}}),this.el.find('select, input[type="number"]').on({focus:function(a){return c.removeAttr("disabled"),$(a.target).off("focus")}}),this.init()}return b.MIN_ANGLE=1,b.MAX_ANGLE=360,b.MIN_FOCAL=15,b.MAX_FOCAL=300,b.FPS_ERROR_MSG="Please enter a numerical value for the subject distance.",b.ANGLE_ERROR_MSG="Please enter a panning angle between "+b.MIN_ANGLE+" and "+b.MAX_ANGLE+" degrees.",b.FOCAL_ERROR_MSG="Please enter a focal length value between "+b.MIN_FOCAL+" and "+b.MAX_FOCAL+" mm.",b.prototype.init=function(){var a,c,d,e,f,g,h,i,j;return j=this.el.find("#resolution option:selected").val(),c=j.split(","),e=parseInt(this.el.find("#focal-length").val()),f=parseInt(this.el.find("#frame-rate").val()),a=parseInt(this.el.find("#angle").val()),isNaN(f)?alert(b.FPS_ERROR_MSG):isNaN(a)||a<b.MIN_ANGLE||a>b.MAX_ANGLE?alert(b.ANGLE_ERROR_MSG):isNaN(e)||e<b.MIN_FOCAL||e>b.MAX_FOCAL?alert(b.FOCAL_ERROR_MSG)unglücklich d=c[0],g=180/Math.PI*2*Math.atan(d/2/e),i=7*(24/f)*a/g,h=1*a/i,this.display_duration(i),this.display_rate(h))},b.prototype.set_focus=function(a){return this.el.find(a).focus().select()},b.prototype.display_duration=function(a){var b,c;return b=parseInt($("#duration-result").text()),a>=10?c=Math.round(a):c=Math.round(10*a)/10,this.animateNum(b,c,$("#duration-result"),$("#duration-result-mobile"))},b.prototype.display_rate=function(a){var b,c;return b=parseFloat($("#rate-result").text()),c=Math.round(10*a)/10,this.animateNum(b,c,$("#rate-result"),$("#rate-result-mobile"))},b.prototype.animateNum=function(a,b,c,d){return $({value:a}).animate({value:b},{duration:1e3,easing:"swing",step:function(a,b){return c.text(Math.round(10*a)/10),d.text(Math.round(10*a)/10)},complete:function(){}})},b}(),$(document).on({ready:function(){var a;return a=new PanningSpeedTool("#panning-speed"),$('a[data-ui-action="hamburger-toggle"]').on({click:function(a){return $(".responsive-menu").toggleClass("expand")}})}})})).call(this)
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von MarenK
d=2*e*tan( ((180*i) / (7*(24/f)*a)) /pi/2) (bin mir nicht sicher ob das so stimmt..)

Es stimmt auch nicht. Setzt man das umgeformte in die obige Gleichung für d ein, kommt was ganz anderes raus.
 
 
outSchool Auf diesen Beitrag antworten »
Quellcode
Hallo Maren,

ich habe mir den JavaScript Quellcode mal angesehen. Obwohl ich kein JavaScript Entwickler bin,
sind mir doch die wesentlichen Eigenschaften von JavaScript bekannt.

b.prototype.init=function()
{
var a,c,d,e,f,g,h,i,j;
return j=this.el.find("#resolution option:selected").val(),
c=j.split(","),
e=parseInt(this.el.find("#focal-length").val()),
f=parseInt(this.el.find("#frame-rate").val()),
a=parseInt(this.el.find("#angle").val()),

isNaN(f)?
alert(b.FPS_ERROR_MSG):
isNaN(a)||a<b.MIN_ANGLE||a>b.MAX_ANGLE?
alert(b.ANGLE_ERROR_MSG):
isNaN(e)||e<b.MIN_FOCAL||e>b.MAX_FOCAL?
alert(b.FOCAL_ERROR_MSG)unglücklich d=c[0],

g=180/Math.PI*2*Math.atan(d/2/e),
i=7*(24/f)*a/g,
h=1*a/i,
this.display_duration(i),
this.display_rate(h))
}

j=this.el.find("#resolution option:selected").val(), // die Variable j wird belegt
c=j.split(","), // Die split Funktion teilt den Wert von j kommasepariert auf. c ist ein Array.
isNaN(f)? . . . d=c[0],
/* Die Operatoren ? und : sind eine verkürzte Schreibweise für if ... then ... else.
Hier mehrfach verschachtelt. Auf jeden Fall wird die Variable d durch den ersten Eintrag des Array c=[0] belegt.
Das heißt, du musst keine umständlichen Umformungen machen um d aus atan(d/2/e) zu bekommen. */

Den Eintrag in deine Dissertation kannst du dir sparen.
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von outSchool
alert(b.FOCAL_ERROR_MSG)unglücklich d=c[0],

Was der BBCode manchmal so anrichtet. Big Laugh
KonverDiv Auf diesen Beitrag antworten »

Zitat:
Original von HAL 9000
Zitat:
Original von outSchool
alert(b.FOCAL_ERROR_MSG)unglücklich d=c[0],

Was der BBCode manchmal so anrichtet. Big Laugh


Ich studiere gerade auch den Code, das fand ich auch ganz witzig Big Laugh Freude
outSchool Auf diesen Beitrag antworten »

Ja, hinter dem Doppelpunkt ":" hat sich wohl eine öffnende Klammer "(" eingeschlichen.
Das Ergebnis sieht dann so aus. unglücklich
Da bin ich nur erstaunt. Erstaunt1
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »