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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.01.2013, 22:10   #11
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Да, именно она, но я не нашел штриховки в виде точек.
Вы можете посмотреть все виды в содержании по слову setbrushstyle.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 01.01.2013, 23:50   #12
Falcao
Пользователь
 
Регистрация: 29.11.2012
Сообщений: 33
По умолчанию

ПОМОГИТЕ ещё с одним . Построить кривые по их уравнениям, заданным в полярных координатах:
спираль Ферма ρ 2 = а2φ
Falcao вне форума Ответить с цитированием
Старый 02.01.2013, 01:08   #13
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Код:
uses crt, graphABC, PointRect;
const
  count = 10;
  g = pi / 180;
  a = 150;
  x0 = 200;
  y0 = 200;
var
  f, r: real;
  p: array [1 .. 2] of point;
begin
  SetWindowSize(900, 900);
  SetPenWidth(1);
  p[1].x := 0;
  p[1].y := 0;
  f := g;
  while f < 2 * pi * count do
  begin
    r := a * sqrt(f * pi / 180);
    p[2].x := round(r * cos(f));
    p[2].y := round(-r * sin(f));
    line(p[1].x + x0, p[1].y + y0, p[2].x + x0, p[2].y + y0);
    line(-p[1].x + x0, -p[1].y + y0, -p[2].x + x0, -p[2].y + y0);
    p[1] := p[2];
    f := f + g;
  end;
end.
Не нужно кросспостить.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 02.01.2013 в 02:10.
BDA вне форума Ответить с цитированием
Старый 02.01.2013, 01:43   #14
Falcao
Пользователь
 
Регистрация: 29.11.2012
Сообщений: 33
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
uses crt, graphABC, PointRect;
const
  count = 10;
  g = pi / 180;
  a = 150;
  x0 = 200;
  y0 = 200;
var
  f, r: real;
  p: array [1 .. 4] of point;
begin
  SetWindowSize(900, 900);
  SetPenWidth(1);
  f := 0;
  p[1].x := 0;
  p[1].y := 0;
  p[2] := p[1];
  while f < 2 * pi * count do
  begin
    r := a * sqrt(f * pi / 180);
    p[3].x := round(r * cos(f));
    p[3].y := round(-r * sin(f));
    p[4].x := round(-r * cos(f));
    p[4].y := round(r * sin(f));
    line(p[1].x + x0, p[1].y + y0, p[3].x + x0, p[3].y + y0);
    line(p[2].x + x0, p[2].y + y0, p[4].x + x0, p[4].y + y0);
    p[1] := p[3];
    p[2] := p[4];
    f := f + g;
  end;
end.
Не нужно кросспостить.
спасибо вам огромное, завтра сдам, но кроме зачёта хотелось бы разузнать как оно всё работает, где это можно почитать помимо справки?
Falcao вне форума Ответить с цитированием
Старый 02.01.2013, 02:12   #15
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Пожалуйста.

Во-первых, не нужно цитировать полностью сообщение, иначе можно получить предупреждение.
Во-вторых, упростил код в предыдущем посте.
В-третьих, насчет работы:
Рисование очень простое. Берем начальный угол. Поворачиваемся на какой-то малый угол и выражаем из формулы радиус. Затем рассчитываем координаты точки через синус и косинус. При этом у нас сохранена предыдущая точка. Осталось соединить 2 точки линией. Используем смещение, чтобы рисунок был где-то посередине экрана, а не в углу. Также стоит учесть, что при каком-либо угле имеем 2 точки, симметричные относительно начала координат.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с графикой, СИ Newb1e Помощь студентам 3 25.06.2012 16:51
Работа с графикой Mr_freeman Помощь студентам 0 15.04.2011 16:51
Работа с графикой Dark Espeon Помощь студентам 1 06.04.2011 22:40
Работа с графикой в Qt Kostia Qt и кроссплатформенное программирование С/С++ 8 25.02.2011 02:35
Работа с графикой! Gladiator Фриланс 6 10.03.2010 18:47