martes, 23 de enero de 2018

1.1 Importancia de la programación en lenguaje ensamblador

Definición: El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de microprocesador.

La importancia del lenguaje ensamblador es principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en el se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro punto sería que los programas en ensamblador ocupan menos espacio en memoria

miércoles, 8 de noviembre de 2017

Graficas en 3D

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax1 = fig.add_subplot(111, projection='3d')

xpos = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
ypos = [2,3,4,5,1,6,2,1,7,2,3,5,1,3,2]
num_elements = len(xpos)
zpos = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
dx = np.ones(15)
dy = np.ones(15)
dz = [71,22,36,47,25,69,75,48,99,200,11,12,33,14,85]

ax1.bar3d(xpos, ypos, zpos, dx, dy, dz, color='gold')
plt.show()

martes, 7 de noviembre de 2017

Cubos y Triangulo en 3D

TRIANGULO


import pygame
from pygame.locals import *

from OpenGL.GL import *
from OpenGL.GLU import *

verticies = (
    (1, -1, -1),
    (1, 1, -1),
    (-1, 1, -1),
    (-1, -1, -1),
    (0,0,1)
    )
edges = (
    (0,1),
    (0,3),
    (0,4),
    (2,1),
    (2,3),
    (4,2),
    (4,3),
    (4,1)
    )

def Cube():
    glBegin(GL_LINES)
    for edge in edges:
        for vertex in edge:
            glVertex3fv(verticies[vertex])
    glEnd()


def main():
    pygame.init()
    display = (800,600)
    pygame.display.set_mode(display, DOUBLEBUF|OPENGL)

    gluPerspective(45, (display[0]/display[1]), 0.1, 50.0)

    glTranslatef(0.0,0.0, -5)

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

        glRotatef(1, 3, 1, 1)
        glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
        Cube()
        pygame.display.flip()
        pygame.time.wait(10)


main()


CUBO

import pygame
from pygame.locals import *

from OpenGL.GL import *
from OpenGL.GLU import *

verticies = (
    (1, -1, -1),
    (1, 1, -1),
    (-1, 1, -1),
    (-1, -1, -1),
    (1, -1, 1),
    (1, 1, 1),
    (-1, -1, 1),
    (-1, 1, 1)
    )

edges = (
    (0,1),
    (0,3),
    (0,4),
    (2,1),
    (2,3),
    (2,7),
    (6,3),
    (6,4),
    (6,7),
    (5,1),
    (5,4),
    (5,7)
    )


def Cube():
    glBegin(GL_LINES)
    for edge in edges:
        for vertex in edge:
            glVertex3fv(verticies[vertex])
    glEnd()


def main():
    pygame.init()
    display = (800,600)
    pygame.display.set_mode(display, DOUBLEBUF|OPENGL)

    gluPerspective(45, (display[0]/display[1]), 0.1, 50.0)

    glTranslatef(0.0,0.0, -5)

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

        glRotatef(1, 3, 1, 1)
        glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
        Cube()
        pygame.display.flip()
        pygame.time.wait(10)


main()

CUBO RELLENO DE COLORES

import sys, math, pygame
from operator import itemgetter


class Point3D:
    def __init__(self, x=0, y=0, z=0):
        self.x, self.y, self.z = float(x), float(y), float(z)

    def rotateX(self, angle):
        """ Rotates the point around the X axis by the given angle in degrees. """        rad = angle * math.pi / 180        cosa = math.cos(rad)
        sina = math.sin(rad)
        y = self.y * cosa - self.z * sina
        z = self.y * sina + self.z * cosa
        return Point3D(self.x, y, z)

    def rotateY(self, angle):
        """ Rotates the point around the Y axis by the given angle in degrees. """        rad = angle * math.pi / 180        cosa = math.cos(rad)
        sina = math.sin(rad)
        z = self.z * cosa - self.x * sina
        x = self.z * sina + self.x * cosa
        return Point3D(x, self.y, z)

    def rotateZ(self, angle):
        """ Rotates the point around the Z axis by the given angle in degrees. """        rad = angle * math.pi / 180        cosa = math.cos(rad)
        sina = math.sin(rad)
        x = self.x * cosa - self.y * sina
        y = self.x * sina + self.y * cosa
        return Point3D(x, y, self.z)

    def project(self, win_width, win_height, fov, viewer_distance):
        """ Transforms this 3D point to 2D using a perspective projection. """        factor = fov / (viewer_distance + self.z)
        x = self.x * factor + win_width / 2        y = -self.y * factor + win_height / 2        return Point3D(x, y, self.z)


class Simulation:
    def __init__(self, win_width=640, win_height=480):
        pygame.init()

        self.screen = pygame.display.set_mode((win_width, win_height))
        pygame.display.set_caption("Figura de cubo 3D en python")

        self.clock = pygame.time.Clock()

        self.vertices = [
            Point3D(-1, 1, -1),
            Point3D(1, 1, -1),
            Point3D(1, -1, -1),
            Point3D(-1, -1, -1),
            Point3D(-1, 1, 1),
            Point3D(1, 1, 1),
            Point3D(1, -1, 1),
            Point3D(-1, -1, 1)
        ]

        # Define the vertices that compose each of the 6 faces. These numbers are        # indices to the vertices list defined above.        self.faces = [(0, 1, 2, 3), (1, 5, 6, 2), (5, 4, 7, 6), (4, 0, 3, 7), (0, 4, 5, 1), (3, 2, 6, 7)]

        # Define colors for each face        self.colors = [(137, 64, 245), (225, 32, 77), (0, 135, 123), (87, 12, 235), (30, 250, 145), (15, 215, 0)]

        self.angle = 0
    def run(self):
        """ Main Loop """        while 1:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    sys.exit()

            self.clock.tick(50)
            self.screen.fill((0, 32, 0))

            # It will hold transformed vertices.            t = []

            for v in self.vertices:
                # Rotate the point around X axis, then around Y axis, and finally around Z axis.                r = v.rotateX(self.angle).rotateY(self.angle).rotateZ(self.angle)
                # Transform the point from 3D to 2D                p = r.project(self.screen.get_width(), self.screen.get_height(), 256, 4)
                # Put the point in the list of transformed vertices                t.append(p)

            # Calculate the average Z values of each face.            avg_z = []
            i = 0            for f in self.faces:
                z = (t[f[0]].z + t[f[1]].z + t[f[2]].z + t[f[3]].z) / 4.0                avg_z.append([i, z])
                i = i + 1
            # Draw the faces using the Painter's algorithm:            # Distant faces are drawn before the closer ones.            for tmp in sorted(avg_z, key=itemgetter(1), reverse=True):
                face_index = tmp[0]
                f = self.faces[face_index]
                pointlist = [(t[f[0]].x, t[f[0]].y), (t[f[1]].x, t[f[1]].y),
                             (t[f[1]].x, t[f[1]].y), (t[f[2]].x, t[f[2]].y),
                             (t[f[2]].x, t[f[2]].y), (t[f[3]].x, t[f[3]].y),
                             (t[f[3]].x, t[f[3]].y), (t[f[0]].x, t[f[0]].y)]
                pygame.draw.polygon(self.screen, self.colors[face_index], pointlist)

            self.angle += 1
            pygame.display.flip()


if __name__ == "__main__":
    Simulation().run()

martes, 31 de octubre de 2017

Librerias para 3D en Python


Pygame: Sin duda la librería más famosa de Python. Pygame lleva en desarrollo desde el 2001 por lo que tiene un gran comunidad, publicándose en su propia página web gran cantidad de juegos y demos con más de 1.000 proyecto registrados. Es multiplataforma a la perfección y la librería que menos problemas da al portar entre Linux/Windows/Mac, y es famosa por su facilidad de programación. Utiliza una librería de C llamada SDL, librería en la que están escritos los juegos 2d más famosos en Linux como Battle for Wesnoth, SuperTux o StepMania.

PyOpenGL: Hablando de Pygame, esta tiene un fallo, y es que no soporta Aceleración gráfica al basarse en SDL. Aquí entra en juego PyOpenGL, un binding de OpenGL que se puede combinar con Pygame para añadir las funciones que a este le faltan. Eso sí, requiere un nivel de conocimiento de programación de videojuegos más alto, al ser una capa de abstracción máyor. Para quien no conozca OpenGL, es la competencia de DirectX en el mundo del software Libre, y todos los juegos 3d libres y muchos cerrados corren sobre ella incluidos juegos de Blizzard y Valve.

Pyglet: Pyglet es la alternativa a Pygame+PyOpenGL permitiendo aceleración gráfica y trabajar en 2d/3d, todo ello en una sola librería, y sin tener que recurrir a la engorrosa dificultad de PyOpenGL. Eso sí, sacrificando algunas utilidades avanzadas de pyopengl, y siendo un poco más dificil de usar que Pygame. Pyglet es una librería con un desarollo actual más rápido que pygame, que cada día gana más adeptos. En realidad Pyglet utiliza OpenGL en gran parte de sus funciones, pero facilitando su uso.

Panda3d: Librería libre centrada en videojuegos 3D escrita para Python y C++. Es una librería orientada a 3D, y por lo tanto no apta para iniciados. Algunos juegos de Disney han usado esta librería.


https://elbauldelprogramador.com/programando-videojuegos-en-python/

VIDEO USANDO OPENGL - CUBO
https://www.youtube.com/watch?v=R4n4NyDG2hI&list=PLQVvvaa0QuDdfGpqjkEJSeWKGCP31__wD

LISTA DE VIDEOS USANDO PYGLET, OPENGL, BLENDER

https://www.youtube.com/watch?v=Wyv5TnkFuxE&list=PL1P11yPQAo7qaq_Ga-XA7TvuB8jyI3Qjh

miércoles, 25 de octubre de 2017

Trabajo Final de Turtle: Leon y Malla

import turtle
import tkSimpleDialog
lapiz=turtle.Turtle()
fonde=turtle.Screen()

fig=tkSimpleDialog.askinteger("Figuras", "Que figura desea ver? \n 1.- Leon \n 2.- Malla")
fondo=tkSimpleDialog.askstring("Fondo", "Color de fondo")

fonde.bgcolor(fondo)

