• Предмет: Информатика
  • Автор: yurabrodzinskyy
  • Вопрос задан 3 месяца назад

PYTHON
СРОЧНО

Умова:
Розробити програмний код для створення об'єктів сцени: коло – латунь та
освітлення, яке визначає рівень глобального фонового світла і ефективне
положення точки спостереження.

Ответы

Ответ дал: proggarmer
0

Ответ:

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()

Объяснение:

вот так?

Вас заинтересует