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

Harte Kugeln in Volumen verteilen

 

marvin.be
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 54
Anmeldedatum: 28.08.15
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 04.11.2015, 13:31     Titel: Harte Kugeln in Volumen verteilen
  Antworten mit Zitat      
Hallo Leute,

ich habe eine (wie ich finde) sehr knifflige Aufgabe zu einer recht einfachen Themenstellung. Ich habe ein gegebenes Volumen und möchte in dieses Volumen harte Kugeln verteilen.

Das Volumen ist geggeben durch die Matrizen X,Y,Z. Wobei X und Y Meshgrids sind und Z ist einfach das Höhenprofil dazu. Nun sollen in dieses Volumen harte Kugeln mit vorgegebenen Radius verteilt werden und zwar so, dass das Volumen möglichst gut ausgefüllt wird.

Kugeln berechnen lassen mit festem Radius ist noch recht einfach:
Code:

[x,y,z] = sphere();
r = 3.5;
surf( r*x, r*y, r*z )
 


Doch wie verteile ich die nun in meinem Volumen? Die Kugeln dürfen sich berühren und falls sie etwas über den Rand des Volumen hinausgehen, wäre das auch ok (0<x<r).

Das Volumen hat keine spezifische Geometrie und ersten Abschätzungen zufolge müssten am Ende zwischen 100 und 10.000 Kugeln verteilt werden, abhängig von der gewählten Figur.

Als einzigstes hilfreiches Thema habe ich das hier im Forum gefunden:
http://www.gomatlab.de/zufaellig-mi.....048,highlight,kugeln.html

Ich hoffe sehr mir kann dabei jemand weiterhelfen!

Gruß, Marvin
Private Nachricht senden Benutzer-Profile anzeigen


marvin.be
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 54
Anmeldedatum: 28.08.15
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 04.11.2015, 13:53     Titel:
  Antworten mit Zitat      
Ganz neue Idee!

Ich brauche das gar nicht so kompliziert zu machen. Gegeben sei nun ein Quader mit Kantenlängen X,Y,Z. In diesen Quader stecke ich nun dichtest gepackt die Kugeln rein. Jede Kugel hat eine Koordinate (x,y,z) für ihr Zentrum und liegt die Koordinate im Volumen, dann wird das gezählt, ansonsten nicht.

Doch wie verteile ich nun die harten Kugeln schnell und regelmäßig im Quader?


Edit:
Wähle bcp Kristallstruktur mit Kugelabstand A = 4R/sqrt(3). For-Schleifen helfen weiter.

Wie kann ich jetzt ein 3D logical erstellen das mir sagt ob die Koordinate im Volumen liegt oder nicht? Ich habe dabei an eine annonyme Funktiong gedacht wie

Code:

% X0, Y0, Z0 sind die Topologie Koordinaten meines Objektes
interp_M = @(xi,yi) interpn(X0, Y0, Z0, xi, yi, 'spline'); % oder 'linear', mal schauen
 


Aber wie übergebe ich interp_M nun meine anderen Koordinaten X,Y,Z und mache daraus ein logical?
Private Nachricht senden Benutzer-Profile anzeigen
 
marvin.be
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 54
Anmeldedatum: 28.08.15
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 04.11.2015, 15:07     Titel:
  Antworten mit Zitat      
Oh man, hab mir die Antwort ja selber schon fast gegeben Rolling Eyes Embarassed

Code:

% Koordinaten X,Y,Z
L =(interp_M(X,Y)>=Z); % true or false argument
 


Daraus lässt sich jetzt schnell eine Matrix basteln.
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.