Modellierung eines Asteroiden mit Matplotlib mit Hilfe von Surface und Wireframe

8

Ich versuche, einen Asteroiden mit plot_surface und plot_wireframe zu modellieren. Ich habe x y und z Werte für die Punkte auf der Oberfläche des Asteroiden. Das Drahtmodell ist genau auf die Form des Asteroiden abgestimmt, aber das Oberflächendiagramm passt nicht zum Drahtmodell. Wie kann ich das Oberflächendiagramm an das Drahtmodell anpassen oder wie kann ich das Drahtmodell verwenden, um ein 3D-Körpermodell zu erhalten? Hier ist mein Code für das Modell:

%Vor%

Die Daten haben dieses Format, obwohl in der Originaldatei viel mehr Zeilen enthalten sind:

%Vor%

Ich hoffe, du kannst helfen

    
user1857194 27.11.2012, 16:47
quelle

1 Antwort

2

Könnten Sie ein Bild von dem machen, was passiert? Ich nehme an, dass Sie ein Bild bekommen, bei dem die Oberfläche des Asteroiden über den ganzen Ort zu springen scheint. Ist das korrekt? Wenn dies der Fall ist, könnte der Plotter die Reihenfolge der Punkte nicht kennen.

Wenn wir eine Menge von Punkten haben, die alle Punkte eines Einheitskreises enthalten, dann würden wir eine Zeichnung dieser Punkte erwarten, um einen Einheitskreis zu erzeugen. Wenn Sie jedoch entschieden haben, jeden Punkt mit zwei anderen Punkten zu verbinden, würde er nicht unbedingt wie ein Kreis aussehen. Wenn Sie (aus irgendeinem Grund) einen Punkt mit einem anderen Punkt auf der anderen Seite des Kreises verbunden haben und dies so lange gemacht haben, bis jeder Punkt mit zwei anderen Punkten verbunden war, kann er oder sie nicht wie ein Kreis aussehen, da jeder Punkt nicht ist notwendigerweise mit den benachbarten Punkten verbunden.

Das Gleiche gilt für Ihren Asteroiden. Sie müssen sich ein Schema ausdenken, damit der Plotter weiß, wie er die Punkte verbindet, sonst haben Sie das gleiche Problem.

Das folgende Beispiel eines Kreises sollte meinen Punkt verdeutlichen:

%Vor%     
HardcoreBro 30.11.2012 19:01
quelle