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

spinnennetz in 3D

 

hajo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2013, 13:52     Titel: spinnennetz in 3D
  Antworten mit Zitat      
Hallo,
ich experimentiere gerade etwas mit matlab um meine skills zu verbessern.
dabei bin ich auf ein kleines spieler aus kindertagen gestoßen:
Code:

x = [1 0];
y = [0 200];
limit = 200;
linew = 0.00001;
colormap(gca, 'Jet')

figure(1);
clf
hold on
i = 0;
while (i<limit)
    h1 = plot(x,y);
    h2 = plot(-x,y);
    h3 = plot(x,-y);
    h4 = plot(-x,-y);
    x = x + [1 0];
    y = y - [0 1];
    i = i + 1;
    set([h1 h2 h3 h4], 'LineWidth', linew, 'Color', [i/limit 0 1-i/limit])
   
end
% set(gca, 'Xtick', [], 'Ytick', [])


axis off
line(x, y, 'LineWidth', linew)
line(-x, -y, 'LineWidth', linew)
line(y, x, 'LineWidth', linew)
line(-y, -x, 'LineWidth', linew)
rotate3d on

 


das sieht ja ganz hübsch aus. speziell wenn man es als vektorgrafik speichert... Smile

nun möchte ich aber die welt der 3D-plot betreten und ich habe eigentlich keine ahnung wie das gehen soll.
wie kann ich das oben erzeugte "bild" in 3D darstellen?
über tipps würde ich mich sehr freuen!


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.01.2013, 02:00     Titel:
  Antworten mit Zitat      
Hallo,

wie soll die 3D Grafik aussehen? Was soll auf welche Achse?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Bluesmaster
Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 25.01.2013, 13:47     Titel:
  Antworten mit Zitat      
willst du wissen welchen Befehl du brauchst?

Code:



Oder wie die richtige Logik ist?
(Daran bin ich gerade verzweifelt, weil es immer seltsam
verzerrt war egal wie ich z definiert hatte)

Gruß

Blues
Private Nachricht senden Benutzer-Profile anzeigen
 
Hajo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2013, 14:15     Titel:
  Antworten mit Zitat      
hmm. im endeffekt soll das "spinnennetz" zwischen allen drei achsen aufgespannt sein und nicht, wie bisher, nur zwischen zweien.
und dieses muster dann auf alle 8 quadranten gezogen ergibt das wohl eine art "kristall" oder "diamant"...

ich glaube allerdings, dass es einfach wäre, wenn die obere "grafik" einfach um die y-achse um 360° rotieren lässt....

verständlich?
 
Hajo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2013, 14:17     Titel:
  Antworten mit Zitat      
Bluesmaster hat Folgendes geschrieben:
willst du wissen welchen Befehl du brauchst?

Code:



Oder wie die richtige Logik ist?
(Daran bin ich gerade verzweifelt, weil es immer seltsam
verzerrt war egal wie ich z definiert hatte)

Gruß

Blues


vor diesem problem stand ich auch schon. wenn man es mit plot3 versucht, dann ist die lage der einzelnen geraden ein wirkliches problem... ich komm nicht drauf, wie das laufen sollte...

oder geht das auf diese weise überhaupt nicht?


eine "schummelversion" wäre nun, das muster um die y-achse zu rotieren. wie das gehen soll, weiß ich aber auch nicht.
 
Bluesmaster
Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 25.01.2013, 15:38     Titel:
  Antworten mit Zitat      
ich denke, das Problem ist hochgradig nichttrivial.
Schon das Spinnennetz war *bei allem Respekt* in gewisser Weise
ein Glücksgriff.

Das Problem ist stark verwandt mit Fraktalen:

http://de.wikipedia.org/wiki/Fraktal

wie dem Mandelbrotbaum oder dem Sirpinsky-Teppich
also kleinste Anweisungen die in Wiederholung ein makroskopisches Objekt ergeben das man der Anweisung nicht ansieht (darauf beruht übrigens zum Teil auch die DNA)

Schon kleine Änderungen verändern das Ergebnis dramatisch. Wenn du den Algorithmus findest, der aus einer Linie ein 3D-Spinnennetz macht, dann zieh ich wirklich den Hut vor dir!

Gruß

