WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zufällig verteilte Punkte erstellen um spezifischen Punkt

 

_laura__
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 19.10.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.10.2016, 22:34     Titel: Zufällig verteilte Punkte erstellen um spezifischen Punkt
  Antworten mit Zitat      
Hallo,

ich möchte dreidimensionale Plotpunkte erstellen und um diese Punkte Körper zeichnen.

Grundsätzlich kann ich ja mit folgenden Befehlen derartige Körper erstellen

x =rand(20,1);
>> y=rand(20,1);
>> z=rand(20,1);
>> dt=DelaunayTri(x,y,z);
>> k=convexHull(dt);
>> [ch,v]=convexHull(dt);
>> trisurf(ch, dt.X(:,1),dt.X(:,2),dt.X(:,3), 'FaceColor', 'cyan')
>> hold on
>> plot3(x,y,z,'.r');
>> hold off
>> hold on
>> trisurf(ch, dt.X(:,1),dt.X(:,2),dt.X(:,3), 'FaceColor', 'cyan')
>> alpha(0.12)

-----------
........... wenn ich jetzt aber so eine convexHull um zufällig verteilte Punkte um einen bestimmten Punkt im Raum zeichnen will, sagen wir : x=1.4 ; y=1.5; z=1.9

....wie würde ich da vorgehen ?

Vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.10.2016, 12:25     Titel: Re: Zufällig verteilte Punkte erstellen um spezifischen Pun
  Antworten mit Zitat      
Hallo _laura__,

Zitat:
wenn ich jetzt aber so eine convexHull um zufällig verteilte Punkte um einen bestimmten Punkt im Raum zeichnen will, sagen wir : x=1.4 ; y=1.5; z=1.9

Das verstehe ich nicht. Welche zufälligen Punkte möchtest Du denn auswählen? Eigentlich liegen alle Punkt im Raum um einen beliebigen Punkt herum.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
_laura__
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 19.10.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2016, 19:22     Titel:
  Antworten mit Zitat      
Hallo Jan !
Danke für die Rückmeldung.

Na, wenn ich zum Beispiel zwei Punkte im Raum habe mit den Koordinaten

P1 P2
x1=1.4 x2=1.5
y1=1.2 y2=1.9
z1=1.9 z2=2.1

...und jetzt versuche um diese Punkte herum eine zufällig erstellte Punktewolke zu generieren (vielleicht in Form einer Spähre im Abstand von 0.5 (in x y z Richtung)...

Wie könnte man das machen ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.10.2016, 10:01     Titel:
  Antworten mit Zitat      
Hallo _laura__,

Du möchtest also eine Menge an Punkten erzeugen, die zufällig auf einer Kugel mit Radius 0.5 verteilt sind. Diese Kugel soll um zwei (!) Punkte herum liegen. Es gibt unendlich viele Möglichkeiten, diese Kugel zu platzieren. Bei einer Kugel um einen Punkt wäre ich mal davon ausgegangen, dass dieser Punkt der Mittelpunkt ist. Aber wo soll der Kugel-Mittelpunkt genau liegen, wenn es um zwei Punkte geht?

Sollen die Punkte gleichverteilt sein auf der Kugel?
Code:
x = rand(100, 3);
len = sum(x .^ 2, 2);
p = bsxfun(@rdivide, x, len) * radius;

Jetzt kannst Du noch mit bsxfun(@plus, p, midpoint); die Punkte so verschieben, dass der Mittelpunkt an der gewünschten Stelle liegt.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
_laura__
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 19.10.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.10.2016, 17:04     Titel:
  Antworten mit Zitat      
Vielen Dank für deine Hilfe!

(meine erste Antwort ist offenbar nicht abgeschickt worden)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.