Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2013, 09:17   #1
JulyTab
 
Регистрация: 28.02.2013
Сообщений: 3
По умолчанию Построение трехмерных объектов

Здравствуйте ) Мне необходимо создать на ассемблер программу для построения трехмерных объектов... Если честно, не представляю с какой стороны подступиться. Подскажите, пожалуйста, какой литературой заняться... Где что подсмотреть...
JulyTab вне форума Ответить с цитированием
Старый 28.02.2013, 10:07   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

У Вас слишком широкий/общий вопрос - что за объекты, для чего вы их строите (статика или динамика), какой ассемблер, разрешено ли использовать библиотеки ((OpenGL, например) и т.д. и т.п.



предвидя вопросы ко мне, сразу хочу сказать, что я в данном вопросе некомпетентен, просто хотел помочь Вам выбрать правильное направление...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.02.2013, 10:07   #3
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Подступитесь с левой стороны. Подсмотрите вложение.
Вложения
Тип файла: rar KUB.rar (1.8 Кб, 19 просмотров)
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 28.02.2013, 10:30   #4
JulyTab
 
Регистрация: 28.02.2013
Сообщений: 3
По умолчанию

9. Программа построения трехмерных объектов.
Именно так и звучит тема... Дополнительных требований не давали. А Ассемблер для процессора 8086
JulyTab вне форума Ответить с цитированием
Старый 28.02.2013, 11:37   #5
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
9. Программа построения трехмерных объектов.
Почему-то у меня ассоциируется с 3D-редактор)

Как я понимаю, цвет здесь не главное, потому можно выбрать видеорежим с градациями серого и несколькими видеостраницами, чтобы можно было корректно сделать эффект освещения. - начните выбор с подходящего видеорежима.

Пространственные координаты объекта можно хранить в бинарном файле - т.е. сделав несколько файлов можно осуществлять их вывод на экран.

Программа должна позволять изменять положение источника освещения, точки обзора и положения тела в пространстве. По сути, все сведется к расчету текущей проекции объекта к плоскости наблюдения и освещения его граней.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 28.02.2013, 13:34   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Почему-то у меня ассоциируется с 3D-редактор)
Вполне закономерно.
Более того, как-то сразу и не приходят в голову вообще какие-нибудь иные варианты.
Можно, конечно, делать, допустим, 3D-визуализацию результатов научных расчетов, но все равно возникает вопрос, можно ли продукты такой визуализации считать объектами.
Цитата:
Как я понимаю, цвет здесь не главное, потому можно выбрать видеорежим с градациями серого и несколькими видеостраницами, чтобы можно было корректно сделать эффект освещения. - начните выбор с подходящего видеорежима.
Думаю, это лишнее.
Достаточно работать с проволочными каркасами.
Цитата:
Пространственные координаты объекта можно хранить в бинарном файле - т.е. сделав несколько файлов можно осуществлять их вывод на экран.

Программа должна позволять изменять положение источника освещения, точки обзора и положения тела в пространстве. По сути, все сведется к расчету текущей проекции объекта к плоскости наблюдения и освещения его граней.
По поводу источника освещения - неочевидно.
Зато должна позволять создавать новые и видоизменять существующие.
Т.е. визуализатор для редактора - не самая важная вещь.

PS. Придумал один из самых простых вариантов реализации программы создания трехмерных объектов, в консольном режиме.
Выглядеть это должно примерно так:
Код:
Выберите объект:
1. Шар.
2. Куб.
3. Тор.
4. Призма.
5. пирамида.
>4
Введите параметры количество углов основания призы:
>7
Введите высоту призмы:
>10.0
Введите длину стороны основания призмы:
>7.5
Введите имя файла, в который записать объект:
>prism001.obj

Последний раз редактировалось s-andriano; 28.02.2013 в 18:39.
s-andriano вне форума Ответить с цитированием
Старый 01.03.2013, 08:10   #7
JulyTab
 
Регистрация: 28.02.2013
Сообщений: 3
По умолчанию

Спасибо ) Я тоже примерно так представляла... А как прорисовать? Может есть возможность подключить OpenJL... Извините, если какую ересь пишу, в ассемблере новичок
JulyTab вне форума Ответить с цитированием
Старый 01.03.2013, 10:08   #8
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Есть сомнение, что у вас получится использовать OpenGL - все API для него реализовано под Windows, которая несовместима с 8086 процессором. Проще использовать один из CGA режимов и трехмерность реализовывать самим (в этом, по-сути и заключается смысл задания).

Цитата:
PS. Придумал один из самых простых вариантов реализации программы создания трехмерных объектов, в консольном режиме.
Выглядеть это должно примерно так:
я бы сделал еще проще: один исполняемый модуль для создания объекта (консольный режим), а другой - для отображения (с передачей имени файла через командную строку).
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 01.03.2013, 17:29   #9
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
я бы сделал еще проще: один исполняемый модуль для создания объекта (консольный режим), а другой - для отображения (с передачей имени файла через командную строку).
Странное у Вас представление о том, что такое "проще".
Одна программа только для создания IMHO проще, чем две: одна - для создания, а другая - для отображения.
s-andriano вне форума Ответить с цитированием
Старый 02.03.2013, 20:24   #10
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

JulyTab, требование: "Ассемблер для процессора 8086" сильно усложняет вашу работу. Узнайте, можно ли использовать, к примеру, 80386.

Если был бы ассемблер 80x86 и MASM, то было бы значительно проще. Объясню почему.

Есть замечательные уроки NeHe по OpenGL. Он использовал С++ и WinAPI.

Вот его сайт: http://nehe.gamedev.net/ (уроки на панели справа)

Вот перевод на русский: http://pmg.org.ru/nehe/index.html

По поводу ассемблера (MASM). На сайте NeHe в конце каждого урока есть реализации на разных языках, в том числе и на MASM. Проделана большая работа NeHe по составлению уроков, теми кто переписал исходники на другие языки и теми кто перевёл уроки на русский. Не пройдите мимо.

Надеюсь, помог.

Последний раз редактировалось 8Observer8; 02.03.2013 в 20:26.
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
построение геометрических объектов в пространстве yan4ik Паскаль, Turbo Pascal, PascalABC.NET 5 06.04.2012 01:01
программа реконструкции трехмерных объектов по двухмерным изображениям на C# novichok2011 Помощь студентам 5 14.04.2011 09:06
отсечения трехмерных объектов khSlavas Помощь студентам 3 14.11.2008 16:47
Класс "векторные операции" для трехмерных векторов. Студентка@ Помощь студентам 1 30.01.2008 19:21
Демонстрационная программа выполнения геометрических преобразований трехмерных объектов true_men Помощь студентам 6 19.11.2007 20:11