if fig ==1:
    size = tkSimpleDialog.askinteger("lapiz", "Ingrese tamano de lapiz")
    color = tkSimpleDialog.askstring("Color lapiz", "Ingrese color de lapiz")
    fillmelena = tkSimpleDialog.askstring("Color de relleno", "Ingrese color para la melena")

    lapiz.pensize(size)
    lapiz.hideturtle()
    lapiz.pencolor(color)
    lapiz.speed(10)

    # melena
    lapiz.penup()
    lapiz.goto(0, 140)
    lapiz.pendown()
    lapiz.fillcolor(fillmelena)
    lapiz.begin_fill()
    lapiz.goto(-120, 80)
    lapiz.goto(-100, -80)
    lapiz.goto(0, -140)
    lapiz.goto(100, -80)
    lapiz.goto(120, 80)
    lapiz.goto(0, 140)
    lapiz.goto(0, -140)
    lapiz.end_fill()

    # lineas de la cara
    lapiz.penup()
    lapiz.goto(-120, 80)
    lapiz.pendown()
    lapiz.goto(-70, 40)

    lapiz.penup()
    lapiz.goto(-100, -80)
    lapiz.pendown()
    lapiz.goto(-60, -30)

    lapiz.penup()
    lapiz.goto(-100, -80)
    lapiz.pendown()
    lapiz.goto(-40, -50)

    lapiz.penup()
    lapiz.goto(-50, -110)
    lapiz.pendown()
    lapiz.goto(-20, -80)

    lapiz.penup()
    lapiz.goto(0, -140)
    lapiz.pendown()
    lapiz.goto(-20, -80)

    lapiz.penup()
    lapiz.goto(0, -140)
    lapiz.pendown()
    lapiz.goto(20, -80)

    lapiz.penup()
    lapiz.goto(50, -110)
    lapiz.pendown()
    lapiz.goto(20, -80)

    lapiz.penup()
    lapiz.goto(100, -80)
    lapiz.pendown()
    lapiz.goto(40, -50)

    lapiz.penup()
    lapiz.goto(100, -80)
    lapiz.pendown()
    lapiz.goto(60, -30)

    lapiz.penup()
    lapiz.goto(-100, -80)
    lapiz.pendown()
    lapiz.goto(-40, -50)

    lapiz.penup()
    lapiz.goto(120, 80)
    lapiz.pendown()
    lapiz.goto(70, 40)

    lapiz.penup()
    lapiz.goto(-60, 110)
    lapiz.pendown()
    lapiz.goto(0, 70)

    lapiz.penup()
    lapiz.goto(60, 110)
    lapiz.pendown()
    lapiz.goto(0, 70)

    # cabeza
    fillcabeza = tkSimpleDialog.askstring("Color relleno de cabeza", "Ingrese el color para rellenar la cabeza")
    lapiz.fillcolor(fillcabeza)

    lapiz.begin_fill()
    lapiz.penup()
    lapiz.goto(0, 50)
    lapiz.pendown()
    lapiz.goto(-50, 80)
    lapiz.goto(-70, 40)
    lapiz.goto(-60, -30)
    lapiz.goto(-40, -50)
    lapiz.goto(-20, -80)
    lapiz.goto(0, -90)
    lapiz.goto(20, -80)
    lapiz.goto(40, -50)
    lapiz.goto(60, -30)
    lapiz.goto(70, 40)
    lapiz.goto(50, 80)
    lapiz.goto(0, 50)
    lapiz.end_fill()

    # cara izquierda
    lapiz.penup()
    lapiz.goto(70, 40)
    lapiz.pendown()
    lapiz.goto(55, 35)

    lapiz.penup()
    lapiz.goto(-65, 0)
    lapiz.pendown()
    lapiz.goto(-50, 10)

    lapiz.penup()
    lapiz.goto(-60, -30)
    lapiz.pendown()
    lapiz.goto(-10, -30)
    lapiz.goto(-15, -10)
    lapiz.goto(-50, 10)
    lapiz.goto(-55, 35)
    lapiz.goto(-20, 30)
    lapiz.goto(-25, 65)
    lapiz.goto(-15, -10)
    lapiz.penup()
    lapiz.goto(-22, 46)
    lapiz.pendown()
    lapiz.goto(22, 46)

    # cara derecha
    lapiz.penup()
    lapiz.goto(70, 40)
    lapiz.pendown()
    lapiz.goto(55, 35)

    lapiz.penup()
    lapiz.goto(65, 0)
    lapiz.pendown()
    lapiz.goto(50, 10)
    lapiz.penup()
    lapiz.goto(60, -30)
    lapiz.pendown()
    lapiz.goto(10, -30)
    lapiz.goto(15, -10)
    lapiz.goto(50, 10)
    lapiz.goto(55, 35)
    lapiz.goto(20, 30)
    lapiz.goto(25, 65)
    lapiz.goto(15, -10)
    lapiz.penup()
    lapiz.goto(-22, 46)
    lapiz.pendown()
    lapiz.goto(22, 46)

    # Nariz
    lapiz.penup()
    lapiz.goto(-16, -64)
    lapiz.pendown()
    lapiz.goto(-20, -52)
    lapiz.goto(0, -60)
    lapiz.goto(20, -52)
    lapiz.goto(16, -64)

    # Boca
    lapiz.penup()
    lapiz.goto(-15, -75)
    lapiz.pendown()
    lapiz.goto(0, -70)
    lapiz.goto(15, -75)

    # orejas
    lapiz.fillcolor(fillcabeza)
    lapiz.begin_fill()
    lapiz.penup()
    lapiz.goto(75, 45)
    lapiz.pendown()
    lapiz.goto(56, 84)
    lapiz.goto(76, 94)
    lapiz.goto(90, 70)
    lapiz.goto(75, 45)
    lapiz.end_fill()

    lapiz.fillcolor(fillcabeza)
    lapiz.begin_fill()
    lapiz.penup()
    lapiz.goto(-75, 45)
    lapiz.pendown()
    lapiz.goto(-56, 84)
    lapiz.goto(-76, 94)
    lapiz.goto(-90, 70)
    lapiz.goto(-75, 45)
    lapiz.end_fill()

    # estrella
    estrella = tkSimpleDialog.askstring("color", "Ingrese color para las lineas de la estrella")
    lapiz.pencolor(estrella)

    lapiz.penup()
    lapiz.goto(270, 150)
    lapiz.pendown()
    for i in range(10):
        lapiz.right(120)
        lapiz.forward(400)

        for j in range(1):
            lapiz.right(80)
            lapiz.forward(400)
elif fig==2:
    lapiz.speed(30)
    lapiz.hideturtle()
    lapiz.penup()
    lapiz.goto(0, 60)
    lapiz.pendown()

    n = tkSimpleDialog.askinteger("Fig", "Numero de repeticiones")
    color = tkSimpleDialog.askstring("color", "ingrese color")
    lapiz.pencolor(color)

    cont = 0
    for i in range(n):
        if cont == n / 2:
            color = tkSimpleDialog.askstring("color", "  ingrese color")
            lapiz.pencolor(color)
            lapiz.right(90)
            lapiz.forward(70)
        cont = cont + 1
        for j in range(17):
            lapiz.right(21)
            lapiz.forward(70)
fonde.exitonclick()

miércoles, 11 de octubre de 2017

Figuras con Turtle

Pino

from turtle import *


setup(600,600,0,0)

pensize(3)

hideturtle()

pencolor("green")


fillcolor("green")

begin_fill()

penup()

goto(0,100)

pendown()

goto(-100,0)

goto(100,0)

goto(0,100)

end_fill()


fillcolor("green")

begin_fill()

penup()

goto(0,50)

pendown()

goto(-100,-50)

goto(100,-50)

goto(0,50)

end_fill()


pencolor("brown")

fillcolor("brown")

begin_fill()

penup()

goto(-20,-50)

pendown()

goto(-20,-150)

goto(20,-150)

goto(20,-50)

goto(-20,-50)

end_fill()





done()





Triangulo


from turtle import *


setup(600,600,0,0)

pensize(3)

hideturtle()


fillcolor("green")

begin_fill()

penup()

goto(0,100)

pendown()

goto(-100,0)

goto(100,0)

goto(0,100)

end_fill()


done()


Barco


from turtle import * 
 setup(600,600,0,0) 
pensize(3) 
hideturtle() 
pencolor("blue") 

#cielo

fillcolor("blue") 
begin_fill() 
penup()
goto(280,0) 
pendown() 
goto(-80,0) 
goto(-80,200) 
goto(280,200) 
goto(280,0) 
end_fill() 
#agua

pencolor("cyan") 
fillcolor("cyan") 
begin_fill() 
penup() 
goto(-80,60) 
pendown() 
goto(-80,0) 
goto(280,0) 
goto(280,40) 
goto(240,60) 
goto(200,40) 
goto(160,60) 
goto(68,40) 
goto(80,40) 
goto(0,60) 
goto(-40,40) 
goto(-80,60) 
end_fill() 
pencolor("black") 

#barco

