IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Пострить треугольники, подробности внутри
TOPEHTO
сообщение 7.12.2006 20:59
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 87
Пол: Мужской

Репутация: -  0  +


Всем доброго времени суток!
Вот сеголня еще задали...В паскалевской графики Я вообще не силен, поэтому надеюсь что хоть ктонибудь даст алгоритм и не пройдет мима...
1 треугольник
Цитата
Построить на экране треугольник по введенным длинам трех сторон. Построенный треугольник должен поместиться на экране. Его изображение должно соответствовать принятым в школе стандартам: тупоугольный треугольник должен быть ориентирован большей стороной вниз; прямоугольный треугольник должен стоять на катете (прямой угол слева); равнобедренный треугольник должен стоять на основании.

2 треугольник
Цитата
Вывести на экран вращающееся изображение произвольного невырожденного треугольника.

в душе не представляю как это делать...народ подскажите хотя бы алгоритм, ПОИСК рез-татов не дал, хотя смотрел хорошо... wacko.gif wacko.gif wacko.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
TOPEHTO
сообщение 29.12.2006 12:05
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 87
Пол: Мужской

Репутация: -  0  +


Ну народ...выручайте...smile.gif
1 задачу все еще надо сделать и сдать, очень на Вас надеюсь...а вращающийся треугольник сделал, может кому и понадобится
Цитата
{$N+}
{$E+}
Program lab6_2;
uses Crt, Graph;
var Gd, Gm: Integer;
x1,x2,x3,y1,y2,y3:integer;
xc,yc:integer;
xx1,xx2,xx3,yy1,yy2,yy3:integer;
ugol,wag:real;
r1,r2,r3,u1,u2,u3:real;
g:boolean;
a:Char;
Procedure system_delay(x:longint);
var system_timer:longint absolute $0000:$046C;
stop_timer:longint;
begin
stop_timer:=system_timer;
repeat
until (stop_timer+x)<=system_timer;
End;

Function opred_ugol(katy,katx:integer):real;
var uu:real;
begin
if (katy<0)and(katx<0) then uu:=arctan((-1)*katy/katx);
if (katy<0)and(katx>0) then uu:=arctan((-1)*katy/katx)+Pi;

if ((katy>=0)and(katx<0)) then uu:=arctan((-1)*katy/katx);
if ((katy>=0)and(katx>0)) then uu:=arctan((-1)*katy/katx)+Pi;

if (katy<0)and(katx=0) then uu:=3*Pi/2;
if (katy>=0)and(katx=0) then uu:=Pi/2;
opred_ugol:=uu;
End;

begin
clrscr;
Write('Enter x1,y1,x2,y2,x3,y3: ');
Readln(x1,y1,x2,y2,x3,y3);
Write('Enter to4ku dentra vrawenii(x,y): ');
Readln(xc,yc);
Write('Enter wag: ');
Readln(wag);
Write('Pokazivat vspomogatelnie okrugnosti(y/n): ');
Readln(a);
g:=a='y';
r1:=sqrt(sqr(x1-xc)+sqr(y1-yc));
r2:=sqrt(sqr(x2-xc)+sqr(y2-yc));
r3:=sqrt(sqr(x3-xc)+sqr(y3-yc));
u1:=opred_ugol(y1-yc,x1-xc);
u2:=opred_ugol(y2-yc,x2-xc);
u3:=opred_ugol(y3-yc,x3-xc);
ugol:=0;
Gd := Detect;
InitGraph(Gd, Gm, '');
repeat
xx1:=xc+Round(r1*cos(ugol+u1));
yy1:=yc+Round(r1*sin(ugol+u1));
xx2:=xc+Round(r2*cos(ugol+u2));
yy2:=yc+Round(r2*sin(ugol+u2));
xx3:=xc+Round(r3*cos(ugol+u3));
yy3:=yc+Round(r3*sin(ugol+u3));
ClearDevice;
if g then begin
setcolor(3);
Circle(xc,yc,Round(r1));
Circle(xc,yc,Round(r2));
Circle(xc,yc,Round(r3));
End;
setcolor(15);
MoveTo(xx1,yy1);
LineTo(xx2,yy2);
LineTo(xx3,yy3);
LineTo(xx1,yy1);
if (ugol<6.28) then ugol:=ugol+wag else ugol:=ugol+wag-6.28;
system_delay(2);
until KeyPressed;
CloseGraph;
end.

Очень надеюсь на Вашу помощь... wink.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:28
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"