Turbo Pascal

[Spider]

New Member
по-моему, такая задача уже обсуждалась, нет?

что касается самой задачи: насколько "объёмным" должен быть куб? я имею ввиду, — только каркас, непрозрачные грани, учёт света/тени? это обязательно должен быть объёмный куб? если нужно просто продемонстрировать анимацию средствами Turbo Pascal, то можно выводить, например, развевающийся флаг — такой пример, помнится, был в "Практикуме Turbo Pascal" Немнюгина.

вообще говоря, реализация более или менее приличной анимации (по крайней мере, без мерцаний экрана при перерисовке) потребует знаний, выходящих за пределы школьной программы. ИМХО.
 
Останнє редагування:

[Spider]

New Member
ато при подходе к функции initgraph(...) паскаль и прога у меня просто закрываються как ни в чем не бывало(
"как на в чём не бывало" можно выяснить с помощью вызовов функций GraphResult и GraphErrorMsg. Хотя если программа завершается при выполнении InitGraph... Может быть ты неправильно инициализируешь? Приведи, пожалуйста, код, в котором ты выполняешь инициализацию графического режима.
 

Cris

Member
"как на в чём не бывало" можно выяснить с помощью вызовов функций GraphResult и GraphErrorMsg. Хотя если программа завершается при выполнении InitGraph... Может быть ты неправильно инициализируешь? Приведи, пожалуйста, код, в котором ты выполняешь инициализацию графического режима.
Код:
program bla; 
uses graph; //подключаем модуль
var a,b:integer; // переменны
begin
detectgraph(a,b); // достает подходяшие параметры для моего компа(пробовал и вручную всевозможные вариации)
initgraph(a,b,''); // инициализация графики + вылетает полностью(в прямом смысле этого слова)) )
closegraph();     //до сюда уже не доходит
end.
пытался качать в инете другие дрова под ДОС для видиокарты, иногда
менял - вылетает также, иногду уже с ошибкой, и как я понял мне нужно ДОС дрова под моюб видиокарту - GeForce 8800 GTS 512mb
 

[Spider]

New Member
а почему ты используешь DetectGraph? в данном случае, код должен быть таким:
скорее всего вылетает потому что ты неправильно указываешь путь к файлу драйвера графического режима. '' значит что этот файл находится в той же папке, что и скомпилированная программа. Если это не так, то нужно указать весь путь к файлу,то есть, например, 'C:/TP/BGI'.

относительно самой задачи, можно глупый вопрос — ЗАЧЕМ? :)
 

Cris

Member
а почему ты используешь DetectGraph? в данном случае, код должен быть таким:

скорее всего вылетает потому что ты неправильно указываешь путь к файлу драйвера графического режима. '' значит что этот файл находится в той же папке, что и скомпилированная программа. Если это не так, то нужно указать весь путь к файлу,то есть, например, 'C:/TP/BGI'.

относительно самой задачи, можно глупый вопрос — ЗАЧЕМ? :)
драйвер граф режима находиться в самой папке) - egavga - так вроде))

2-е - затем что в инете много находил алгоритмов например для разных графических ефектов, которые очень хосю пропробывать)) и + иноргда самому интересно написать пинбол или тетрис)) + в школе есть задачи на графику
 

dreamer

Member
в инете много находил алгоритмов например для разных графических ефектов, которые очень хосю пропробывать)) и + иноргда самому интересно написать пинбол или тетрис)) + в школе есть задачи на графику
Открываешь турбопаскаль, там справку по функции InitGraph и копируешь полностью код из примера. Запускаешь – пишешь что вышло.
 

[Spider]

New Member
драйвер граф режима находиться в самой папке) - egavga - так вроде))
ты имеешь ввиду что файл egavga.bgi находится в папке с программой? Ну, тогда всё правильно, так должно работать. Замени ещё GraphDetect на Detect, как я присал выше, и должно работать. По крайней мере, графический режим должен быть инициализирован.

Что касается красивых графических эффектов, то, мне кажется, что Turbo Pascal немного не та среда разработки, в которой удобно решать такие задачи. Даже и не знаю как тебе удастся подружить TP со своей крутой видиокартой. Даже если это как то и получится, то явно ты не получишь от неё максимальной отдачи :).
 

Glu4it

Member
по-моему, такая задача уже обсуждалась, нет?

что касается самой задачи: насколько "объёмным" должен быть куб? я имею ввиду, — только каркас, непрозрачные грани, учёт света/тени? это обязательно должен быть объёмный куб? если нужно просто продемонстрировать анимацию средствами Turbo Pascal, то можно выводить, например, развевающийся флаг — такой пример, помнится, был в "Практикуме Turbo Pascal" Немнюгина.

вообще говоря, реализация более или менее приличной анимации (по крайней мере, без мерцаний экрана при перерисовке) потребует знаний, выходящих за пределы школьной программы. ИМХО.
нужен именно куб без теней света и прочих "выкрутас" просто чтоб был закрашен
помогите кто-то пожалуйста...
 

dreamer

Member
нужен именно куб без теней света и прочих "выкрутас" просто чтоб был закрашен
помогите кто-то пожалуйста...
Берешь куб, заданный в трехмерных координатах (заданный координатами 8-ми вершин), применяешь для проекции куба на плоскость экрана, находишь по z координате какие 3 из 6 ребер видны сейчас и отрисовываешь их с помощью FillPoly.
 
Зверху