fillcolor("brown") 
begin_fill() 
penup() 
goto(40,100) 
pendown() 
goto(80,40) 
goto(180,40) 
goto(220,100) 
goto(40,100) 
end_fill() 
 fillcolor("gray") 
begin_fill() 
penup() 
goto(120,100) 
pendown() 
goto(120,200) 
goto(200,120) 
goto(120,120) 
goto(120,100) 
end_fill() 

 #estrellla

pencolor("gold") 
fillcolor("gold") 
begin_fill() 
penup() 
goto(-60,160) 
pendown()
 goto(-20,160) 
goto(-40,140) 
goto(-40,180) 
goto(-20,140) 
goto(-60,160) 
end_fill() 
done()

Cuadrado


import turtle
turtle.speed(1)
fonde =turtle.Screen()
fonde.bgcolor("yellow")

turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.done()


Cuadro con funcion
import turtle
turtle.speed(1)
fonde =turtle.Screen()
fonde.bgcolor("yellow")

for i in range(4):
turtle.forward(100)
turtle.right(90)

turtle.done()





import turtle
turtle.speed(190)
fonde =turtle.Screen()
fonde.bgcolor("yellow")
a=0
for i in range(20):
turtle.forward(100)
turtle.right(90)
for j in range(1):
turtle.forward(100)
turtle.right(80)

turtle.done()


Estrella con triangulo.
import turtle
turtle.speed(10)
fonde =turtle.Screen()
fonde.bgcolor("yellow")

for i in range(10):
turtle.right(120)
turtle.forward(100)
for j in range(1):
turtle.right(80)
turtle.forward(100)
turtle.done()

Triangulo con funcion
import turtle
turtle.speed(1)
fonde =turtle.Screen()
fonde.bgcolor("yellow")

for i in range(3):
turtle.left(120)
turtle.forward(130)

turtle.done()


Octagono con funcion
import turtle
turtle.speed(10)
fonde =turtle.Screen()
fonde.bgcolor("yellow")


for i in range(20):
    turtle.right(45)
    turtle.forward(100)

turtle.done()

Octagono con ventana para pedir colores
import turtle
import tkSimpleDialog

turtle.speed(10)
fonde =turtle.Screen()
fonde.bgcolor("black")
c1 = tkSimpleDialog.askstring("Color", "Escribe el color del lapiz:")
c2 = tkSimpleDialog.askstring("Color", "Escribe el color del relleno:")
turtle.pencolor(c1)

turtle.fillcolor(c2)
turtle.begin_fill()

for i in range(8):
    turtle.right(45)
    turtle.forward(100)
turtle.end_fill()
turtle.done()


Triangulo con ventanas para pedir colores
import turtle
import tkSimpleDialog
turtle.speed(1)
fonde =turtle.Screen()
fonde.bgcolor("yellow")
c1 = tkSimpleDialog.askstring("Color", "Escribe el color del lapiz:")
c2 = tkSimpleDialog.askstring("Color", "Escribe el color del relleno:")
turtle.pencolor(c1)

turtle.fillcolor(c2)
turtle.begin_fill()
for i in range(3):
    turtle.left(120)
    turtle.forward(130)
turtle.end_fill()
turtle.done()


Estrella con ventanas para pedir colores
import turtle
import tkSimpleDialog
turtle.speed(10)
fonde =turtle.Screen()
fonde.bgcolor("yellow")
c1 = tkSimpleDialog.askstring("Color", "Escribe el color del lapiz:")
c2 = tkSimpleDialog.askstring("Color", "Escribe el color del relleno:")
turtle.pencolor(c1)

turtle.fillcolor(c2)
turtle.begin_fill()

for i in range(10):
    turtle.right(120)
    turtle.forward(100)
    for j in range(1):
        turtle.right(80)
        turtle.forward(100)
turtle.end_fill()
turtle.done()


