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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2019, 15:48   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Вспомнить теорему Пифа Горова
поясню на рисунке
risunok1.jpg

а вот площадь я бы лично считал через сумму бесконечно малых значений (см. программу) и даже близко к тригонометрии не подходил!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.09.2019, 15:59   #12
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

тригонометрически - быстрее и точнее безо всяких интегралов. То, что можно аналитически - не стоит численных методов, я так думаю..
Площадь верхней четвертинки - Пи / 4. Угол = ArcCos (x). Площадь сектора = (Пи / 4) * (угол / (Pi /4) ) = угол ( в радианах ) . И минус площадь треугольника .
Для нижней полу... - чуть сложнее, но тоже считается без интегралов и на калькуляторе.
А если интегрировать - лучше по Симпсону, он для плавных кривых хорошо приспособлен. Может быть, 2..3 удвоений было бы достаточно для уже приличной точности.

Последний раз редактировалось digitalis; 19.09.2019 в 16:03.
digitalis вне форума Ответить с цитированием
Старый 19.09.2019, 16:03   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Площадь сектора =
(Пи / 4) * (угол / (Pi /4) ) = угол ( в радианах ) . И минус площадь треугольника .
погодите, площадь какого сектора?

вот с буквами рисунок, чтобы проще объяснять было:
risunok1let.jpg

разной штриховкой выделены фигуры, площадь которых надо найти

Последний раз редактировалось Serge_Bliznykov; 19.09.2019 в 16:11.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.09.2019, 16:37   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Сергей, вверху полукруг радиусом AB. BXM пол сектора этого круга. Внизу аналогично, только два полукруга
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.09.2019, 16:40   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
BXM пол сектора этого круга.
простите, не понял. Это как?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.09.2019, 16:47   #16
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

BCM - сектор
BXM - его половина

ой, сегмент а не сектор ) Начал же с сегмента, а тут сектора всплыли, хаос в голове короче ))

адд если от центр в B провести луч, то в общем то и сектор образуется )
Изображения
Тип файла: png Безымянный.png (13.4 Кб, 30 просмотров)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 19.09.2019 в 16:57.
Аватар вне форума Ответить с цитированием
Старый 19.09.2019, 17:14   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
ой, сегмент а не сектор )
всё. теперь понял.

отсюда википедия - сегмент

s_segment.png

теперь я понял, как вы предлагает вычислять (правда площадь прямоугольного треугольника тут вообще не при делах, но это не важно).

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

впрочем, выбирать автору темы.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.09.2019, 20:27   #18
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Я формулы площади сегмента отродясь не знал, потому предлагал вычислить площадь сектора ABM и вычесть площадь треугольника АВХ. Чем длиннее - тем лучше ( не всегда )
Вот стьюден заставил дядей мозгами пораскинуть, а готову прогу так и не намулюкали, гады

Последний раз редактировалось digitalis; 19.09.2019 в 20:30.
digitalis вне форума Ответить с цитированием
Старый 22.09.2019, 07:08   #19
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
const R1=1;
      R2=R1/2;
      ss1=pi*R1*R1;
      ss2=pi*R2*R2;
var a,x,xp,x2,x2p,s1,s2,y_razrez,s_left,s_right:real;
begin
   Write('x = '); Readln(x);
   xp:=Abs(x);
   If xp>1 then
   begin
      Writeln('x: [-1 ... 1]');
      Readln;
      Exit;
   end;
   y_razrez:=Sqrt(R1*R1-xp*xp);
   a:=ArcCos(xp/R1)*2;
   s1:=R1*R1/2*(a-Sin(a))/2;
   x2:=xp-R2;
   x2p:=Abs(x2);
   y_razrez:=y_razrez+Sqrt(R2*R2-x2p*x2p);
   a:=ArcCos(x2p/R2)*2;
   s2:=R2*R2/2*(a-Sin(a))/2;
   If x2<0 then
      s2:=ss2/2-s2;
   s_right:=s1+s2;
   s_left:=ss1/2+ss2-s_right;
   If x<0 then
   begin
      s_left:=s1+s2;
      s_right:=ss1/2+ss2-s_left;
   end;
   Writeln('y_razrez = ',y_razrez:0:8);
   Writeln('s_left = ',s_left:0:8);
   Writeln('s_right = ',s_right:0:8);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 22.09.2019, 10:49   #20
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Ну вот, давненько не было Лучшего Друга всех лентяев
А про язык ТС секретничал, ни гу-гу. Мож ему не паскалеподобный, а что-нить вроде Ада или ЛИСП? Я в ТП7 решил проверить - облом-с, там аркосинуса нема Хучь убей или через арктангенсы...

Последний раз редактировалось digitalis; 22.09.2019 в 11:40.
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать код программы, вычисляющей длину линии вертикального разреза фигуры KASATKA_AA Паскаль, Turbo Pascal, PascalABC.NET 2 17.09.2018 11:49
Вычислить длину линии разреза (Java(NetBeans IDE 7.2.1)) Наталья Михайловна Помощь студентам 2 06.03.2013 06:46
Длина линии вертикального разреза (Pascal) Viload Python 6 04.10.2012 12:19
Длина линии вертикального разреза фигуры fbsd Помощь студентам 4 07.02.2012 21:20