示例#1
0
 def __init__(self, rx, ry, rz):
     myobject.__init__(self)
     ################################################################
     #parameter fuer die flaeche
     self.u_f, self.v_f = mgrid[-1:1:180j, -1:1:180j]
     #alle funktionen fuer die flaeche
     self.x = lambda u, v: rx*u
     self.y = lambda u, v: ry*u**2
     self.z = lambda u, v: rz*v
     ################################################################
     #x,y,z sind die Koordinaten im dreidimensionalem euklidischen Raum
     #ones_like = einfach die arraywerte in 1 umschreiben.
     #dxu,dxv sind die Werte der ersten Patielenableitung
     self.dxu = lambda u, v: rx*ones_like(u)
     #zeros_like = einfach die arraywerte in 0 umschreiben.
     self.dxv = lambda u, v: zeros_like(v)
     self.dyu = lambda u, v: ry*2*u
     self.dyv = lambda u, v: zeros_like(v)
     self.dzu = lambda u, v: zeros_like(u)
     self.dzv = lambda u, v: rz*ones_like(v)
     self.dxuu = lambda u, v: zeros_like(u)
     self.dxvu = lambda u, v: zeros_like(u)
     self.dxuv = lambda u, v: zeros_like(v)
     self.dxvv = lambda u, v: zeros_like(v)
     
     self.dyuu = lambda u, v: ry*2
     self.dyvu = lambda u, v: zeros_like(u)
     self.dyuv = lambda u, v: zeros_like(v)
     self.dyvv = lambda u, v: zeros_like(v)
     self.dzuu = lambda u, v: zeros_like(u)
     self.dzvu = lambda u, v: zeros_like(u)
     self.dzuv = lambda u, v: zeros_like(v)
     self.dzvv = lambda u, v: zeros_like(v)
示例#2
0
    def __init__(self, rx, ry, rz):
        myobject.__init__(self)
        ################################################################
        # parameter fuer die flaeche
        self.u_f, self.v_f = mgrid[0 : 2 * pi : 180j, 0:1:180j]
        # alle funktionen fuer die flaeche
        self.x = lambda u, v: rx * cos(u) * v
        self.y = lambda u, v: ry * sin(u) * v
        self.z = lambda u, v: rz * v
        # zeros_like = einfach die arraywerte in 0 umschreiben.
        # ones_like = einfach die arraywerte in 1 umschreiben.
        # dxu,dxv sind die Werte der ersten Patielenableitung
        self.dxu = lambda u, v: rx * (-sin(u)) * v
        self.dxv = lambda u, v: rx * cos(u)

        self.dyu = lambda u, v: ry * cos(u) * v
        self.dyv = lambda u, v: ry * sin(u)

        self.dzu = lambda u, v: zeros_like(u)
        self.dzv = lambda u, v: rz * ones_like(v)

        self.dxuu = lambda u, v: rx * (-cos(u)) * v
        self.dxvu = lambda u, v: rx * (-sin(u))
        self.dxuv = lambda u, v: rx * (-sin(u))
        self.dxvv = lambda u, v: zeros_like(v)

        self.dyuu = lambda u, v: ry * (-sin(u)) * v
        self.dyvu = lambda u, v: ry * cos(u)
        self.dyuv = lambda u, v: ry * cos(u)
        self.dyvv = lambda u, v: zeros_like(v)

        self.dzuu = lambda u, v: zeros_like(u)
        self.dzvu = lambda u, v: zeros_like(u)
        self.dzuv = lambda u, v: zeros_like(v)
        self.dzvv = lambda u, v: zeros_like(v)
示例#3
0
文件: Ellipsoid.py 项目: Hyso/adef
	def __init__(self,rx,ry,rz):
		myobject.__init__(self)
                #############################################################################
                #parameter fuer die flaeche
		self.u_f, self.v_f = mgrid[0:pi:180j,0:2*pi:180j]
                #alle funktionen fuer die flaeche
		self.x = lambda u,v: rx*cos(u)*sin(v)
		self.y = lambda u,v: ry*sin(u)*sin(v)
		self.z = lambda u,v: rz*cos(v)
## 		self.x_f_werte = x_f(myobj.u_f,myobj.v_f)
## 		self.y_f_werte = y_f(myobj.u_f,myobj.v_f)
## 		self.z_f_werte = z_f(self.u_f,myobj.v_f)
		#############################################################################
