Matroids Matheplanet Forum Index
Moderiert von mire2
Mathematische Software & Apps » Matlab » Matlab/Octave 3d-Plot verbessern
Autor
Kein bestimmter Bereich J Matlab/Octave 3d-Plot verbessern
Delastelle
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 17.11.2006
Mitteilungen: 2430
  Themenstart: 2022-08-04

Hallo Leute! Ich wollte zeichnen: f = @(r,phi) (r^4/R^4*sin(4*phi)); mit R = 1, r zwischen 0 und 1, phi zwischen 0 und 2 Pi (Kreis). Es ist eine Lösung für ein Inneres Dirichlet Problem. Es sieht z.B. so aus: https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/15578_Dirichlet_Plot8ccc_o.png \sourceon Octave tic f = @(r,phi) (r^4/R^4*sin(4*phi)); R = 1; delta1 = 0.05; delta2 = 0.05; az = 0; merk = zeros(10000,3); for r = 0:delta1:1; for phi = 0:delta2:2*pi z = f(r,phi); az = az + 1; merk(az,1) = r*cos(phi); merk(az,2) = r*sin(phi); merk(az,3) = z; hold off end end az for i = 1:az h = plot3(merk(i,1),merk(i,2),merk(i,3),'o'); hold on end grid on xlabel("x-Achse"); ylabel("y-Achse"); zlabel("z-Achse"); view(35,35); toc \sourceoff Geht es noch besser in Matlab/Octave? Speziell mit mesh etc. habe ich es bisher nicht hinbekommen... Viele Grüße Ronald


   Profil
majoka
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 25.02.2014
Mitteilungen: 814
  Beitrag No.1, eingetragen 2022-08-08

Hast Du es mal mit dem Surf-Befehl versucht? - Zumindest in Matlab geht folgendes: \sourceon Matlab f = @(r,phi) (r^4/R^4*sin(4*phi)); R = 1; delta1 = 0.05; delta2 = 0.05; count_r = 0; count_phi = 0; nx = R/delta1+1; ny = ceil(2*pi/delta2)+1; Z = zeros(nx, ny); XX = zeros(nx, nx); YY = zeros(nx, nx); for r = 0:delta1:1; count_r = count_r + 1; for phi = 0:delta2:2*pi count_phi = count_phi + 1; Z(count_r, count_phi) = f(r,phi); XX(count_r, count_phi) = r*cos(phi); YY(count_r, count_phi) = r*sin(phi); end end figure(1) surf(XX, YY, Z) xlabel("x-Achse"); ylabel("y-Achse"); zlabel("z-Achse"); \sourceoff


   Profil
Delastelle
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 17.11.2006
Mitteilungen: 2430
  Beitrag No.2, vom Themenstarter, eingetragen 2022-08-08

Hallo majoka! Ich hatte mit surf versucht: \sourceon nameDerSprache % Dirichletproblem auf irregulärem Definitionsbereich (MP) tic f = @(r,phi) (r.^4/R.^4.*sin(4*phi)); R = 1; delta1 = 1/62; delta2 = 0.1; r = 0:delta1:1; phi = 0:delta2:2*pi; [XX,YY] = meshgrid(r.*cos(phi),r.*sin(phi)); % r,phi figure surf(XX,YY,f(XX,YY)); xlabel("x-Achse"); ylabel("y-Achse"); zlabel("z-Achse"); view(35,35); toc \sourceoff Dies führte aber nicht zum Ziel! Danke für die Hilfe! Das Bild aus Beitrag 1 sieht so aus: https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/15578_Dirichlet_Plot8MP_beschnitten.jpg Viele Grüße Ronald


   Profil
Delastelle
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 17.11.2006
Mitteilungen: 2430
  Beitrag No.3, vom Themenstarter, eingetragen 2022-08-08

Eine Frage ist noch aufgetaucht: der Code aus Nr.1 läuft gut und erzeugt das richtige Bild. Es muss nur bei mir erst noch R = 1 gesetzt werden, danach läuft das Programm. Beim Kopieren des Bildes in die Zwischenablage stürzt Octave bei mir aber ab (aktuell das Octave 4.4.1) - was könnte das sein? Immerhin braucht das Programm ca.1,3 Mio Bytes.


   Profil
majoka
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 25.02.2014
Mitteilungen: 814
  Beitrag No.4, eingetragen 2022-08-11

\quoteon(2022-08-08 21:40 - Delastelle in Beitrag No. 3) Eine Frage ist noch aufgetaucht: der Code aus Nr.1 läuft gut und erzeugt das richtige Bild. Es muss nur bei mir erst noch R = 1 gesetzt werden, danach läuft das Programm. Beim Kopieren des Bildes in die Zwischenablage stürzt Octave bei mir aber ab (aktuell das Octave 4.4.1) - was könnte das sein? Immerhin braucht das Programm ca.1,3 Mio Bytes. \quoteoff Ich nutze nur Matlab. Ich kann Dir daher leider nicht weiterhelfen.


   Profil
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 5000
  Beitrag No.5, eingetragen 2022-08-11

\quoteon(2022-08-08 21:40 - Delastelle in Beitrag No. 3) Beim Kopieren des Bildes in die Zwischenablage stürzt Octave bei mir aber ab (aktuell das Octave 4.4.1) - was könnte das sein? \quoteoff Die aktuelle Version ist 7.2.0. Vielleicht versuchst du es mal mit einem Update? --zippy PS Bei mir (Octave 7.2.0 unter Windows 11 21H2) lässt sich das Bild problemlos in die Zwischenablage kopieren.


   Profil
Delastelle
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 17.11.2006
Mitteilungen: 2430
  Beitrag No.6, vom Themenstarter, eingetragen 2022-08-11

Unter Octave 7.2.0 (32 Bit) konnte ich das Bild in die Zwischenablage kopieren und später mit IrfanView speichern.


   Profil
Finn0
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 30.06.2021
Mitteilungen: 74
  Beitrag No.7, eingetragen 2022-08-12

Letzte Woche hab ich ein wenig an meinem Online-Plotter weitergebastelt. Mit diesem lassen sich diese Graphen produzieren: Farbgradient, Zentralprojektion, Licht und Schatten, Farbgradient und Höhenlinien Als der Entwickler bin ich natürlich in der Lage, die Konfigurationsmöglichkeiten auszureizen. Mit etwas Tüftelei kommt so ein Ergebnis bei raus: https://matheplanet.com/matheplanet/nuke/html/uploads/b/54794_Graph-2022-08-12.jpg Keinesfalls perfekt, aber annehmbar. Ein wenig lässt sich noch verbessern. Irgendwann fehlen mir dann aber Z-Puffer, Path Tracer und Shader.


   Profil
Delastelle hat die Antworten auf ihre/seine Frage gesehen.
Delastelle hat selbst das Ok-Häkchen gesetzt.

Wechsel in ein anderes Forum:
 Suchen    
 
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]