Найти - Пользователи
Полная версия: Как написать 3d программу на Python
Начало » Python для новичков » Как написать 3d программу на Python
1 2
doza_and
Shaman
Ведь все модули написаны на питоне, то есть в них используются стандартные возможности языка. Я не понимаю, как имея на начальном этапе только стандартную часть языка (while, for, if, list, int … ) сделать графический модуль?
В стандартные возможности языка входят стандартные модули. Среди них есть ctypes. он позволяет вызвать функции из “ядра операционной системы”. Там есть и функции для работы с графикой.

Вы не совсем правильно представляете работу с графикой. Даже программа на C не сможет отрисовывать 3D сцены с приемлемой скоростью если будет работать с отдельными пикселями. Общение программы с монитором идет на специальном языке (в котором нет раскраски отдельных пикселей). А сами пиксели красит “Железо”. Грубо говоря программа просит - нарисуй прямую, а видеокарта уже красит пиксели.
Эти языки были обобщены в графических библиотеках например (http://www.opengl.org.ru/, GDI. DirectX и т.п.) Перевод команд библиотеки на команды железа осуществляет видеодрайвер. А из питона можно уже пользоваться разными библиотеками.
http://pyopengl.sourceforge.net/…
Я не специалист в этом деле, может кто подробнее напишет.
Shaman
doza_and
В стандартные возможности языка входят стандартные модули. Среди них есть ctypes. он позволяет вызвать функции из “ядра операционной системы”. Там есть и функции для работы с графикой.
Не совсем так, если уж быть совсем точным.
“Стандартная” реализция питона - CPython позволяет подключение специально оформленных бинарных модулей как питон-модулей. Эту возможность эксплуатирует и ctypes.
Shaman
Pavel_Blend
Вообще, возможно ли написать 3д программу на питоне с нуля без использования модулей? Под 3д программой я имею ввиду не редактор (типо 3дс Макс, Майа …), а Viewer в котором можно было бы вращать в пространстве какую-нибудь 3д модель (куб, шар …) У меня просто в голове не укладывается, как это реализовывается. Как с помощью всех этих стандартных while, for, if и др. операторов сделать 3д пространство, которое будет видно на мониторе?
Хотя, никто не мешает отрендерить в графический, или видео-формат и смотреть результат другим софтом.
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