Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Get a 3d plot with points (no surface) from a parametric_plot3d?

I would like to plot only points in a defined resolution, which I get from a parametric_plot3d().

Here is my Sage code:

var('u,v')
a(u,v)=-7*sin(((u-100)/(100))*pi)^2+0.2*sin(((3*u-300)/(10))*pi)
b(u,v)=-8*cos(((u-100)/(100))*pi)+0.2*cos(((3*u-300)/(10))*pi)
c(u,v)=-12*cos(((u-100)/(100))*pi)+15*sin(((v-20)/(40))*pi)
def x(u,v):
    if u < 100:
        return 7*sin((u/100)*pi)^2+0.15*sin((3*u/10)*pi)
    else:
        return a(u,v)
def y(u,v):
    if u < 100:
        return 8*cos((u/100)*pi)+0.15*cos((3*u/10)*pi)
    else:
        return b(u,v)
def z(u,v):
    if u < 100:
        return 12*cos((u/100)*pi)+15*sin(((v-20)/40)*pi)
    else:
        return c(u,v)
p = parametric_plot3d([x,y,z], (u, 0, 200), (v, 0, 40), frame=False)

I'm looking for a result, which is similar to: image description

How can I achieve this?

Get a 3d plot with points (no surface) from a parametric_plot3d?

I would like to plot only points in a defined resolution, which I get from a parametric_plot3d().

Here is my Sage code:

var('u,v')
a(u,v)=-7*sin(((u-100)/(100))*pi)^2+0.2*sin(((3*u-300)/(10))*pi)
b(u,v)=-8*cos(((u-100)/(100))*pi)+0.2*cos(((3*u-300)/(10))*pi)
c(u,v)=-12*cos(((u-100)/(100))*pi)+15*sin(((v-20)/(40))*pi)
def x(u,v):
    if u < 100:
        return 7*sin((u/100)*pi)^2+0.15*sin((3*u/10)*pi)
    else:
        return a(u,v)
def y(u,v):
    if u < 100:
        return 8*cos((u/100)*pi)+0.15*cos((3*u/10)*pi)
    else:
        return b(u,v)
def z(u,v):
    if u < 100:
        return 12*cos((u/100)*pi)+15*sin(((v-20)/40)*pi)
    else:
        return c(u,v)
p = parametric_plot3d([x,y,z], (u, 0, 200), (v, 0, 40), frame=False)

I'm looking for a result, which is similar to: image description So I don't need a real surface, only the points.

How can I achieve this?

click to hide/show revision 3
retagged

Get a 3d plot with points (no surface) from a parametric_plot3d?

I would like to plot only points in a defined resolution, which I get from a parametric_plot3d().

Here is my Sage code:

var('u,v')
a(u,v)=-7*sin(((u-100)/(100))*pi)^2+0.2*sin(((3*u-300)/(10))*pi)
b(u,v)=-8*cos(((u-100)/(100))*pi)+0.2*cos(((3*u-300)/(10))*pi)
c(u,v)=-12*cos(((u-100)/(100))*pi)+15*sin(((v-20)/(40))*pi)
def x(u,v):
    if u < 100:
        return 7*sin((u/100)*pi)^2+0.15*sin((3*u/10)*pi)
    else:
        return a(u,v)
def y(u,v):
    if u < 100:
        return 8*cos((u/100)*pi)+0.15*cos((3*u/10)*pi)
    else:
        return b(u,v)
def z(u,v):
    if u < 100:
        return 12*cos((u/100)*pi)+15*sin(((v-20)/40)*pi)
    else:
        return c(u,v)
p = parametric_plot3d([x,y,z], (u, 0, 200), (v, 0, 40), frame=False)

I'm looking for a result, which is similar to: image description So I don't need a real surface, only the points.

How can I achieve this?