FIGURAS CON VENTANA PIDIENDO COLORES
import turtle import tkSimpleDialog lapiz=turtle.Turtle() lapiz.speed(10) lapiz.shape("turtle") pantalla=turtle.Screen() vueltas=30 a=tkSimpleDialog.askstring("hola", "De que color el fondo?") b=tkSimpleDialog.askstring("hola", "De que color el relleno") c=tkSimpleDialog.askstring("hola", "De cuantos pixeles el lapiz?") pantalla.bgcolor(a) lapiz.fillcolor(b) lapiz.pensize(c) cont=0 for i in range(vueltas): if cont > 14: lapiz.clear(); cont=0;i=1;vueltas=1 lapiz.begin_fill() lapiz.rt(90) lapiz.fd(200) lapiz.lt(120) lapiz.fd(200) lapiz.lt(120) lapiz.fd(200) cont=cont+1 print(vueltas) lapiz.end_fill() pantalla.exitonclick() ______________________________________________________ import turtle import tkSimpleDialog lapiz=turtle.Turtle() lapiz.speed(10) lapiz.shape("turtle") pantalla=turtle.Screen() vueltas=30 a=tkSimpleDialog.askstring("hola", "De que color el fondo?") b=tkSimpleDialog.askstring("hola", "De que color el relleno") c=tkSimpleDialog.askstring("hola", "De cuantos pixeles el lapiz?") d=tkSimpleDialog.askinteger("hola", "Cuantas veces la figura?") pantalla.bgcolor(a) lapiz.fillcolor(b) lapiz.pensize(c) cont=0 vueltas=d for i in range(vueltas): if cont > 14: lapiz.clear(); cont=0;i=1;vueltas=1 lapiz.begin_fill() lapiz.rt(90) lapiz.fd(200) lapiz.lt(120) lapiz.fd(200) lapiz.lt(120) lapiz.fd(200) cont=cont+1 print(vueltas) lapiz.end_fill() pantalla.exitonclick() ___________________________________________________________________ import turtle import tkSimpleDialog lapiz=turtle.Turtle() lapiz.speed(10) lapiz.shape("turtle") pantalla=turtle.Screen() vueltas=30 a=tkSimpleDialog.askstring("hola", "De que color el fondo?") b=tkSimpleDialog.askstring("hola", "De que color el relleno") c=tkSimpleDialog.askstring("hola", "De cuantos pixeles el lapiz?") d=tkSimpleDialog.askinteger("hola", "Cuantas veces la figura?") pantalla.bgcolor(a) lapiz.fillcolor(b) lapiz.pensize(c) cont=0 vueltas=d ax=90 bx=200 cx=120 for i in range(vueltas): if cont > 7: lapiz.clear(); cont=0;i=1;vueltas=1 lapiz.begin_fill() lapiz.rt(ax) lapiz.fd(bx) lapiz.lt(cx) lapiz.fd(bx) lapiz.lt(cx) lapiz.fd(bx) cont=cont+1 print(vueltas) lapiz.end_fill() pantalla.exitonclick() ___________________________________________________________ import turtle import tkSimpleDialog lapiz=turtle.Turtle() lapiz.speed(10) lapiz.shape("turtle") pantalla=turtle.Screen() vueltas=30 a=tkSimpleDialog.askstring("hola", "De que color el fondo?") b=tkSimpleDialog.askstring("hola", "De que color el relleno") c=tkSimpleDialog.askstring("hola", "De cuantos pixeles el lapiz?") d=tkSimpleDialog.askinteger("hola", "Cuantas veces la figura?") pantalla.bgcolor(a) lapiz.fillcolor(b) lapiz.pensize(c) cont=0 vueltas=d ax=90 bx=200 cx=120 for i in range(vueltas): if cont > 11: lapiz.clear(); cont=0;i=1;vueltas=1 lapiz.begin_fill() lapiz.rt(ax) lapiz.fd(bx) lapiz.lt(cx) lapiz.fd(bx) lapiz.lt(cx) lapiz.fd(bx) cont=cont+1 print(vueltas) lapiz.end_fill() pantalla.exitonclick()

