Grafische Formen in JavaScript?
newbie
- java
1 Encoder0 Matthias Apsel0 JürgenB0 Newbie
Hallo,
ist es möglich ein Grafisches Objekt mit JavaScript zu erstellen? Ich bin dabei ein Koordinatensystem zu schreiben mit einfachen Funktionen z.B.
F(x)=x^2 oder f(x)=ln(x) oder etwas komplexe Funktionen wie f(x)=2x^2/(x^4-4).
Das wird eine ziemlich kurvige Angelegenheit.
Mir ist es wichtig Funktionen Grafisch darzustellen.
Hab mir überlegt ob ich die Linien in viele kleine punkte gestalte kann, sodass die Kurven erahnt werden können aber nur erahnt. Ich wollte mir mit Linien Abhilfe verschaffen und ohne eine SVG Grafik. Um wieder auf meine Frage zurück zu kommen. Kann man einfache grafische Elemente wie Linien Kreise Kurven per JavaScript darstellen. Ich freue mich über jede Antworten.
Gruß
In HTML 5 gibts das canvas Objekt, guck dir das mal an.
Om nah hoo pez nyeetz, newbie!
Hab mir überlegt ob ich die Linien in viele kleine punkte gestalte kann,
Das geht zur Not auch nur mit HTML und CSS.
Matthias
Hallo newbie,
... f(x)=2x^2/(x^4-4) ...
z.B. so, in modernen Browsern mit Canvas, sonst mit vielen div-Elementen.
Gruß, Jürgen
Om nah hoo pez nyeetz, JürgenB!
z.B. so,
Es wäre schön, wenn du noch die scheinbaren Nullstellen bzw. Asymptoten bei [latex]\pm\sqrt[4]{4}[/latex] beseitigen könntest.
Matthias
Hallo Matthias,
Es wäre schön, wenn du noch die scheinbaren Nullstellen bzw. Asymptoten bei [latex]\pm\sqrt[4]{4}[/latex] beseitigen könntest.
geht leider nicht, das ist ein Plot- und kein Mathe-Programm. Bei Polen ist es nur Zufall, dass es keinen "Division by Zero Error" gibt.
Gruß, Jürgen
Om nah hoo pez nyeetz, JürgenB!
geht leider nicht, das ist ein Plot- und kein Mathe-Programm. Bei Polen ist es nur Zufall, dass es keinen "Division by Zero Error" gibt.
Letzterer lässt sich sicher abfangen.
Ersteres: Verbindung zwischen zwei beachbarten Punkten nicht zeichnen, wenn die Funktionswerte unterschiedliches Vorzeichen haben und die Differenz sehr groß ist.
if (!(f(x) - f(x - delta_x) > 100 && f(x) * f(x - delta_x) < 0))
{
zeichne
}
Die 100 muss man sicher an die gewählte Auflösung anpassen.
Matthias
@@Matthias Apsel:
nuqneH
if (!(f(x) - f(x - delta_x) > 100 && f(x) * f(x - delta_x) < 0))
Das ist nur die halbe Miete. Was, wenn die Differenz kleiner als −100 ist?
Math.abs()
hilft.
Qapla'
Hallo Gunnar,
ich glaube nicht, dass man das so einfach lösen kann. Um einen Pol von einem echten Sprung unterscheiden zu können, muss man die Formel analysieren. Da ich aber die Formel nur mit "new Function" auswerte, weiß ich nicht, ob es einen Nenner mit Nullstelle gibt. Es ist eben ein Plotscript, ursprünglich nur geschrieben, um die Plot- und Grafikroutinen zu testen.
Gruß, Jürgen
Om nah hoo pez nyeetz, JürgenB!
ich glaube nicht, dass man das so einfach lösen kann. Um einen Pol von einem echten Sprung unterscheiden zu können, muss man die Formel analysieren.
Das ist sicher richtig, aber du hast zumindest auf eine relativ einfache Weise eine Vielzahl von Funktionen "hübscher" dargesetllt.
Matthias
Hallo Matthias,
... "hübscher" dargesetllt.
das stimmt.
Gruß, Jürgen
Hallo,
vielen Dank für eure hinweis und Tipps. Werde ich beherzigen.
Ich möchte Scripte zu diesem Mathe Thema schreiben zu denen auch etwas ältere Internet Browser Zugriff haben und das wiedergeben können.
Nochmals Danke für Euren Tipp