1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 235
Delphi 6-7

Обучающая программа построения параллелограмма по двум сторонам и диагонали

17.06.2021, 14:38. Показов 2081. Ответов 25

Студворк — интернет-сервис помощи студентам
Скажите пожалуйста как это всё изображать на image, никак не попадаю по пикселям и все сдвигается. Непонятный момент еще с эллипсом(точка на линии), как можно сделать так, чтобы он зависел от длины отрезка. Есть план действий напишу ниже


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
66
67
68
69
70
71
72
var
  Form1: TForm1;
  a,i: Integer;
  x,y: Integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
 i:=0; 
 BitBtn1.Enabled:=False; 
 BitBtn2.Enabled:=True;
end;
 
procedure Proizvol_Otrezok;
begin
a:=Form1.SpinEdit1.Value;
a:=10*a;
x:=240; y:=280;
Form1.Image1.Canvas.pen.Width:=3;
Form1.Image1.Canvas.pen.Style:=psSolid;
Form1.Image1.Canvas.Brush.Color:=clWhite;
Form1.Image1.Canvas.Rectangle(0,0,Form1.Image1.Width,Form1.Image1.Height);
Form1.Image1.Canvas.MoveTo(x-a,y);
Form1.Image1.Canvas.LineTo(x+a,y);
Form1.Image1.Canvas.Font.Size:=14;
Form1.Image1.Canvas.TextOut(x-a-15,y+2,'A');
 
Form1.Image1.Canvas.MoveTo(x-a-50,y);
Form1.Image1.Canvas.LineTo(x+a+50,y);
Form1.Image1.Canvas.TextOut(x+a+53,y+2,'L');
Form1.Image1.Canvas.Pen.Style:=psSolid;
Form1.Image1.Canvas.Brush.Color:=clBlack;
Form1.Image1.Canvas.Ellipse(x-a-15,y+a-1,x-a-10,y+a+1);
Form1.Image1.Canvas.Brush.Color:=clWhite;
 
 
Form1.Memo1.Text:='Для начала проведем произвольную линию L. Поставим на прямую точку А.';
end;
 
procedure Tochka_A;
begin
Form1.Image1.Canvas.pen.Width:=1;
Form1.Image1.Canvas.pen.Style:=psDot;
Form1.Image1.Canvas.Arc(round(x-a), round(y-a),
round(x+a),round(y+a),round(x-a),round(y+4*a/3),
round(x-a),round(y-4*a/3));
Form1.Image1.Canvas.TextOut(x+a+3,y+2,'D');
Form1.Memo1.Text:=' '
+IntToStr(Form1.SpinEdit3.Value)+'см'; ;
end;
 
 
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
i:=i+1;
Case i of
1: Proizvol_Otrezok;
2: Tochka_A;
end;
BitBtn1.Enabled:=True;
 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;
 
end.
Добавлено через 5 минут
1. Проведем произвольную линию L. Ставим на прямую точку А.
2. При помощи циркуля отмеряем и чертим AD.
3. Из точки А при помощи циркуля начертим окружность с радиусом АВ.
4. Из точки D при помощи циркуля начертим окружность с радиусом BD.
5. Точка пересечения является точкой В.
6. Найдем точку С. Из точки В при помощи циркуля начертим окружность с радиусом AD.
7. Из точки D при помощи циркуля начертим окружность с радиусом AB.
8. Соединим точки.
+ еще как-то надо начертить диагональ и объяснить этот шаг

а в программе будут даны 3 длины отрезков AB, AD, BD. Выполнить проверку еще придется правильно ли указана длина диагонали т.е. вроде допустим что BD=d диагональ и d<a+b
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2021, 14:38
Ответы с готовыми решениями:

Построения параллелограмма по сторонам и углу между ними
Всем привет! Помогите с программой пожалуйста. Разработать программу построения параллелограмма по сторонам и углу между ними.

Вычислить площадь параллелограмма по двум сторонам и углу между ними
Составить программу и блок схему к ней. Заранее благодарен. &quot;Вычислить площадь параллелограмма по двум сторонам и углу между ними,...

Найдите площадь параллелограмма по двум сторонам и углу между ними
Нужна помощь! нужно найдите площадь параллелограмма по двум сторонам и углу между ними.

25
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 235
17.06.2021, 21:16  [ТС]
Студворк — интернет-сервис помощи студентам
Так я блин не пойму, мне же надо, чтобы радиус зависел от того, какой отрезок будет указан изначально. Вот вы говорите на данный момент мне известны координаты точки А, через которую и вычислять
Цитата Сообщение от Puporev Посмотреть сообщение
координаты точки Д Дх=Ах+АД, Дy=Ay.
Дуга из т.А
Добавлено через 50 секунд
но когда дело дошло до
Цитата Сообщение от Puporev Посмотреть сообщение
Задайте координаты точки А aх,ay и от этой точки танцуйте.
как-то не сходится ничего
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
17.06.2021, 21:17
Займись чем-то другим, извини, до свидания.
0
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 235
17.06.2021, 22:09  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Займись чем-то другим, извини, до свидания.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure Zasechka_2;
begin
b:=Form1.SpinEdit2.Value;
b:=10*b;
ax:=x-a; ay:=y;
Form1.Image1.Canvas.Brush.Color:=clWhite;
Form1.Image1.Canvas.pen.Width:=1;
Form1.Image1.Canvas.pen.Style:=psDot;
Form1.Image1.Canvas.Arc(round(ax-b), round(ay-b),
round(ax+b),round(ay-b),round(ax+b),round(ay),
round(ax+b),round(ay));
end;
Так это должно выглядеть или нет ????

Добавлено через 1 минуту
Что значит займитесь чем-то другим? Я в отличии от некоторых, если взялся, довожу дело до конца...

Добавлено через 31 минуту
Кому не сложно, помогите завершить программу
0
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 235
17.06.2021, 22:10  [ТС]
Прикрепляю все файлы, кроме .exe
Вложения
Тип файла: rar Параллелограмм.rar (8.1 Кб, 5 просмотров)
0
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
18.06.2021, 02:50
Цитата Сообщение от Uther Посмотреть сообщение
как-то не сходится ничего
Всё сходится. У вас заданы длины трех "отрезков". Для вычисления всех параметров параллелограмма этого достаточно. Но для того чтобы его нарисовать нужно выбрать некую начальную точку с конкретными экранными координатами.

Не по теме:

P.S. Раз уж вы

Цитата Сообщение от Uther Посмотреть сообщение
в отличии от некоторых, если взялся, довожу дело до конца...
то включайте мозги на полную и вперёд с песнями!

0
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 235
22.06.2021, 16:03  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
5. Точка пересечения является точкой В.
//вычислите координаты точки как пересечение двух окружностей у которых Вы знаете координаты центров и радиусы
а как это сделать, подскажите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.06.2021, 16:03

Найдите площадь параллелограмма по двум сторонам и углу между ними
Найдите площадь параллелограмма по двум сторонам и углу между ними.

Составить функцию нахождения площади параллелограмма по двум сторонам и углу между ними
Составить функцию нахождения площади параллелограмма по двум сторонам и углу между ними. С помощью данной функции вычислить площадь для N...

Найти длины диагоналей параллелограмма по двум смежным сторонам и углу между ними
Нужно написать программу на языке СИ , Условие: Составить программу для нахождения длин диагоналей L и R параллелограмма, по двум...

Написать программу для вычисления площади параллелограмма, по двум сторонам и углу между ними
3) Написать программу для вычисления площади параллелограмма,по двум сторонам и углу между ними

Программа для определения треугольника по двум сторонам и углу между ними
Требуется написать программу для определения треугольника. Задаются две стороны и угол между ними. В ответе должно выводиться...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru