|
Autor |
mit inpolygon überprüfen ob ein zufälliger Punkt in Fläche liegt |
|
Tidus2k6
Wenig Aktiv  Dabei seit: 11.11.2011 Mitteilungen: 241
 | Themenstart: 2019-04-28
|
Hallo!
Ich habe ein Problem bei der Lösung eines Problems.
Hintergrund:
Ich habe ein Dreieck gegeben. In diesem Dreieck soll ein zufälliger Punkt generiert werden.
Mein Vorgehen:
Ich habe die Punktauswahl etwas erweitert. Er soll aus dem Umschließenden Quadrat einen zufälligen Punkt generieren. Dann möchte ich mit "inpolygon" überprüfen ob dieser Punkt in der Fläche liegt "mit dem statement inpolygon(...) == 1". Falls der Punkt nicht drine liegen sollte, soll er den Befehl weiter ausführen, bis dieser Punkt in der Fläche liegt.
Allerdings schaffe ich es nicht sorecht eine gut funktionierende Lösung zu finden (ohne Tool).
xv und xy sind korrekt. Es geht rein um die Abfrage und der weiterführung der Generierung einem in der Fläche liegenden Punkt.
Mein Vorgehen ist bisher dieser:
\sourceon Matlab
if inpolygon(xq,yq,xv,yv) = = 0
i=1;
while i= =0
xq = E1(1) + (E2(1)-E1(1))*rand(1)
yq = E1(2) + (E3(2)-E1(2))*rand(1);
if inpolygon(xq,yq,xv,yv) = = 1
i=0;
end
end
end
\sourceoff
|
Profil
|
Tidus2k6
Wenig Aktiv  Dabei seit: 11.11.2011 Mitteilungen: 241
 | Beitrag No.1, vom Themenstarter, eingetragen 2019-04-28
|
Habs bereits gelöst.
Lösung:
\sourceon Matlab
if inpolygon(xq,yq,xv,yv) == 0
while inpolygon(xq,yq,xv,yv) < 1
xq = E1(1) + (E2(1)-E1(1))*rand(1);
yq = E1(2) + (E3(2)-E1(2))*rand(1);
inpolygon(xq,yq,xv,yv)
end
end
\sourceoff
|
Profil
|
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|