Blues
Private Nachricht senden Benutzer-Profile anzeigen
 
Hajo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2013, 15:49     Titel:
  Antworten mit Zitat      
Bluesmaster hat Folgendes geschrieben:
ich denke, das Problem ist hochgradig nichttrivial.
Schon das Spinnennetz war *bei allem Respekt* in gewisser Weise
ein Glücksgriff.

Das Problem ist stark verwandt mit Fraktalen:

http://de.wikipedia.org/wiki/Fraktal

wie dem Mandelbrotbaum oder dem Sirpinsky-Teppich
also kleinste Anweisungen die in Wiederholung ein makroskopisches Objekt ergeben das man der Anweisung nicht ansieht (darauf beruht übrigens zum Teil auch die DNA)

Schon kleine Änderungen verändern das Ergebnis dramatisch. Wenn du den Algorithmus findest, der aus einer Linie ein 3D-Spinnennetz macht, dann zieh ich wirklich den Hut vor dir!

Gruß

Blues


bei allem Respekt: Nein, dAS Spinnennetz war bei weitem kein Glücksgriff!

Das Problem mit 3D sehe ich allerdings auch. Wie ich schon weiter oben erwähnte, wäre die einfachE Lösung eine Rotation um y.
Das ist meiner Meinung nach schummeln. Aber wenn es anders nicht zu machen ist.

HIRNEN!!! Smile
 
Bluesmaster
Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 25.01.2013, 16:07     Titel:
  Antworten mit Zitat      
Wenn du wirklich erst das Spinnennetz vor Augen hattest,
und dann erst den Algorithmus geschrieben hast, dann
ziehe ich schon jetzt meinen Hut vor dir Smile


Für 3D fält mir nichts ein.
Höchstens es irgendwie in Ebenen zerlegen und die
langsam übereinander stapeln, das wäre aber im Prinzip
auch geschummelt.

Wie gesagt alles mit einem Faden ist Fraktalproblematik,
vielleicht findest du ja in dem Artikel eine Inspiration

Gruß

Blues
Private Nachricht senden Benutzer-Profile anzeigen
 
Hajo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2013, 11:25     Titel:
  Antworten mit Zitat      
wie müsste denn eine Rotation der Funktion um die y-Achse aussehen?
 
Bluesmaster
Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 29.01.2013, 09:41     Titel:
  Antworten mit Zitat      
Naja, also wie gesagt, wenn es eine reine Drehung sein soll, ohne dass der Faden durchgängig ist, dann ist es eine simple Koordinatentransformation.


Du behälst den selben Algorithmus, machst dann eine
Koordinatentransformation von x , y , z(=0) ---> u , v , w (=0)
und plottest dann u , v , w

entweder händisch, indem du mit einer Rotationsmatrix multiplizierst und
dann neu plottest

http://de.wikipedia.org/wiki/Koordinatentransformation

oder, du plottest mehrfach gleich und steckst den (handel von) Plot
in eine sogenannte
Code:
hgtransform
also eine Transformationsgrupee die sich um sowas kümmert.
Die musst du mit einer Rotationsmatrix bestücken die du leicht mit
Code:
makehgtransform
besorgen kannst

Gruß

Blues
Private Nachricht senden Benutzer-Profile anzeigen
 
Hajo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.01.2013, 10:31     Titel:
  Antworten mit Zitat      
Bluesmaster hat Folgendes geschrieben:
Naja, also wie gesagt, wenn es eine reine Drehung sein soll, ohne dass der Faden durchgängig ist, dann ist es eine simple Koordinatentransformation.


Du behälst den selben Algorithmus, machst dann eine
Koordinatentransformation von x , y , z(=0) ---> u , v , w (=0)
und plottest dann u , v , w

entweder händisch, indem du mit einer Rotationsmatrix multiplizierst und
dann neu plottest

http://de.wikipedia.org/wiki/Koordinatentransformation

oder, du plottest mehrfach gleich und steckst den (handel von) Plot
in eine sogenannte
Code:
hgtransform
also eine Transformationsgrupee die sich um sowas kümmert.
Die musst du mit einer Rotationsmatrix bestücken die du leicht mit
Code:
makehgtransform
besorgen kannst

Gruß

Blues


danke! bei gelegenheit werde ich es ausprobieren!
 
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.