R: Tracciare una superficie 3D da x, y, z

Immagina di avere una matrice a 3 colonne
x, y, z dove z è una funzione di x e y.

So come tracciare un “diagramma a dispersione” di questi punti con plot3d(x,y,z)

Ma se voglio una superficie, invece, devo usare altri comandi come surface3d Il problema è che non accetta gli stessi input di plot3d sembra che abbia bisogno di una matrice con

 (nº elements of z) = (n of elements of x) * (n of elements of x) 

Come posso ottenere questa matrice? Ho provato con il comando interp, come faccio quando devo usare i grafici del profilo.

Come posso tracciare una superficie direttamente da x, y, z senza calcolare questa matrice? Se avessi troppi punti questa matrice sarebbe troppo grande.

Saluti