##                 #alle funktionen fuer die kurve und die dazugehoerigen funktionen
##                 self.u = lambda t,tckp : splev(t,tckp,0)[0]
##                 self.v = lambda t,tckp : splev(t,tckp,0)[1]
##                 #du,dv sind die ersten Ableitungen der Flaechenparameter.
##                 self.du = lambda t,tckp : splev(t,tckp,1)[0]
## 		self.dv = lambda t,tckp : splev(t,tckp,1)[1]
                #x,y,z sind die Koordinaten im dreidimensionalem euklidischen Raum
                #TODO: ueberlegung, ob ich die brauche oder x_f,y_f,z_f reichen
##                 self.x = lambda u,v: rx*cos(u)*sin(v)
##                 self.y = lambda u,v: ry*sin(u)*sin(v)
##                 self.z = lambda u,v: rz*cos(v)
                #zeros_like = einfach die arraywerte in 0 umschreiben.
                #ones_like = einfach die arraywerte in 1 umschreiben.
                #dxu,dxv sind die Werte der ersten Patielenableitung
                self.dxu = lambda u,v: rx*(-sin(u))*sin(v)
                self.dxv = lambda u,v: rx*cos(u)*cos(v)
                
                self.dyu = lambda u,v: ry*cos(u)*sin(v)
                self.dyv = lambda u,v: ry*sin(u)*cos(v)
                
                self.dzu = lambda u,v: zeros_like(u)
                self.dzv = lambda u,v: rz*(-sin(v))
                
                self.dxuu = lambda u,v: rx*(-cos(u))*sin(v)
                #TODO: hier schein ich ein fehler zu haben
                #ja war ein fehler, jetzt hab ich fuer die normalkruemmung -1 und 1 raus
##                 self.dxvu = lambda u,v: rx*cos(u)*(-sin(v))
##                 self.dxuv = lambda u,v: rx*(-sin(u))*cos(v)
                self.dxvu = lambda u,v: rx*(-sin(u))*cos(v)
                self.dxuv = lambda u,v: rx*(-sin(u))*cos(v)
                #TODO ende
                self.dxvv = lambda u,v: rx*cos(u)*(-sin(v))
                
                self.dyuu = lambda u,v: ry*(-sin(u))*sin(v)
                self.dyvu = lambda u,v: ry*cos(u)*cos(v)
                self.dyuv = lambda u,v: ry*cos(u)*cos(v)
                self.dyvv = lambda u,v: ry*sin(u)*(-sin(v))
                
                self.dzuu = lambda u,v: zeros_like(u)
                self.dzvu = lambda u,v: zeros_like(u)
                self.dzuv = lambda u,v: zeros_like(v)
                self.dzvv = lambda u,v: rz*(-cos(v))
示例#4
0
文件: Torus.py 项目: Hyso/adef
	def __init__(self,rx,ry,rz):
		myobject.__init__(self)
                #############################################################################
                #parameter fuer die flaeche
## 		u, v = mgrid[-pi:mypi:0.01, -pi:mypi:0.01]
## 		r1, r2 = 1, 0.3
		r1, r2 = 1, 0.3
		self.u_f, self.v_f = mgrid[0:2*pi:180j,0:2*pi:180j]
                #alle funktionen fuer die flaeche
		self.x = lambda u,v: rx*(r1+r2*cos(u))*sin(v)
		self.y = lambda u,v: ry*(r1+r2*cos(u))*cos(v)
		self.z = lambda u,v: rz*r2*sin(u)
		#############################################################################
                #zeros_like = einfach die arraywerte in 0 umschreiben.
                #ones_like = einfach die arraywerte in 1 umschreiben.
                #dxu,dxv sind die Werte der ersten Patielenableitung
                self.dxu = lambda u,v: rx*r2*(-sin(u))*sin(v)
                self.dxv = lambda u,v: rx*(r1+r2*cos(u))*cos(v)
                
                self.dyu = lambda u,v: ry*r2*(-sin(u))*cos(v)
                self.dyv = lambda u,v: ry*(r1+r2*cos(u))*(-sin(v))
                
                self.dzu = lambda u,v: rz*r2*cos(u)
                self.dzv = lambda u,v: zeros_like(v)
                
                self.dxuu = lambda u,v: rx*r2*(-cos(u))*sin(v)
                self.dxvu = lambda u,v: rx*r2*(-sin(u))*cos(v)
                self.dxuv = lambda u,v: rx*r2*(-sin(u))*cos(v)
                self.dxvv = lambda u,v: rx*(r1+r2*cos(u))*(-sin(v))
                
                self.dyuu = lambda u,v: ry*r2*(-cos(u))*cos(v)
                self.dyvu = lambda u,v: ry*r2*(-sin(u))*(-sin(v))
                self.dyuv = lambda u,v: ry*r2*(-sin(u))*(-sin(v))
                self.dyvv = lambda u,v: ry*(r1+r2*cos(u))*(-cos(v))
                
                self.dzuu = lambda u,v: rz*r2*(-sin(u))
                self.dzvu = lambda u,v: zeros_like(v)
                self.dzuv = lambda u,v: zeros_like(v)
                self.dzvv = lambda u,v: zeros_like(v)
