Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 29, 2014 23:18:19

Pavel_Blend
Зарегистрирован: 2014-10-29
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Как написать 3d программу на Python

Вообще, возможно ли написать 3д программу на питоне с нуля без использования модулей? Под 3д программой я имею ввиду не редактор (типо 3дс Макс, Майа …), а Viewer в котором можно было бы вращать в пространстве какую-нибудь 3д модель (куб, шар …) У меня просто в голове не укладывается, как это реализовывается. Как с помощью всех этих стандартных while, for, if и др. операторов сделать 3д пространство, которое будет видно на мониторе?

Офлайн

#2 Окт. 30, 2014 00:09:19

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

Как написать 3d программу на Python

Как вы себе это представляете?

Офлайн

#3 Окт. 30, 2014 00:14:08

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Как написать 3d программу на Python

Можно вообще из бумаги сделать шар и вращать его, зачем ограничиваться компьютером и питоном? :)

Можно нарисовать в Qt и вывести интерактивно. Вообще для рисования используют matplotlib, там даже есть какой-то подмодуль для анимации.



Отредактировано py.user.next (Окт. 30, 2014 00:18:44)

Офлайн

#4 Окт. 30, 2014 00:17:26

Pavel_Blend
Зарегистрирован: 2014-10-29
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Как написать 3d программу на Python

С помощью питона можно ли это сделать? Создать 3д пространство в котором можно вращать куб?

Офлайн

#5 Окт. 30, 2014 00:27:18

Pavel_Blend
Зарегистрирован: 2014-10-29
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Как написать 3d программу на Python

Я спросил этот вопрос из-за интереса. И мне интересно не то, с помощью каких модулей это можно реализовать, а то, как такие вещи реализуются. Как, например, в модуле matplotlib это сделано? Написано на питоне, или с помощью Си? Если на питоне, то с помощью чего можно создать на экране картинку с 3д кубом?

Офлайн

#6 Окт. 30, 2014 07:42:34

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Как написать 3d программу на Python

Pavel_Blend
без использования модулей?
Без использования модулей такую программу не написать ни на си, ни на ассемблере.

Офлайн

#7 Окт. 30, 2014 13:54:15

Pavel_Blend
Зарегистрирован: 2014-10-29
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Как написать 3d программу на Python

Ну хорошо, тогда вопрос: я представляю 3д пространство на мониторе как холст определённого размера (3д окно). Этот холст имеет пиксели, каждый из которых имеет определённый цвет. И чтобы на этом холсте можно было бы нарисовать 3д модель нужно менять цвета пикселей. Так вот как менять цвета пикселей? Как к ним достучаться?

Вообще с помощью питона возможно ли изменить цвет пикселя на мониторе?

Офлайн

#8 Окт. 30, 2014 14:18:37

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Как написать 3d программу на Python

На прикладном уровне возможно всё. Переносить точки между системами координат тоже.

Офлайн

#9 Окт. 30, 2014 14:57:48

Pavel_Blend
Зарегистрирован: 2014-10-29
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Как написать 3d программу на Python

А как разработчики графических модулей смогли менять цвета пикселей? Ведь все модули написаны на питоне, то есть в них используются стандартные возможности языка. Я не понимаю, как имея на начальном этапе только стандартную часть языка (while, for, if, list, int … ) сделать графический модуль? Все же модули растут из стандартного Питона. Для меня питон или другой язык - это что-то вроде калькулятора. Я не знаю как писать программы, а знаю только как делать операции со стандартными данными. Не понимаю как из стандартных данных сделать изображение на мониторе.

Офлайн

#10 Окт. 30, 2014 15:35:05

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Как написать 3d программу на Python

Почитайте об архитектуре графических адаптеров и, в частности, экранном буфере.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version