Найти - Пользователи
Полная версия: Как написать 3d программу на Python
Начало » Python для новичков » Как написать 3d программу на Python
1 2
Pavel_Blend
Вообще, возможно ли написать 3д программу на питоне с нуля без использования модулей? Под 3д программой я имею ввиду не редактор (типо 3дс Макс, Майа …), а Viewer в котором можно было бы вращать в пространстве какую-нибудь 3д модель (куб, шар …) У меня просто в голове не укладывается, как это реализовывается. Как с помощью всех этих стандартных while, for, if и др. операторов сделать 3д пространство, которое будет видно на мониторе?
Art-master
Как вы себе это представляете?
py.user.next
Можно вообще из бумаги сделать шар и вращать его, зачем ограничиваться компьютером и питоном? :)

Можно нарисовать в Qt и вывести интерактивно. Вообще для рисования используют matplotlib, там даже есть какой-то подмодуль для анимации.
Pavel_Blend
С помощью питона можно ли это сделать? Создать 3д пространство в котором можно вращать куб?
Pavel_Blend
Я спросил этот вопрос из-за интереса. И мне интересно не то, с помощью каких модулей это можно реализовать, а то, как такие вещи реализуются. Как, например, в модуле matplotlib это сделано? Написано на питоне, или с помощью Си? Если на питоне, то с помощью чего можно создать на экране картинку с 3д кубом?
Shaman
Pavel_Blend
без использования модулей?
Без использования модулей такую программу не написать ни на си, ни на ассемблере.
Pavel_Blend
Ну хорошо, тогда вопрос: я представляю 3д пространство на мониторе как холст определённого размера (3д окно). Этот холст имеет пиксели, каждый из которых имеет определённый цвет. И чтобы на этом холсте можно было бы нарисовать 3д модель нужно менять цвета пикселей. Так вот как менять цвета пикселей? Как к ним достучаться?

Вообще с помощью питона возможно ли изменить цвет пикселя на мониторе?
Shaman
На прикладном уровне возможно всё. Переносить точки между системами координат тоже.
Pavel_Blend
А как разработчики графических модулей смогли менять цвета пикселей? Ведь все модули написаны на питоне, то есть в них используются стандартные возможности языка. Я не понимаю, как имея на начальном этапе только стандартную часть языка (while, for, if, list, int … ) сделать графический модуль? Все же модули растут из стандартного Питона. Для меня питон или другой язык - это что-то вроде калькулятора. Я не знаю как писать программы, а знаю только как делать операции со стандартными данными. Не понимаю как из стандартных данных сделать изображение на мониторе.
Shaman
Почитайте об архитектуре графических адаптеров и, в частности, экранном буфере.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB