DMUG-Archiv 2011

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Spiral Meshfunction auf ListPlot3D

Hallo Stefan,

Um auch hier das Ende der Gitterline n zum Anfang der Gitterlinie n + 1
zu machen, müsste man eine andere Parametrisierung als die kartesische
aufstellen.

Mit anderen Worten, die Parametrisierung muss periodische Funktionen in
den Parametern enthalten.

Was Sie im Grunde suchen, ist die Lösung einer Gleichung auf
den Werten der Funktion (der Fläche z = f[x, y]).

Es ist leicht, eine Spirale anzubringen, man geht wie auf einer
Serpentine herauf, die nahezu senkrecht zum Gradienten verläuft;
das \[alpha] braucht man, um die Fläche nicht zu verlassen:

In[2]:= Clear[f, f1, f2];
f[x_, y_] := (x^2 + 3 y^2) Exp[1 - x^2 - y^2];
f1[x_, y_] :=
  2 E^(1 - x^2 - y^2) x - 2 E^(1 - x^2 - y^2) x (x^2 + 3 y^2);
f2[x_, y_] :=
  6 E^(1 - x^2 - y^2) y - 2 E^(1 - x^2 - y^2) y (x^2 + 3 y^2);

In[95]:= Show[{Plot3D[f[x, y], {x, -\[Pi], \[Pi]}, {y, -\[Pi], \[Pi]},
   Mesh -> None],
  Graphics3D[
   Line[With[{\[Phi] = \[Pi]/2. - \[Pi]/20., \[Alpha] = 0.04},
     FixedPointList[{#[[
          1]] + \[Alpha] (Cos[\[Phi]] f1[#[[1]], #[[2]]] -
            Sin[\[Phi]] f2[#[[1]], #[[2]]]), #[[
          2]] + \[Alpha] (Sin[\[Phi]] f1[#[[1]], #[[2]]] +
            Cos[\[Phi]] f2[#[[1]], #[[2]]]),
        f[#[[1]] + \[Alpha] (Cos[\[Phi]] f1[#[[1]], #[[2]]] -
             Sin[\[Phi]] f2[#[[1]], #[[2]]]), #[[
           2]] + \[Alpha] (Sin[\[Phi]] f1[#[[1]], #[[2]]] +
             Cos[\[Phi]] f2[#[[1]], #[[2]]])]} &, {-2., -2.,
       f[-2., -2.]},
      SameTest -> (Chop[Last[#1] - Last[#2], 10^(-5)] == 0 &)]
     ]]]}, ViewPoint -> {1, 1/3, 3}]

Gruss
Udo.

Attachment: spirale.jpeg
Description: JPEG image

Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html