Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Драйвер-рисовалка по точкам (не Graph)

Автор: Чужак 4.06.2007 4:05

Кто-нибудь может мне подсказать:
когда я учился в школе, у нас был Паскаль со своеобразным графическим драйвером-рисовалкой (не факт, что это был Паскаль 7; и не могу точно сказать-Борланд или ТурбоПаскаль)-там были команды PenDn (опустить перо), PenUp (поднять перо), MoveT(X,Y), OXOY (система координат);
и можно было сделать отрисовку по линиям и по точкам, не как в Graph. Назвывался он просто Drawer.pas. Программа отрисовки прямоугольника выглядела так:

Program pr;
{$I Drawer.pas}{<--это он подключался}
Var X,Y,Z,C:Real;
Begin
WriteLn('Ведите длину ');
Read(X),
WriteLn('Ведите ширину ');
Read(Y),
Z:=X/2; C:=Y/2;
Drawer on; {<--это он инициализировался}
PenDn;
Movet (0,0);{<--здесь обход по точкам}
.....PenUp;
End.


Может кто знает, в какой версии паскаля он есть?
Где его можно найти?
Как подключить к 7 Турбопаскалю (и можно ли это сделать)?
И еще вопрос (если это драйвер из старых версий Паскаля)-есть что-то аналогичное в 7 Паскале?


Автор: volvo 4.06.2007 4:09

Uses Graph3;

, и будет тебе счастье... Это так называемая "Черепашка", так? Этот модуль оставлен в TP7 для совместимости...

Автор: Чужак 4.06.2007 4:27

Спасибо!
А система команд не изменилась?
Буду разбираться...

Автор: Чужак 5.06.2007 4:32

Сумел запустить модуль Graph3, программа компилится, вот только не рисует...

 Program M;
Uses Crt,Graph3;
Var a:Integer;
Begin
a:=10;
Graph3.
PenDown;
Move(a,a,a);
PenUp;
Readln;
End.

Вот сделал эту прогу, вроде теста, в результате запустился какой-то
режим, в котором можно печатать, но не рисует...
Может, я его как-то некорректно инициализирую?
На форуме ни нашел про него инфы...
У кого-нибуть может привести пример простой программы с использованием Graph3,
хотя бы просто нарисовать линию?
И еще вопрос-возможно ли в программе одновременное использование Graph3 и Graph?
Так, чтобы кусок фигуры был отрисован в Graph3, а другой в Graph?

Автор: volvo 5.06.2007 5:23

Цитата
Может, я его как-то некорректно инициализирую?
Дело не в этом... Move - это процедура модуля System, которая никакого отношения к графике не имеет, поэтому, естественно, ничего не рисуется... В Graph3 (насколько я помню) рисование осуществляется через Forwd/Back и TurnLeft/TurnRight:

uses graph3;
begin
GraphColorMode;
ShowTurtle;
Forwd(20); TurnRight(90);
Forwd(20); TurnRight(90);
Forwd(20); TurnRight(90);
readln;
end.


Цитата
возможно ли в программе одновременное использование Graph3 и Graph?
Не думаю... Проще будет написать эмулятор "Черепашки".

Автор: Ozzя 5.06.2007 10:25

Цитата(volvo @ 5.06.2007 2:23) *

Не думаю... Проще будет написать эмулятор "Черепашки".

http://pascal.sources.ru/graph/turtle10.htm

Автор: Чужак 7.06.2007 2:16

Благодарю всех, кто откликнулся.
Пока разбираюсь...
Где можно прочесть про все команды graph3 и черепашки?
На форуме нашел тему "
http://forum.pascal.net.ru/index.php?showtopic=7530&hl=graph3,
", где рассматривается близкая задача, качнул оттуда модуль tortuise, откомпиллировал-работает, но как подключить его к программе и использовать в ней его команды-не знаю. Никто не подскажет?
To volvo
Твоя программа работает.
Не подскажешь, как изменить начальную точку отрисовки и цвет (рисует только красным)?
To Оззя
Твой модуль скачал, пока разбираюсь...

Автор: volvo 7.06.2007 2:32

Вот тут посмотри - есть информация, как выбирать палитру, и цвета: http://cs.nyu.edu/cs/faculty/marateck/turtle.html

А насчет изменения начальной точки... Стартовая позиция "Черепашки" - центр экрана. Не показывая ее, переведи туда, куда тебе надо, потом ShowTurtle, и можно рисовать...