Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Pascal ABC Найти минимальное число, присвоить его значение второму и четвертому элементам массива https://www.cyberforum.ru/ pascalabc/ thread1270533.html
Минимальное-то нашел, а вот как выполнить замену сразу на два места не понимаю. Добавлено через 56 секунд P.S. Найти минимальное число, присвоить его значение второму и четвертому элементам...
Написать программу, которая вычисляет сумму элементов, находящихся на побочной диагонали квадратной матрицы Pascal ABC
Написать программу, которая вычисляет сумму элементов, находящихся на побочной диагонали квадратной матрицы 10 х 10, заполненной случайными действительными числами.
Pascal ABC Определить, можно ли натуральное число N представить в виде произведения двух простых чисел
Всегда выводи одинаковые ответы. можно натуральное число N представить в виде произведения двух простых чисел program Prostye_chisla; uses crt; var flag1:boolean; function prost...
Pascal ABC В натуральном трехзначном числе получить самую маленькую цифру Program z2; var k: integer; begin Writeln ('введите трехзначное число'); Readln('k'); if (k>999) and (k<100) then ('введено неверное значение') Не пойму что дальше писать:-| https://www.cyberforum.ru/ pascalabc/ thread1270413.html
Pascal ABC Для заданного а вычислить f(a), где f(x) задана графиком https://www.cyberforum.ru/ pascalabc/ thread1270411.html
Для заданного а вычислить f(a), где f(x) задана графиком. а) б) в) г)
Сформировать массив В из массива А, разделив все элементы с четными номерами на первый элемент Pascal ABC
Заполнить массив А случайными числами . Сформировать массив В из массива А, разделив все элементы с четными номерами на первый элемент.
Pascal ABC Нахождение решения заданной функции
Помогите составить программу в паскале для нахождения решения данной функции : f(x)=sin(3x)+3cos(x)-1 . Очень надо!
Pascal ABC Вычислить значение выражения при натуральном n и действительном x Дано натуральное n, действительное x. Вычислить (номер 14): (\frac{1}{2}-cos|x|)(\frac{2}{3}-{cos}^{2}|x|)...(\frac{n}{n+1}-{cos}^{n}|x|) https://www.cyberforum.ru/ pascalabc/ thread1270230.html
Pascal ABC Сформировать массив, упорядоченный по возрастанию, определить, содержит ли он заданное число https://www.cyberforum.ru/ pascalabc/ thread1270189.html
Помогите народ. Срочно( В заранее благодарен. Программы должны работать с файлами. Сформировать массив Х, упорядоченный по возрастанию. Определить, содержит ли он заданное число. Если элемент ...
Pascal ABC Определить, содержит ли массив заданное число. Если элемент не найден, то вставить его в конец массива Если массив данных неупорядочен, то для поиска нужного элемента можно применить метод линейного поиска. Линейный поиск заключается в последовательном переборе элемента массива и сравнения каждого из... https://www.cyberforum.ru/ pascalabc/ thread1270116.html
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 22
20.10.2014, 15:44  [ТС] 0

По полученным точкам графика перегиба при разных t построить огибающую линию

20.10.2014, 15:44. Просмотров 1001. Ответов 5
Метки (Все метки)

Ответ

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
uses
  graphABC;
 
var
  A, B: real;
  c: integer;
 
function F(x, t: real; k: byte): real;
begin
  case k of
    3: F := A * x + t * (x * ln(x) + (1 - x) * ln(1 - x)) + B * t * (1 - x); //ãðàôèê
    1: F := t*(1/(1-x)+1/x); //îãèáàþùàÿ
    2: F := (A-B*t+t*(-ln(1-0.77)+ln(0.77)))*(x-0.77)  //êàñàòåëüíàÿ
  end
end;
 
var
  t, xn, xk, x, mx, my, dx: real;
  x0, y0, i, k, i1: integer;
  s: string;
 
begin
  x0 := 50;//íà÷àëî êîîðäèíàò íà ýêðàíå
  y0 := windowheight - 50;
  t:=-1;
  xn := 0;
  xk := 1;//èíòåðâàë ïî Õ
  mx := (windowwidth - x0 - 30) / xk;//ìàñøòàá ïî Õ
  my := (y0 - 40) / 7{F(0.001,t, 3)};//ïî Ó
  line(0, y0, windowwidth, y0);//îñè
  line(x0, 0, x0, windowheight);
  for i := 1 to 10 do//ìàêñèìàëüíîå êîëè÷åñòâî çàñå÷åê â îäíó ñòîðîíó
  begin
    line(x0 + round(i * mx / 10), y0 - 3, x0 + round(i * mx / 10), y0 + 3); //çàñå÷êè íà îñè Õ
    str(i / 10:0:1, s); //ïîäïèñü îñè Õ
    textout(x0 + round(i * mx / 10), y0 + 10, s);
    line(x0 - 3, y0 - round(i * my), x0 + 3, y0 - round(i * my)); //çàñå÷êè íà îñè Y
    str(i, s);//ïîäïèñü îñè Y
    textout(x0 - 20, y0 - round(i * my), s);
  end;
  //öåíòð
  textout(x0 + 5, y0 + 10, '0');
  //ïîäïèñè êîíöîâ îñåé
  textout(windowwidth - 20, y0 - 20, 'X');
  textout(x0 + 10, 10, 'Y');
  //ãðàôèê
  c:=clBlue;
  dx := 0.001;
  for k := 1 to 3 do
  begin
    x := xn;
    if k = 2 then begin
      c:=clGreen
      end
       else
    if k = 3 then begin
      A := 1 * t;
      B := 1 * t;
      c:=clRed
    end;
    while x <= xk do
    begin
      if x > 0 then setpixel(x0 + round(x * mx), y0 - round(F(x, t, k) * my), c);
      x := x + dx; //íàðàùèâàåì õ
    end;
  end
end.
собственно вот, вышло сделать касательную с огибающей, но, я кое-чего так и не понял:

1)мне надо чтобы "t" была промежутком(вроде, возможно периодом) от -1 до 1 например, но когда я пробовал делать так, ничего не менялось. Если бы все было правильно график должен был бы напоминать синусоиду, но ничего подобного не выходит. Что с этим можно сделать?
2) огибающая получилась снизу, но я не понял как подвинуть график выше, чтобы на экране отображалась нижняя часть (где отрицательные "y").

Помогите пожалуйста, вроде сильно менять ничего не нужно, небольшие правки только, хотя на счет "t" и как сделать из графика синусоиду, за счет "t" (или еще как-то), я не уверен.

Вернуться к обсуждению:
По полученным точкам графика перегиба при разных t построить огибающую линию
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2014, 15:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как нарисовать линию огибающую другие области?
Например как здесь: тут или тут То есть указать точку из которой идёт линия и конечную. А...

Сколько разных замкнутых контуров можно построить по n точкам?
Линии контуров могут пересекаться. Если имеются 3 точки, можно построить 1 замкнутый контур -...

Графика. Построить ломаную линию по координатам из файла
Помогите пожалуйста сделать вот такую задачку:Координаты ломаной линии, заданные целыми числами (в...

3D график по полученным точкам
привет всем, возникла вроде бы довольно легкая проблема, но бьюсь над ней уже несколько дней и весь...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.