Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 50
1

График функции

16.04.2017, 15:40. Показов 1164. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Извините, может кому не жалко. Очень большая просьба. У меня времени не хватает, да и сложно мне с программированием, в школе практически ничего не изучали, в университете столько информации. В общем у меея большое задание. Как его часть мне нужна программа, которая рисовала бы в делфи, координаты задавались бы изначально, то есть вручную на форме вводились. Если у кого есть такая работа, не могли бы поделиться?

Добавлено через 8 минут
Парабола, эллипсоид и т.д. Не важно в общем в каком пространстве.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2017, 15:40
Ответы с готовыми решениями:

график функции
Построить график функции: y=a*x5 в Delphi

График функции
Нужно построить график функции y=ln(x^2+9). на делфи

График функции
Составить программу, определяет, проходит график функции у=х(квадрат)+2х+2 через точку А (х, у)

График функции!!!
нужно в delphi простроить такой график как на рисунку. ето в mathcad. а мне нужно такой же но в...

7
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,795
Записей в блоге: 3
16.04.2017, 16:41 2
А внизу этой страницы посмотреть раздел "Похожие темы", это уже никак не возможно?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.04.2017, 16:53 3
Да ей нужно 3D тело, пробовала в другой теме эллипсоид,но не понравилось.
0
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,795
Записей в блоге: 3
16.04.2017, 17:05 4
Даже с моими школьными знаниями по математике и то помнится, что парабола и 3D - это как бы разные вещи... Параболоид - еще куда ни шло...
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.04.2017, 17:14 5
Лучший ответ Сообщение было отмечено Педагогиня как решение

Решение

Цитата Сообщение от D1973 Посмотреть сообщение
Даже с моими школьными знаниями
Так Педагогиня не известно, ходила ли в школу.
Кстати здесь есть однополостной гирерболоид.
однополостный гиперболоид вращения
Я немного подправил код, вроде нормально смотрится.
Delphi
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
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
 align:=alClient;
end;
 
procedure TForm1.FormPaint(Sender: TObject);
const al = pi/4;
 // x^2/a^2 + y^2/b^2 - z^2/c^2 = 1
 // однополостный гиперболоид
 // для заданных x, y точки на поверхности может не существовать
 // - функция возвращает false
 // или существует 2 точки - z1, z2
 function f(a,b,c:integer; x,y:real; var z1, z2 :real):boolean;
 var m:real;
 begin
  z1 := 0; z2 := 0;
  m := ((x*x)/(a*a)+(y*y)/(b*b) -1) * (c*c);
  result := (m >= 0) and (m < 1e37);
  if not result then exit;
  z1 := sqrt(m);
  z2 := -z1;
 end;
var a, b, c:intege;
    x1, y1, x0, y0, m:integer;
    x, y, dx, dy, z1, z2:real;
begin
// Задание параметров поверхности
a := 10; //strtoint(inputbox('окно ввода','введи a',' '));
b := 10; //strtoint(inputbox('окно ввода','введи b',' '));
c := 15; //strtoint(inputbox('окно ввода','введи c',' '));
// центр системы координат - в центре формы
x0 := width div 2;
y0 := height div 2;
// Рисуем систему координат
canvas.MoveTo(x0-10, y0); canvas.lineTo(width-50, y0); canvas.textout(width-40,y0,'X');
canvas.MoveTo(x0, y0+10); canvas.lineTo(x0, 0+50);     canvas.textout(x0, 0+40, 'Z');
canvas.MoveTo(x0+trunc(10*sin(al)), trunc(y0-10*cos(al)));
x1 := x0-trunc(y0*sin(al));
y1 := y0+trunc(y0*cos(al));
canvas.lineTo(x1, y1);
canvas.textout(x1, y1, 'Y');
m := 2;   // масштабный коэффициент
dx := 1;
dy := 1;
x := -100;
while x <= 100 do
 begin
  y := -100;
  while y <= 100 do
   begin
    if f(a, b, c, x, y, z1, z2) then
     begin
      x1 := trunc(x0 + m*x - m*y*cos(al));
      y1 := trunc(y0 + m*y*cos(al)- m*z1);
      canvas.Pixels[x1,y1] := clpurple;
      x1 := trunc(x0 + m*x - m*y*cos(al));
      y1 := trunc(y0 + m*y*cos(al)- m*z2);
      canvas.Pixels[x1,y1] := clpurple;
     end;
    y := y + dy;
   end;
  x := x + dx;
 end;
end;
Кстати кто разбирается, можно переделать в эллипсоид, в формуле всего одно отличие.
x^2/a^2 + y^2/b^2 - z^2/c^2 = 1
x^2/a^2 + y^2/b^2 + z^2/c^2 = 1
0
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 50
16.04.2017, 17:19  [ТС] 6
спасибо большое
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.04.2017, 17:53 7
Для эллипсоида нужно изменить это

Delphi
1
2
3
4
5
6
7
8
9
10
function f(a,b,c:integer; x,y:real; var z1, z2 :real):boolean;
 var m:real;
 begin
  z1 := 0; z2 := 0;
  m := ((x*x)/(a*a)+(y*y)/(b*b) -1) * (-c*c);//вот здесь добавить минус
  result := (m >= 0) and (m < 1e37);
  if not result then exit;
  z1 := sqrt(m);
  z2 := -z1;
 end;
И поменять параметры a,b,c типа так
Delphi
1
2
3
4
// Задание параметров поверхности
a := 100; //strtoint(inputbox('окно ввода','введи a',' '));
b := 60; //strtoint(inputbox('окно ввода','введи b',' '));
c := 80; //strtoint(inputbox('окно ввода','введи c',' '));
Для получения из программы однополостного гиперполоида двуполостного заменить в формуле
Delphi
1
m := ((x*x)/(a*a)+(y*y)/(b*b) -1) * (c*c);
-1 на +1
0
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 50
17.04.2017, 10:34  [ТС] 8
спасибо огромное
0
17.04.2017, 10:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2017, 10:34
Помогаю со студенческими работами здесь

График функции.
Доброго времяни суток. Вобщем есть задача построить график функции, точнее 4 графика, но не суть в...

График функции
Простите за очень простой вопрос, но как построить график функции y=3-2*x-x^3, используя компонент...

График функции
Здравствуйте, очень нужна помощь... Необходимо построить график функции по точкам, координаты...

График Функции
Помогите, пожалуйста разобраться c некоторыми моментами кода unit graph_unit; interface uses...

График функции
Как спростить данный фрагмент кода... Дело в том что при значении x=0 и x=-0.1, y получается...

график функции
unit Unit6; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru