예제 #1
0
파일: lines.py 프로젝트: Arem58/Graficas-gl
from gl import Render, color

r = Render()
r.glInit()
r.glClearColor(1, 0, 0)
r.glCreateWindow(800, 600)


def line(x1, y1, x2, y2):
    dy = (y2 - y1)
    dx = abs(x2 - x1)

    steep = dy > dx

    if steep:
        x1, y1 = y1, x1
        x2, y2 = y2, x2

    if x1 > x2:
        x1, x2 = x2, x1
        y1, y2 = y2, y1

    dy = abs(y2 - y1)
    dx = abs(x2 - x1)

    offset = 0
    threshold = 1 * dx
    y = y1
    for x in range(x1, x2):
        if steep:
            r.point(y, x)
예제 #2
0
"""
Paula Camila Gonzalez Ortega
18398
"""
from gl import Render

width = 1000
height = 1000

bitmap = Render(width, height) 

bitmap.glClearColor(0, 0, 0) #este es background color
bitmap.glclear()
bitmap.glColor(1, 0.5, 0) #estos colores son los que se usaran para pintar 

#POLY 1
poly = [(165, 380), (185, 360), 
(185, 360), (180, 330),
(180, 330), (207, 345),
(207, 345), (233, 330), 
(233, 330), (230, 360),
(230, 360), (250, 380),
(250, 380), (220, 385),
(220, 385), (205, 410),
(205, 410), (193, 383),
(193, 383), (165, 380)]
bitmap.drawPolygon(poly)
bitmap.filling(poly)

#POLY 2
bitmap.glColor(0.5, 0, 1)
from gl import Render, color

r = Render(600, 600)

r.glViewport(100, 100, 400, 400)

r.glClearColor(0, 0, 0)
r.glColor(0.45, 0.5, 0)
r.glClear()

r.glLine(-1, 0, 0, 1)
r.glLine(0, 1, 1, 0)
r.glLine(1, 0, 0, -1)
r.glLine(0, -1, -1, 0)
r.glLine(-1, 0, 1, 0)
r.glLine(0, -1, 0, 1)
r.glLine(-1, -1, -1, 1)
r.glLine(-1, 1, 1, 1)
r.glLine(1, 1, 1, -1)
r.glLine(1, -1, -1, -1)
r.glLine(-1, -1, 1, 1)
r.glLine(1, -1, -1, 1)

r.glFinish('output.bmp')
예제 #4
0
파일: srone.py 프로젝트: gera1013/SR1
                print(
                    "\nLos valores ingresados exceden el tamaño de la ventana")

        while not clear_continue:
            print("\nCLEAR - Ingrese números de tipo flotante entre 0 y 1")
            clear_color_r = float(input("Ingrese el valor de R: "))
            clear_color_g = float(input("Ingrese el valor de G: "))
            clear_color_b = float(input("Ingrese el valor de B: "))

            if clear_color_r > 1 or clear_color_r < 0 or clear_color_g > 1 or clear_color_g < 0 or clear_color_b > 1 or clear_color_b < 0:
                print(
                    "\n Los valores ingresados no son válidos, ingrese números entre 0 y 1"
                )
            else:
                clear_continue = True
                render.glClearColor(clear_color_r, clear_color_g,
                                    clear_color_b)
                render.glClear()

        while not vertex_color_continue:
            print(
                "\nVERTEX COLOR - Ingrese números de tipo flotante entre 0 y 1"
            )
            vertex_color_r = float(input("Ingrese el valor de R: "))
            vertex_color_g = float(input("Ingrese el valor de G: "))
            vertex_color_b = float(input("Ingrese el valor de B: "))

            if vertex_color_r > 1 or vertex_color_r < 0 or vertex_color_g > 1 or vertex_color_g < 0 or vertex_color_b > 1 or vertex_color_b < 0:
                print(
                    "\n Los valores ingresados no son válidos, ingrese números entre 0 y 1"
                )
            else:
예제 #5
0
#Andree Toledo 18439
#Laboratorio Filling polygon

from gl import Render

BLACK = (0, 0, 0)

render = Render()

render.glCreateWindow(900, 500)  # Screen size
render.glClearColor(0, 0, 0)  # Black

# Rendering polygons
render.glColor(0.39, 0.72, 1)  # BLUE
render.glDrawPolygon([(165, 380), (185, 360), (180, 330), (207, 345),
                      (233, 330), (230, 360), (250, 380), (220, 385),
                      (205, 410), (193, 383)])
render.glFillPolygon()
render.glColor(0.39, 0.72, 1)  # BLUE

render.glDrawPolygon([(321, 335), (288, 286), (339, 251), (374, 302)])
render.glFillPolygon()
render.glColor(0.39, 0.72, 1)  # BLUE
render.glDrawPolygon([(377, 249), (411, 197), (436, 249)])
render.glFillPolygon()

render.glColor(0.88, 0.25, 0.01)  # RED
render.glDrawPolygon([(413, 177), (448, 159), (502, 88), (553, 53), (535, 36),
                      (676, 37), (660, 52), (750, 145), (761, 179), (672, 192),
                      (659, 214), (615, 214), (632, 230), (580, 230),
                      (597, 215), (552, 214), (517, 144), (466, 180)])
예제 #6
0
"""
Paula Camila Gonzalez Ortega
18398
"""
from gl import Render, changecolor