lunes, 9 de octubre de 2017

Leon usando el modulo Turtle en Python

from turtle import *

setup(600,600,0,0)
pensize(3)
hideturtle()
pencolor("black")
#melena
penup()
goto(0,140)
pendown()
fillcolor("brown")
begin_fill()
goto(-120,80)
goto(-100,-80)
goto(0,-140)
goto(100,-80)
goto(120,80)
goto(0,140)
goto(0,-140)
end_fill()

penup()
goto(-120,80)
pendown()
goto(-70,40)

penup()
goto(-100,-80)
pendown()
goto(-60,-30)

penup()
goto(-100,-80)
pendown()
goto(-40,-50)

penup()
goto(-50,-110)
pendown()
goto(-20,-80)

penup()
goto(0,-140)
pendown()
goto(-20,-80)

penup()
goto(0,-140)
pendown()
goto(20,-80)

penup()
goto(50,-110)
pendown()
goto(20,-80)

penup()
goto(100,-80)
pendown()
goto(40,-50)

penup()
goto(100,-80)
pendown()
goto(60,-30)

penup()
goto(-100,-80)
pendown()
goto(-40,-50)

penup()
goto(120,80)
pendown()
goto(70,40)

penup()
goto(-60,110)
pendown()
goto(0,70)

penup()
goto(60,110)
pendown()
goto(0,70)

pencolor("black")
#cabeza
fillcolor("orange")
begin_fill()
penup()
goto(0,50)
pendown()
goto(-50,80)
goto(-70,40)
goto(-60,-30)
goto(-40,-50)
goto(-20,-80)
goto(0,-90)
goto(20,-80)
goto(40,-50)
goto(60,-30)
goto(70,40)
goto(50,80)
goto(0,50)
end_fill()

pencolor("black")
#cara izquierda
penup()
goto(70,40)
pendown()
goto(55,35)

penup()
goto(-65,0)
pendown()
goto(-50,10)

penup()
goto(-60,-30)
pendown()
goto(-10,-30)
goto(-15,-10)
goto(-50,10)
goto(-55,35)
goto(-20,30)
goto(-25,65)
goto(-15,-10)
penup()
goto(-22,46)
pendown()
goto(22,46)


#cara derecha
penup()
goto(70,40)
pendown()
goto(55,35)

penup()
goto(65,0)
pendown()
goto(50,10)
penup()
goto(60,-30)
pendown()
goto(10,-30)
goto(15,-10)
goto(50,10)
goto(55,35)
goto(20,30)
goto(25,65)
goto(15,-10)
penup()
goto(-22,46)
pendown()
goto(22,46)

#Nariz
penup()
goto(-16,-64)
pendown()
goto(-20,-52)
goto(0,-60)
goto(20,-52)
goto(16,-64)
#Boca

penup()
goto(-15,-75)
pendown()
goto(0,-70)
goto(15,-75)

#orejas
fillcolor("orange")
begin_fill()
penup()
goto(75,45)
pendown()
goto(56,84)
goto(76,94)
goto(90,70)
goto(75,45)
end_fill()
fillcolor("orange")
begin_fill()
penup()
goto(-75,45)
pendown()
goto(-56,84)
goto(-76,94)
goto(-90,70)
goto(-75,45)
end_fill()
#marco
pencolor("blue")
penup()
goto(0,160)
pendown()
goto(-160,160)
goto(-160,-160)
goto(160,-160)
goto(160,160)
goto(0,160)

penup()
goto(0,190)
pendown()
goto(-190,190)
goto(-190,-190)
goto(190,-190)
goto(190,190)
goto(0,190)
done()



Conclusion de funciones de una DBA

Una base de datos es una coleccion de información accedida y administrada por un DBMS. El DBA es la persona con mas conocimientos sobre bas...