PYTHON
СРОЧНО
Умова:
Розробити програмний код для створення об'єктів сцени: коло – латунь та
освітлення, яке визначає рівень глобального фонового світла і ефективне
положення точки спостереження.
Ответы
Ответ:
import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
# Ініціалізація Pygame
pygame.init()
width, height = 800, 600
pygame.display.set_mode((width, height), DOUBLEBUF | OPENGL)
# Налаштування 3D-проекції
glMatrixMode(GL_PROJECTION)
gluPerspective(45, (width / height), 0.1, 50.0)
glMatrixMode(GL_MODELVIEW)
gluLookAt(0, 0, -5, 0, 0, 0, 0, 1, 0)
# Створення об'єкту кола
radius = 1.0
slices = 32
stacks = 32
quadric = gluNewQuadric()
gluQuadricNormals(quadric, GLU_SMOOTH)
# Освітлення
ambient_light = (0.2, 0.2, 0.2, 1.0)
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambient_light)
light_position = (1.0, 1.0, 1.0, 0.0)
glLightfv(GL_LIGHT0, GL_POSITION, light_position)
glEnable(GL_LIGHT0)
glEnable(GL_LIGHTING)
glEnable(GL_COLOR_MATERIAL)
# Основний цикл
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
glRotatef(1, 3, 1, 1)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
# Малюємо коло
glPushMatrix()
glColor3f(0.72, 0.45, 0.20) # Латунний колір
gluSphere(quadric, radius, slices, stacks)
glPopMatrix()
pygame.display.flip()
pygame.time.wait(10)
pygame.quit()
Объяснение:
вот так?