tag:forum.selfhtml.org,2005:/self Ovalenradius errechnen (Kompliziert zu erklären ...) – SELFHTML-Forum 2015-03-27T10:53:27Z https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635534#m1635534 NeoGriever lygriever@aol.de 2015-03-26T17:46:48Z 2015-03-26T17:46:48Z Ovalenradius errechnen (Kompliziert zu erklären ...) <p>Hallo.</p> <p>Es geht um PHP. Bezüglich mathematischer berechnungen.</p> <p>Hier erstmal eine kurze Illustration.</p> <p>http://n47.imgup.net/ovaleba2e.png</p> <p>Die rote Ovale ist "gedanklich" da und wird auf basis von Breite und Höhe der "Arbeitsfläche" errechnet.</p> <p>Die grüne Linie zeigt (beispielhaft) die errechnete Distanz zwischen einem (zufälligen) punkt auf der Arbeitsfläche und dem Zentrum. (Auch fließkomma möglich)</p> <p>Das lila X zeigt den Schwellwert, welchen ich errechnen möchte.</p> <p>Ein Beispiel in Zahlen:</p> <p>Dimensionen der Arbeitsfläche (B / H): 100 / 80 Zentrum der Arbeitsfläche (X / Y): 50 / 40 Position des Punktes auf der Arbeitsfläche (X / Y): 22 / 2 Die gedankliche Ovale nutzt das Zentrum der Arbeitsfläche als Zentrum und die Dimensionen der Arbeitsfläche als Dimensionen. (Siehe Illustration)</p> <p>Der Punkt ist nun eindeutig außerhalb der (gedanklichen) Ovale. Jedoch möchte ich errechnen, ob die Distanz des Punktes zum Zentrum der Arbeitsfläche außerhalb der Ovale liegt. (Zentrum der Arbeitsfläche ist IMMER gleich Zentrum der Ovale)</p> <p>Ich weiß, dass man da mit Sin und Cos rumjonglieren muss. Aber da komm ich nicht mehr weiter.</p> <p>Wer könnte mir da eventuell helfen, das Problem zu lösen?</p> <p>PS: Es geht um einen PHP-basierenden Sternenkarten-Renderer, welchen ich mit einer "Radial"-Option versehen will, wobei dann am ende nur die Sterne generiert und gespeichert werden, welche sich innerhalb der Ovale/des Kreises des Bildes befinden. Dabei wird die Größe des Bildes als Ovalen/kreis-Dimensionen gewählt.</p> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635550#m1635550 ChrisB 2015-03-26T19:06:58Z 2015-03-26T19:06:58Z Ovalenradius errechnen (Kompliziert zu erklären ...) <p>Yo!</p> <blockquote> <p>Die rote Ovale ist “gedanklich” da und wird auf basis von Breite und Höhe der “Arbeitsfläche” errechnet.</p> </blockquote> <p>Nenne das Ding statt einem Oval eine Ellipse.</p> <blockquote> <p>Der Punkt ist nun eindeutig außerhalb der (gedanklichen) Ovale. Jedoch möchte ich errechnen, ob die Distanz des Punktes zum Zentrum der Arbeitsfläche außerhalb der Ovale liegt. (Zentrum der Arbeitsfläche ist IMMER gleich Zentrum der Ovale)</p> </blockquote> <p>Dann berechnest du den Winkel der Gerade vom Ursprung zum Punkt …</p> <blockquote> <p>Ich weiß, dass man da mit Sin und Cos rumjonglieren muss. Aber da komm ich nicht mehr weiter.</p> </blockquote> <p>… und berechnest mit diesem Winkel den Schnittpunkt mit der Ellipse.</p> <p><a href="https://www.google.de/search?q=punkt+auf+ellipse+auf+basis+von+winkel" rel="nofollow noopener noreferrer">https://www.google.de/search?q=punkt+auf+ellipse+auf+basis+von+winkel</a></p> <p>MfG ChrisB</p> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635565#m1635565 Tabellenkalk 2015-03-26T21:58:11Z 2015-03-26T21:58:11Z Ovalenradius errechnen (Kompliziert zu erklären ...) <p>Hallo,</p> <p>mit deinem Zentrum deiner Ellipse kannst du nicht wirklich was anfangen. Was du brauchst sind die beiden Brennpunkte. Die Summe der beiden Abstände eines Punktes auf der Ellipse zu den Brennpunkten ist eine Konstante k. Damit hast du ein simples Kriterium: größer als k -> außerhalb, kleiner k -> innerhalb</p> <p>Gruß Kalk</p> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635566#m1635566 Gunnar Bittersmann selfhtml@bittersmann.de http://bittersmann.de 2015-03-26T22:04:37Z 2015-03-26T22:04:37Z Ovalenradius errechnen (Kompliziert zu erklären ...) <blockquote> <p>Ich weiß, dass man da mit Sin und Cos rumjonglieren muss.</p> </blockquote> <p>Nein, musst du nicht. Das einzige, was du brauchst, ist der Pythagoras.</p> <p>Und das Wissen, was eine <a href="https://de.wikipedia.org/wiki/Ellipse" rel="nofollow noopener noreferrer">Ellipse</a> (ich nehme mal an, das meinst du mit „Oval“) ist: die Menge aller Punkte der Ebene, für die die Summe der Abstände zu zwei gegebenen Punkten _F_₁ und _F_₂ konstant ist.</p> <p><img src="https://upload.wikimedia.org/wikipedia/commons/f/f8/Ellipse_parameters.svg" alt="Ellipse" loading="lazy"></p> <p>(Quelle: Antonsusi, Wikimedia, CC BY 3.0)</p> <p>Die Länge der großen Halbachse (Abstand der am weitesten entferntesten Punkte der Ellipse zum Mittelpunkt) sei <em>a</em>; die Länge der kleinen Halbachse (Abstand der am nächsten liegenden Punkte der Ellipse zum Mittelpunkt) sei <em>b</em>. (Das Rechteck, in das die Ellipse eingebettet ist, hat also die Breite 2⁠_a_ und die Höhe 2⁠_b_.</p> <p>Wie man leicht sieht, ist die oben erwähnte Summe der Abstände gleich 2⁠_a_.</p> <p>Der Abstand der Brennpunkte vom Mittelpunkt sei <em>e</em>. Nach Pythagoras gilt _a_² = _b_² + _e_². Damit lassen sich die Koordinaten der Brennpunkte _F_₁(<em>e</em>, 0) und <em>F_₂(−_e</em>, 0) aus den Abmessungen des Rechtecks berechnen.</p> <p>Der Abstand <em>d</em> zweier Punkte _P_₁(_x_₁, _y_₁) und _P_₂(_x_₂, _y_₂) einer Ebene ergibt sich ebenfalls aus dem Pythagoras: _d_² = (_x_₁ − _x_₂)² + (_y_₁ − _y_₂)².</p> <p>Nun kannst du die Abstände eines fraglichen Punktes von den Brennpunkten berechnen. Ist deren Summe gleich 2⁠_a_, liegt der Punkt auf der Ellipse; ist sie kleiner, liegt er innerhalb; ist sie größer, liegt er außerhalb.</p> <p>LLAP</p> <div class="signature">-- <br> „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer) </div> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635551#m1635551 NeoGriever lygriever@aol.de 2015-03-26T19:10:46Z 2015-03-26T19:10:46Z Ovalenradius errechnen (Kompliziert zu erklären ...) <p>Leider ist das nicht das, was ich möchte. Ich möchte nur erfahren, ob der punkt außerhalb der ellipse oder innerhalb ist.</p> <p>Mit der errechnung des Schnittpunktes würde ich ja nicht erfahren, ob der Punkt außerhalb oder innerhalb liegt.</p> <p>Nun gut. Man könnte jetzt die Distanz zwischen Punkt und Zentrum mit der von Punkt und Schnittpunkt dividieren, wodurch man einen Wert bekommt. Ist dieser > 0 dann ist der Punkt außerhalb. Ist er < 0 ist er innerhalb.</p> <p>Vielleicht versuche ich das, insofern es keinen anderen Ansatz gibt.</p> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635568#m1635568 ChrisB 2015-03-26T22:18:28Z 2015-03-26T22:18:28Z Ovalenradius errechnen (Kompliziert zu erklären ...) <p>Yo!</p> <blockquote> <p>Mit der errechnung des Schnittpunktes würde ich ja nicht erfahren, ob der Punkt außerhalb oder innerhalb liegt.</p> <p>Nun gut. Man könnte jetzt die Distanz zwischen Punkt und Zentrum mit der von Punkt und Schnittpunkt dividieren, wodurch man einen Wert bekommt. Ist dieser > 0 dann ist der Punkt außerhalb. Ist er < 0 ist er innerhalb.</p> </blockquote> <p>Oder einfach die Längen beider Strecken vergleichen, ja. Dass du diesen Schritt noch machen muss, war impliziert.</p> <p>MfG ChrisB</p> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635586#m1635586 Gunnar Bittersmann selfhtml@bittersmann.de http://bittersmann.de 2015-03-27T07:48:22Z 2015-03-27T07:48:22Z Ovalenradius errechnen (Kompliziert zu erklären ...) <blockquote> <p>Wie man leicht sieht, ist die oben erwähnte Summe der Abstände gleich 2⁠_a_.</p> </blockquote> <p>Das sieht man leicht bei _S_₂_F_₁ + _S_₂_F_₂.</p> <blockquote> <p>Der Abstand der Brennpunkte vom Mittelpunkt sei <em>e</em>. Nach Pythagoras gilt _a_² = _b_² + _e_². Damit lassen sich die Koordinaten der Brennpunkte _F_₁(<em>e</em>, 0) und <em>F_₂(−_e</em>, 0) aus den Abmessungen des Rechtecks berechnen.</p> </blockquote> <p>Dabei bin ich o.B.d.A. davon ausgegangen, dass das Rechteck breiter als hoch ist. Andernfalls liegen die Brennpunkte auf der <em>y</em>-Achse.</p> <p>LLAP</p> <div class="signature">-- <br> „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer) </div> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635598#m1635598 JürgenB 2015-03-27T10:25:12Z 2015-03-27T10:25:12Z Ovalenradius errechnen (Kompliziert zu erklären ...) <p>Hallo</p> <p>hier mal zwei Links zum Thema:</p> <p><a href="http://de.wikipedia.org/wiki/Ellipse#Ellipsengleichung_.28kartesische_Koordinaten.29" rel="nofollow noopener noreferrer">Elipsengleichung in Wikipedia</a></p> <p><a href="http://sebadorn.de/2012/01/02/herausfinden-ob-ein-punkt-in-einer-ellipse-liegt" rel="nofollow noopener noreferrer">Herausfinden, ob ein Punkt in einer Ellipse liegt</a></p> <p>Gruß Jürgen</p> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635596#m1635596 NeoGriever lygriever@aol.de 2015-03-27T09:51:53Z 2015-03-27T09:51:53Z Ovalenradius errechnen (Kompliziert zu erklären ...) <p>Ich glaube, ich stelle mal das Script, was ich gebastelt habe, hier rein.</p> <p><a href="http://pastebin.com/G0qhZ5rc" rel="nofollow noopener noreferrer">Source meines Sternengenerator-Scriptes</a></p> <p>Mein ziel ist: alles außerhalb der Ellipse einfach nicht zu zeichnen.</p> <p>Später sollen die Sterne auch zwischengespeichert werden, sodass ich mit den Positionen arbeiten kann.</p> <p>Leider verstehe ich von den Kram, welches du mir bisher geschickt hast, nicht wirklich viel und blicke wenig durch. Mir ist es leider nicht so möglich, das in PHP umzusetzen. (Wenn ichs dann aber hab, versteh ichs auch. Der sogenannte AHA-Effekt).</p> <p>Schau dir bitte mal das Script an und gib mir einfach mal ein Beispiel dafür, wenn es keine großen Umstände macht.</p> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635599#m1635599 JürgenB 2015-03-27T10:27:24Z 2015-03-27T10:27:24Z Ovalenradius errechnen (Kompliziert zu erklären ...) <p>Uups, an der falsche Stelle geantwortet, aber das lerne ich auch noch.</p> <p>Gruß Jürgen</p> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635601#m1635601 NeoGriever lygriever@aol.de 2015-03-27T10:44:44Z 2015-03-27T10:44:44Z Ovalenradius errechnen (Kompliziert zu erklären ...) <p>Danke :) GENAU so wollt ich das haben. Mit javascript und solch verständlichen formeln kann ich umgehen.</p> <p>Danke vielmals. Das hat somit mein Problem gelöst. :)</p> https://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635603#m1635603 NeoGriever lygriever@aol.de 2015-03-27T10:53:27Z 2015-03-27T11:33:07Z Ovalenradius errechnen (Kompliziert zu erklären ...) <pre><code class="block">$px = $stern[0]; $py = $stern[1]; $inside_ellipsoid = ((pow($px - $cx,2) / pow($rx,2)) + (pow($py - $cy,2) / pow($ry,2)) <= 1); </code></pre> <p>Dies ist der Part, welcher mir nun zurückgibt, ob der Punkt innerhalb oder außerhalb einer Ellipse liegt.</p> <p>$cx und $cy sind die Koordinaten des Zentrums. $rx und $ry sind die radien des ellipsoids.</p> <p>Und schon hab ichs :) Funktioniert prima.</p> <p>Hier ein paar Beispiele für die Ergebnisse (Ich habe noch ein "Padding"-Wert eingerechnet in $rx und $ry.)</p> <p><a href="http://u72.imgup.net/beispiel19e16.png" rel="nofollow noopener noreferrer">Beispiel 1</a> <a href="http://p66.imgup.net/beispiel23321.png" rel="nofollow noopener noreferrer">Beispiel 2</a></p> <p>Danke nochmals :)</p>