示例#5
0
	def __init__(self,rx,ry,rz):
		myobject.__init__(self)
                #############################################################################
                #parameter fuer die flaeche
## 		self.u, self.v = mgrid[0:2*pi:180j,0:2*pi:180j]
## 		self.u, self.v = mgrid[-pi:pi:180j,-pi:pi:180j]
		self.u_f, self.v_f = mgrid[-1:1:180j,-1:1:180j]
                #alle funktionen fuer die flaeche
		self.x = lambda u,v: rx*u
		self.y = lambda u,v: ry*v
		self.z = lambda u,v: rz*(u**2-v**2)
		#############################################################################
                #zeros_like = einfach die arraywerte in 0 umschreiben.
                #ones_like = einfach die arraywerte in 1 umschreiben.
                #dxu,dxv sind die Werte der ersten Patielenableitung
                self.dxu = lambda u,v: rx*ones_like(u)
                self.dxv = lambda u,v: zeros_like(v)
                
                self.dyu = lambda u,v: zeros_like(u)
                self.dyv = lambda u,v: ry*ones_like(v)
                
                self.dzu = lambda u,v: rz*2*u
                self.dzv = lambda u,v: rz*(-2)*v
                
                self.dxuu = lambda u,v: zeros_like(u)
                self.dxvu = lambda u,v: zeros_like(u)
                self.dxuv = lambda u,v: zeros_like(v)
                self.dxvv = lambda u,v: zeros_like(v)
                
                self.dyuu = lambda u,v: zeros_like(u)
                self.dyvu = lambda u,v: zeros_like(u)
                self.dyuv = lambda u,v: zeros_like(v)
                self.dyvv = lambda u,v: zeros_like(v)
                
                self.dzuu = lambda u,v: rz*2
                self.dzvu = lambda u,v: zeros_like(u)
                self.dzuv = lambda u,v: zeros_like(v)
                self.dzvv = lambda u,v: rz*(-2)
示例#6
0
 def __init__(self, rx, ry, rz):
     myobject.__init__(self)
     ################################################################
     #parameter fuer die flaeche
     self.u_f, self.v_f = mgrid[0:2*pi:180j, 0:1:180j]
     #alle funktionen fuer die flaeche
     self.x = lambda u, v: rx*cos(u)*v
     self.y = lambda u, v: ry*sin(u)*v
     self.z = lambda u, v: rz*v**2
     ################################################################
     #x,y,z sind die Koordinaten im dreidimensionalem euklidischen Raum
     #TODO: ueberlegung, ob ich die brauche oder x_f,y_f,z_f reichen
     #zeros_like = einfach die arraywerte in 0 umschreiben.
     #ones_like = einfach die arraywerte in 1 umschreiben.
     #dxu,dxv sind die Werte der ersten Patielenableitung
     self.dxu = lambda u, v: rx*(-sin(u))*v
     self.dxv = lambda u, v: rx*cos(u)
     
     self.dyu = lambda u, v: ry*cos(u)*v
     self.dyv = lambda u, v: ry*sin(u)
     
     self.dzu = lambda u, v: zeros_like(u)
     self.dzv = lambda u, v: rz*2*v                
     
     self.dxuu = lambda u, v: rx*(-cos(u))*v
     self.dxvu = lambda u, v: rx*(-sin(u))
     self.dxuv = lambda u, v: rx*(-sin(u))
     self.dxvv = lambda u, v: zeros_like(v)
     
     self.dyuu = lambda u, v: ry*(-sin(u))*v
     self.dyvu = lambda u, v: ry*sin(u)
     self.dyuv = lambda u, v: ry*sin(u)
     self.dyvv = lambda u, v: zeros_like(v)
     
     self.dzuu = lambda u, v: zeros_like(u)
     self.dzvu = lambda u, v: zeros_like(u)
     self.dzuv = lambda u, v: zeros_like(v)
     self.dzvv = lambda u, v: rz*2*ones_like(v)