tag:forum.selfhtml.org,2005:/selfOvalenradius errechnen (Kompliziert zu erklären ...) – SELFHTML-Forum2015-03-27T10:53:27Zhttps://forum.selfhtml.org/self/2015/mar/26/ovalenradius-errechnen-kompliziert-zu-erklaeren-punkt-punkt-punkt/1635534#m1635534NeoGrieverlygriever@aol.de2015-03-26T17:46:48Z2015-03-26T17:46:48ZOvalenradius 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#m1635550ChrisB2015-03-26T19:06:58Z2015-03-26T19:06:58ZOvalenradius 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#m1635565Tabellenkalk2015-03-26T21:58:11Z2015-03-26T21:58:11ZOvalenradius 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#m1635566Gunnar Bittersmannselfhtml@bittersmann.dehttp://bittersmann.de2015-03-26T22:04:37Z2015-03-26T22:04:37ZOvalenradius 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#m1635551NeoGrieverlygriever@aol.de2015-03-26T19:10:46Z2015-03-26T19:10:46ZOvalenradius 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#m1635568ChrisB2015-03-26T22:18:28Z2015-03-26T22:18:28ZOvalenradius 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#m1635586Gunnar Bittersmannselfhtml@bittersmann.dehttp://bittersmann.de2015-03-27T07:48:22Z2015-03-27T07:48:22ZOvalenradius 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#m1635598JürgenB2015-03-27T10:25:12Z2015-03-27T10:25:12ZOvalenradius 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#m1635596NeoGrieverlygriever@aol.de2015-03-27T09:51:53Z2015-03-27T09:51:53ZOvalenradius 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#m1635599JürgenB2015-03-27T10:27:24Z2015-03-27T10:27:24ZOvalenradius 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#m1635601NeoGrieverlygriever@aol.de2015-03-27T10:44:44Z2015-03-27T10:44:44ZOvalenradius 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#m1635603NeoGrieverlygriever@aol.de2015-03-27T10:53:27Z2015-03-27T11:33:07ZOvalenradius 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>