3D-Äquivalent der Kurvenfunktion in R?

8

Die Funktion curve in R bietet eine einfache Möglichkeit zum Zeichnen einer Funktion. Zum Beispiel wird dies eine gerade Linie darstellen

%Vor%

Gibt es eine äquivalente Funktion in R, die eine Funktion mit zwei Argumenten (z. B. x und y ) und Bereichen für beide Variablen verwendet und ein 3D-Diagramm erzeugt?

Stellen Sie sich zum Beispiel vor, ich hätte die folgende Funktion

%Vor%

Gibt es einen Befehl ähnlich dem folgenden?

%Vor%     
Jeromy Anglim 09.08.2012, 02:25
quelle

3 Antworten

7

Die Funktion surface3d im Paket: rgl sieht wie eine gute Übereinstimmung aus. Es wäre sehr einfach, einen Wrapper zu erstellen, der deine Funktion übernimmt, einen xy-Satz von Vektoren mit seq() zu erstellen und diese Vektoren dann an outer mit deinem f2 als FUN-Argument zu übergeben und dann surface3d .

Es gibt auch ein persp3d , von dem die Autoren (Duncan Murdoch und vielleicht andere) sagen, dass es "höher level" ist und es scheint, dass standardmäßig Achsen hinzugefügt werden, die von surface3d nicht unterstützt werden.

%Vor%

Nun, da ich darüber nachdenke, hättet ihr etwas ähnliches mit persp() oder wireframe() machen können. Der "Trick" benutzt äußere (..., FUN = Spaß). Und wenn ich darüber nachdenke ... hängt die Fähigkeit, es mit outer zu verwenden, davon ab, dass es aus allen vektorisierten Operationen besteht. Wenn sie nicht vektorisiert wären, müssten wir mit Vectorize oder mapply umschreiben.

    
42- 09.08.2012, 02:33
quelle
2

Siehe curve3d() in package:emdbook , was ein Wrapper für wireframe() , persp3d() und mehr ist.

%Vor%     
Nate Pope 23.08.2013 16:35
quelle
1

Die Funktion persp3d() kann eine Funktion als Argument annehmen. Siehe ?persp3d.function .

Erlaubt das Zeichnen zweier Arten von Oberflächen: eine Funktion von x und y wie gewünscht und eine parametrische Oberfläche, wobei x , y und z Funktionen von zwei anderen sind Variablen.

Für Ihr Beispiel ist es so einfach wie

%Vor%

aber natürlich können Sie alle Arten von Frills hinzufügen, wie die Farbe abhängig von z zu haben, den Bereich von x und y ändern, etc.

    
user2554330 22.02.2016 19:06
quelle

Tags und Links