Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Views: 42
#Problem 6.5.2 #sources: http://doc.sagemath.org/pdf/en/reference/plot3d/plot3d.pdf, http://doc.sagemath.org/html/en/reference/plotting/sage/plot/point.html x=var('x') y=var('y') x=parametric_plot3d((x,y,4*x^2-x^4-y^2),(x,-2.2,2.2),(y,-2,2),color='green',adaptive=True, opacity=0.5) #plot(x) ############################################### #critical points are when (f_x,f_y) = (0,0) #critical points happen at y=0 and x= +/- sqrt(2) pt1=point((0,0,0),color='blue', size=10) pt2=point((sqrt(2),0,4),color='blue',size=10) pt3=point((-sqrt(2),0,4),color='blue',size=10) #plot(x+pt1+pt2+pt3) ############################################### #tangent planes: http://doc.sagemath.org/html/en/reference/plot3d/sage/plot/plot3d/plot3d.html; http://sagemath.wikispaces.com/plot3d; http://omega.albany.edu:8008/mat214dir/Sage/PointsLinesPlanesSage.pdf def f(x,y): return -4*x+2*y #equation of the plane ####tangent plane at the point (+/-sqrt(2),0,4)#### plane=plot3d(f, (-2.2,2.2), (-2,2), opacity=0.5) poin=point((-1,-1,2),color='red',size=10) #plot(x+plane+p) ############################################### ####fernet frame at the chosen point#### p=vector([-1,-1,2]) q1=vector([4,-2,1]) t=var('t') N=parametric_plot3d(p+t*q1, (t,0,0.5)) #normal vector to plane q2=vector([1.5,1,-4]) #arbitrary vector in the plane B1=parametric_plot3d(p+t*q2,(t,0,0.5), color='red') q3=vector([7,(17.5),7]) B2=parametric_plot3d(p+t*q3,(t,0,0.08),color='black') #cross product of normal and chosen vector #plot(x+poin+B1+B2+N+plane) ############################################### pr=vector([sqrt(2),0,4]) vec=vector([1,0,4*(1)^2-(1)^4-(0)^2]) v=parametric_plot3d(pr+t*vec,(t,0,1), color='blue') #vector starting from critical point (sqrt(2), 0, 4) going in the principal direction [1,0] pr1=vector([sqrt(2),0,4]) vec1=vector([2,0,4*(2)^2-(2)^4-(0)^2]) v1=parametric_plot3d(pr1+t*vec1,(t,0,1), color='red') #same as above with prinicpal direction scaled pr2=vector([sqrt(2),0,4]) vec2=vector([3,0,4*(3)^2-(3)^4-(0)^2]) v2=parametric_plot3d(pr2+t*vec2,(t,0,0.1)) #same as above wih prinicpal direction scaled again #k=plot3d((cos(t))^2*(16)+(sin(t))^2*2, (r,-1,1),(t,-4,4), color='purple', adaptive =True ) #Euler's curvature formula #plot(x+pt2+v+v1+v2) ############################################### #trying to parametrize surface in terms of one variable #X=parametric_plot3d((t,t,4*t^2-t^4-t^2),(t,-2.2,2.2),color='blue',adaptive=True, opacity=0.5) #results in just a curve ############################################### def principal_curve(x,y,v,h): def f(x,y): return 4*x^2-x^4-y^2 # V=f(sqrt(2),0) F=f(x,y) p=vector([x,y,F]) v1=v[0] v2=v[1] fv=f(v1,v2) Pv=vector([v1,v2,fv]) Nv=p+h*Pv pt=point((Nv[0],Nv[1],f(Nv[0],Nv[1])), color='red') #V=parametric_plot3d((p+t*Pv),(t,0,0.5), color='red') return pt Pv=vector([1,0]) PNT=principal_curve(sqrt(2),0,vec,0.25) PNT2=principal_curve(0,0,vec,0.25) PNT3=principal_curve(0.5,0,vec,0.25) PNT4=principal_curve(0.25,0,vec,0.25) PNT5=principal_curve(0,0,vec,0.25) PNT6=principal_curve(-0.5,0,vec,0.25) PNT7=principal_curve(-0.25,0,vec,0.25) PNT8=principal_curve(-1,0,vec,0.25) PNT9=principal_curve(-1.5,0,vec,0.25) PNT10=principal_curve(-1.25,0,vec,0.25) plot(x+pt2+PNT+PNT2+PNT3+PNT4+PNT+PNT6+PNT7+PNT8+PNT9+PNT10)
3D rendering not yet implemented