def _point(self, u, v): c = len(u) points = np.empty((c, 3)) nv = nsin(v) points[:, 0] = self.a * ncos(u) * nv + self.center[0] points[:, 1] = self.b * nsin(u) * nv + self.center[1] points[:, 2] = self.c * ncos(v) + self.center[2] # if self.perturbfactor != 1: points = points * (1 + np.random.random( (c, 3))) * self.perturbfactor return points
def _creer_figure(self): if not self._representation: self._representation = [self.rendu.ligne(), self.rendu.ligne(), self.rendu.codage()] # 2 lignes pour afficher l'arc lui-même for plot in self._representation[1:]: plot.set_visible(False) x, y = self._Arc_generique__centre.coordonnees r = self.rayon niveau, couleur, style, epaisseur = self.style(('niveau', 'couleur', 'style', 'epaisseur')) for i, t in enumerate(self._t()): plot = self._representation[i] plot.set_data(x + r*ncos(t), y + r*nsin(t)) plot.set(color=couleur, linestyle=style, linewidth=epaisseur, zorder=niveau, visible=True) # Gestion du codage des arcs de cercle (utilisé pour indiquer les arcs de cercles de même longeur) if self.style("codage"): a, b = self._intervalle() c = .5*(a + b) x0 = x + r*cos(c) y0 = y + r*sin(c) self._representation[2].set(visible=True, style=self.style('codage'), position=(x0, y0), direction=(y0 - y, x - x0), # vecteur orthogonal au rayon taille=param.codage["taille"], angle=param.codage["angle"], color=couleur, linewidth=epaisseur, zorder=niveau + 0.01, )
def _espace_vital(self): x0, y0 = self.__centre.coordonnees a, b = self._intervalle() t = arange(a, b, .003) r = self.rayon u = x0 + r * ncos(t) v = y0 + r * nsin(t) return min(u), max(u), min(v), max(v)
def _espace_vital(self): x0, y0 = self.__centre.coordonnees a, b = self._intervalle() t = arange(a, b, .003) r = self.rayon u = x0 + r*ncos(t) v = y0 + r*nsin(t) return min(u), max(u), min(v), max(v)
def _creer_figure(self): if not self._representation: self._representation = [self.rendu.ligne()] plot = self._representation[0] x, y = self.__centre.coordonnees r = self.rayon t = self._t() plot.set_data(x + r*ncos(t), y + r*nsin(t)) plot.set(color=self.style("couleur"), linestyle = self.style("style"), linewidth=self.style("epaisseur")) plot.zorder = self.style("niveau")
def _creer_figure(self): if not self._representation: self._representation = [self.rendu.ligne()] plot = self._representation[0] x, y = self.__centre.coordonnees r = self.rayon t = self._t() plot.set_data(x + r * ncos(t), y + r * nsin(t)) plot.set(color=self.style("couleur"), linestyle=self.style("style"), linewidth=self.style("epaisseur")) plot.zorder = self.style("niveau")
def _creer_figure(self): if not self._representation: self._representation = [self.rendu.polygone()] fill = self._representation[0] x, y = self._Cercle_generique__centre.coordonnees r = self.rayon t = fullrange(0, 2*pi , self.canvas.pas()) fill.set(xy = zip(x + r*ncos(t), y + r*nsin(t)), alpha = self.style("alpha"), color = self.style("couleur"), linestyle = FILL_STYLES.get(self.style("style"), "solid"), linewidth = self.style("epaisseur"), zorder = self.style("niveau"))
def _creer_figure(self): if not self._representation: self._representation = [self.rendu.polygone()] fill = self._representation[0] x, y = self._Cercle_generique__centre.coordonnees r = self.rayon t = fullrange(0, 2 * pi, self.__canvas__.pas()) fill.xy = zip(x + r * ncos(t), y + r * nsin(t)) fill._alpha = self.style("alpha") fill._color = self.style("couleur") fill._linestyle = FILL_STYLES.get(self.style("style"), "solid") fill._linewidth = self.style("epaisseur") fill.zorder = self.style("niveau")
def _creer_figure(self): if not self._representation: self._representation = [ self.rendu.ligne(), self.rendu.ligne(), self.rendu.codage() ] # 2 lignes pour afficher l'arc lui-même for plot in self._representation[1:]: plot.set_visible(False) x, y = self._Arc_generique__centre.coordonnees r = self.rayon niveau, couleur, style, epaisseur = self.style( ('niveau', 'couleur', 'style', 'epaisseur')) for i, t in enumerate(self._t()): plot = self._representation[i] plot.set_data(x + r * ncos(t), y + r * nsin(t)) plot.set(color=couleur, linestyle=style, linewidth=epaisseur, zorder=niveau, visible=True) # Gestion du codage des arcs de cercle (utilisé pour indiquer les arcs de cercles de même longeur) if self.style("codage"): a, b = self._intervalle() c = .5 * (a + b) x0 = x + r * cos(c) y0 = y + r * sin(c) self._representation[2].set( visible=True, style=self.style('codage'), position=(x0, y0), direction=(y0 - y, x - x0), # vecteur orthogonal au rayon taille=param.codage["taille"], angle=param.codage["angle"], color=couleur, linewidth=epaisseur, zorder=niveau + 0.01, )
def A04B_tf(): s44B_tf= Matrix([[ncos(np.pi/4),-nsin(np.pi/4),0,0], [nsin(np.pi/4),ncos(np.pi/4),0,0], [0,0,1,0.10688], [0,0,0,1]]) tf = A04_tf()*s44B_tf return tf
def A07_tf(): q7 = symbols('q7') A67=Matrix([[cos(q7),-sin(q7),0,l5*nsin(theta2)], [0,0,1,l5*ncos(theta2)], [-sin(q7),-cos(q7),0,0], [0,0,0,1]]) tf =A06_tf()* A67 return tf
def A05_tf(): q5 = symbols('q5') A45=Matrix([[cos(q5),-sin(q5),0,l4*nsin(theta1)], [0,0,-1,-l4*ncos(theta1)], [sin(q5),cos(q5),0,0], [0,0,0,1]]) tf =A04_tf()*A45 return tf