Está en la página 1de 9

UNIVERSIDAD TECNOLÓGICA DE LOS ANDES

Facultad de Ingeniería

Escuela Profesional de Ingeniería de Sistemas e Informática

Solución_ejercicios_OpenGL_Python_Guia 3
DOCENTE: GODOFREDO POCCORI UMERES

ALUMNOS:

➔ AGÜERO HUAMANI WALDIR ERICK


➔ CARMEN ROSA PATA CARDENAS
➔ JOSEPH RASIEL ARANA SALDIVAR
➔ FELIX RAUL ORTIZ PACHACUTE
➔ ALEXANDER CHAHUAYO GALLEGOS

Cusco – Perú

2023
Actividad Laboratorio:
1. Cambiar el color de la línea
a. Codigo:
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def limpiar():
glClearColor(0.0,0.0,0.0,0.0)
gluOrtho2D(-1.0,1.0,-1.0,1.0)
def dibujar():
glClear(GL_COLOR_BUFFER_BIT)
glPointSize(10)
glColor(1.0,0.0,1.0)
glBegin(GL_LINES)
glVertex2f(-0.8,0.8)
glVertex2f(0.8,-0.8)
glEnd()
glFlush()
def main():
glutInit()
glutInitDisplayMode(GLUT_RGBA |GLUT_SINGLE)
glutInitWindowSize(600,600)
glutInitWindowPosition(300,100)
glutCreateWindow("cambiar color de la linea")
limpiar()
glutDisplayFunc(dibujar)
glutIdleFunc(dibujar)
glutMainLoop()
main()

b. Ejecución
2. Trace ejes de coordenadas y represente el punto en uno de los
cuadrantes
a. Código
from numpy import*
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
import sys

def limpiar():
glClearColor(0.0,0.0,0.0,0.0)
gluOrtho2D(-1.0,1.0,-1.0,1.0)
vertices=(
#eje x
(1,0),
(-1,0),
#eje y
(0,1),
(0,-1),
)
aristas=(
# eje x
(0,1),
#eje y
(2,3)
)
puntos=(
(0.5,0.5),
)
def dibujar():
glClear(GL_COLOR_BUFFER_BIT)
glPointSize(3)
glBegin(GL_LINES)
for arista in aristas:
for punto in arista:
glColor(1.0,0.0,0.0)

glVertex2f(vertices[punto][0],vertices[punto][1])
glEnd()
glBegin(GL_POINTS)
for x in puntos:
glColor(1,0,0)
glVertex(x[0],x[1])
c1=0.05
c2=0.05
if(x[0]<0):
c2=c2*-1
if(x[1]<0):
c1=c1*-1

color=(random.uniform(0,1),random.uniform(0,1),random.unif
orm(0,1))
for i in arange(0.0,x[1],c1):
glColor(1,1,1)
glVertex(x[0],i)
for i in arange(0.0,x[0],c2):
glColor(1,1,1)
glVertex(i,x[1])
glEnd()
glFlush()
def main():
glutInit(sys.argv)
glutInit()
glutInitDisplayMode(GLUT_RGBA |GLUT_SINGLE)
glutInitWindowSize(600,600)
glutInitWindowPosition(300,100)
glutCreateWindow("eje de coordenadas")
limpiar()
glutDisplayFunc(dibujar)
glutIdleFunc(dibujar)
glutMainLoop()
main()
b. Ejecución
3. Trace un cuadrado y un triángulo que ambas figuras tengan un
tamaño proporcional.
a. Código
import numpy as np
import pygame as pg
from pygame.locals import *

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

def limpiar():
glClearColor(0.0,0.0,0.0,0.0)
gluOrtho2D(-1.0,1.0,-1.0,1.0)

vertices=(
#cuadrado
(-0.8,0.5),
(-0.3,0.5),
(-0.3,0.0),
(-0.8,0.0),
#triangulo
(0.3,0.0),
(0.55,0.43),
(0.8,0.0)

)
aristas=(
#cuadrado
(0,1),
(1,2),
(2,3),
(3,0),
#triangulo
(4,5),
(5,6),
(6,4),

)
def dibujar():
glClear(GL_COLOR_BUFFER_BIT)
glPointSize(10)
glColor(1.0,1.0,0.0)
glBegin(GL_LINES)
for arista in aristas:
for punto in arista:
glColor(1.0,1.0,0.0)

glVertex2f(vertices[punto][0],vertices[punto][1])
glEnd()
glFlush()
def main():
glutInit()
glutInitDisplayMode(GLUT_RGBA |GLUT_SINGLE)
glutInitWindowSize(600,600)
glutInitWindowPosition(300,100)
glutCreateWindow("cuadrado y triangulo")
limpiar()
glutDisplayFunc(dibujar)

glutIdleFunc(dibujar)

glutMainLoop()
main()

b. Ejecución
4. A base de líneas escriba su nombre en el lienzo
a. Código
import numpy as np
import pygame as pg
from pygame.locals import *

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

def limpiar():
glClearColor(0.0,0.0,0.0,0.0)
gluOrtho2D(-1.0,1.0,-1.0,1.0)

puntos=(
# W
(-0.7,0.1),
(-0.7,-0.1),
(-0.6,0.0),
(-0.5,-0.1),
(-0.5,0.1),
#A
(-0.4,-0.1),
(-0.3,0.1),
(-0.2,-0.1),
(-0.35,0.0),
(-0.25,0.0),
#L
(-0.1,0.1),
(-0.1,-0.1),
(0.0,-0.1),
#D
(0.1,0.1),
(0.1,-0.1),
(0.22,0.06),
(0.22,-0.06),
#I
(0.35,0.1),
(0.35,-0.1),
#R
(0.5,0.1),
(0.5,-0.1),
(0.6,0.1),
(0.6,0.02),
(0.5,0.0),
(0.6,-0.1),

)
lineas=(
#w
(0,1),
(1,2),
(2,3),
(3,4),
#A
(5,6),
(6,7),
(8,9),
#L
(10,11),
(11,12),
#D
(13,14),
(13,15),
(15,16),
(16,14),
#I
(17,18),
#R
(19,20),
(19,21),
(21,22),
(22,23),
(23,24),

)
def dibujar():
glClear(GL_COLOR_BUFFER_BIT)
glPointSize(10)
glColor(1.0,1.0,0.0)
glBegin(GL_LINES)
for linea in lineas:
for punto in linea:
glColor(1.0,1.0,0.0)
glVertex2f(puntos[punto][0],puntos[punto][1])
glEnd()
glFlush()
def main():
glutInit()
glutInitDisplayMode(GLUT_RGBA |GLUT_SINGLE)
glutInitWindowSize(600,600)
glutInitWindowPosition(300,100)
glutCreateWindow("nombre")
limpiar()
glutDisplayFunc(dibujar)

glutIdleFunc(dibujar)

glutMainLoop()
main()
b. Ejecución

También podría gustarte