posX = 250
posY = 250
width = 1000
height = 1000

bitmap = Render(width, height) #los ultimos tres son los colores son los del background

bitmap.glViewPort(posX, posY, width - 500 , height - 500)
bitmap.glClearColor(0, 0, 0)
bitmap.glclear()

#principales (t)
bitmap.glColor(1, 1, 1) #estos colores son los que se usaran en Vertex
bitmap.glLine(0, -1, 0, 1)
bitmap.glLine(-1, 0, 1, 0)

bitmap.glColor(0, 1, 0) 
bitmap.glLine(1, -1, -1, 1)
bitmap.glLine(-1, -1, 1, 1)
#margen
bitmap.glColor(1, 0, 0) 
bitmap.glLine(-1, 1, 1, 1)
bitmap.glLine(1, -1, 1, 1)
bitmap.glLine(1, -1, -1, -1)
bitmap.glLine(-1, -1, -1, 1)
예제 #7
0
        while (is_values_ok == False):
            red = input("Ingrese el valor r del color deseado (de 0 a 1): ")
            red = float(red)
            green = input("Ingrese el valor g del color deseado (de 0 a 1): ")
            green = float(green)
            blue = input("Ingrese el valor b del color deseado (de 0 a 1): ")
            blue = float(blue)

            if ((red < 0 or red > 1) or (green < 0 or green > 1)
                    or (blue < 0 or blue > 1)):
                print("\nPor favor escoger valores entre 0 y 1\n")
            else:
                is_values_ok = True

                ##  puts the background color to the image
                render.glClearColor(red, green, blue)

    ## asks the user about the viewport that wants to create
    elif (option == 2):
        is_values_ok = False

        ##  ask the values and check if they´re valid
        while (is_values_ok == False):
            vp_x = input("Ingrese la coordenada en x: ")
            vp_x = int(vp_x)
            vp_y = input("Ingrese la coordenada en y: ")
            vp_y = int(vp_y)

            vp_width = input("Ingrese el ancho del ViewPort (width): ")
            vp_width = int(vp_width)
            vp_height = input("Ingrese el alto del ViewPort (height): ")
예제 #8
0
#Andres Emilio Quinto Villagran
#carne 18288
#Filling any polygon

from gl import Render

Dark = (0, 0, 0)

render = Render()

render.glCreateWindow(900, 500)  # Screen size
render.glClearColor(0, 0, 0)

render.glColor(0, 0.254, 0.255)
render.glDrawPolygon([(165, 380), (185, 360), (180, 330), (207, 345),
                      (233, 330), (230, 360), (250, 380), (220, 385),
                      (205, 410), (193, 383)])
render.glFillPolygon()
render.glColor(0, 0.255, 0.255)

render.glDrawPolygon([(321, 335), (288, 286), (339, 251), (374, 302)])
render.glFillPolygon()
render.glColor(0, 0.255, 0.255)
render.glDrawPolygon([(377, 249), (411, 197), (436, 249)])
render.glFillPolygon()

render.glColor(0.255, 0.255, 0.1)
render.glDrawPolygon([(413, 177), (448, 159), (502, 88), (553, 53), (535, 36),
                      (676, 37), (660, 52), (750, 145), (761, 179), (672, 192),
                      (659, 214), (615, 214), (632, 230), (580, 230),
                      (597, 215), (552, 214), (517, 144), (466, 180)])
예제 #9
0
from gl import Render
from gl import color

bmpFile = Render()
bmpFile.glCreateWindow(800, 600)  # Screen size
bmpFile.glViewport(20, 20, 50, 150)
bmpFile.glClear()
bmpFile.glClearColor(0, 0, 0)  # Black
bmpFile.glColor(0.53, 0.80, 0.92)  # Added random color
bmpFile.glVertex(-1, -1)  # Point on left lower corner
bmpFile.glVertex(0, 0)  # Point on center
bmpFile.glVertex(1, 1)  # Point on right upper corner
bmpFile.glFinish()
예제 #10
0
#Andree Toledo 18439

from gl import Render, color

r = Render(800, 800)

#Size of the vp
r.glViewport(200, 200, 1000, 1000)

#Color picker
r.glClearColor(0, 0, 0.25)
r.glColor(0.55, 0, 0)
r.glClear()

#Create Lines
r.glLine(1, -1, 1, 0)
r.glLine(1, -1, 0, 1)
r.glLine(1, 1, -1, 0)
r.glLine(1, 1, 1, 1)

r.glLine(0, 0, -1, 1)
r.glLine(0, 1, -1, 0)
r.glLine(0, 0, 1, 1)
r.glLine(-1, -1, -1, 0)

#Imagen de salida
r.glFinish('output.bmp')
예제 #11
0
"""
Paula Camila Gonzalez Ortega
18398
"""
from gl import Render

posX = 250
posY = 250
width = 1000
height = 1000

bitmap = Render(
    width, height)  #los ultimos tres son los colores son los del background

bitmap.glViewPort(posX, posX, width - 500, height - 500)
bitmap.glClearColor(0, 0, 0)  #background color
bitmap.glclear()
bitmap.glColor(1, 1, 1)  #estos colores son los que se usaran en Vertex
bitmap.glModel('./camero.obj', (17, 15), (25, 25))

bitmap.finish('transformers.bmp')