Помощь - Поиск - Пользователи - Календарь
Полная версия: Нарисовать "Розу ветров"
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Demian
Здравствуйте. Нужно нарисовать "Розу ветров". Прошу о помощи.
Нажмите для просмотра прикрепленного файла
renesko1
Попробуй сначало нарисовать крест, а потом вычесли опорные точки для углов внутри .Они отходят от центра на 45 гр. те берем окружность и / на 4 части и отмеряя углы находим координаты точек.
Не забудь, что все в радианах.
Потом соедини линиями (line(x,y,x1,y1)) получ. точки и концы креста, а дальше осталось все закрасить.

Центр , если не знаешь, находиться след. образом :
x0 := getmaxx div 2 ;
y0 := getmaxy div 2 ;
Линия line(x,y,x1,y1) ;
volvo
Здесь посмотри: Роза ветров
(можно использовать как заготовку к твоему заданию, тем более что задания - то ты и не привел... Как строится "роза ветров", каковы исходные данные, что надо отобразить?)
renesko1
У меня антинаучный способ smile.gif .
Demian
Задание заключается в том, чтобы нарисовать именно то, что показано на изображении.
renesko1
Ну тогда мой способ тоже подходит. Пытайся сам, что то сделать , наврядли, тебе кто нибудь сделает.
Начинай с простых элементов и спрашивай по ходу дела.
_LeeRoy_
Цитата(Demian @ 22.06.2008 13:00) *

Нужно нарисовать "Розу ветров".

Так пойдёт?
program roza_vetrov;
uses crt,graph;
Var Gd, Gm : Integer;
Begin clrscr;
Gd:=Detect;
InitGraph(Gd, Gm, ' ');
setcolor(4);
line(120,240,320,240);
line(320,240,280,200);
line(280,200,120,240);
setfillstyle(1,4); floodfill(250,220,4);
line(320,240,320,440);
line(320,440,280,280);
line(280,280,320,240);
setfillstyle(1,4); floodfill(300,300,4);
line(320,240,520,240);
line(520,240,360,280);
line(360,280,320,240);
setfillstyle(1,4); floodfill(350,250,4);
line(320,240,320, 40);
line(320, 40,360,200);
line(360,200,320,240);
setfillstyle(1,4); floodfill(330,150,4);
setcolor(3);
line(120,240,320,240);
line(320,240,280,280);
line(280,280,120,240);
setfillstyle(1,3); floodfill(250,260,3);
line(320,240,320,440);
line(320,440,360,280);
line(360,280,320,240);
setfillstyle(1,3); floodfill(330,270,3);
line(320,240,520,240);
line(520,240,360,200);
line(360,200,320,240);
setfillstyle(1,3); floodfill(360,220,3);
line(320,240,320, 40);
line(320, 40,280,200);
line(280,200,320,240);
setfillstyle(1,3); floodfill(300,200,3);

readkey;
closegraph;
end.
Demian
Уже не требуется, но все равно большое спасибо.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.