Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 05.11.2009
Сообщений: 5

Площадь окружностей

05.11.2009, 23:07. Показов 3690. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: Рассматриваются н лучей, проведенных в плоскости из точки О. Углы между соседними лучами равны 2П/н. На лучах выбраны точки а1, а2 ... ан и из точек как из центров проведены окружности, проходящие через точку О. Считая данными расстояния а1о, а2о ... аНо вычислить площадь фигуры, образованной всеми окружностями.
Надо решить только для н<=4. Буду рад мыслям)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2009, 23:07
Ответы с готовыми решениями:

Площадь пересечения окружностей
Найти площадь пересечения двух окружностей. Дано координаты центров и радиусы. Окружности могут быть одна внутри другой, пересекаться в...

Вычислить площадь пересечения двух окружностей
Здравствуйте) Может кто-нибудь сталкивался с написнием программы для вычисления площади пересечения двух кругов? помогите, пожалуйста...

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

16
Босс
 Аватар для sheka
161 / 126 / 10
Регистрация: 03.06.2009
Сообщений: 750
05.11.2009, 23:38
ща накатаем
0
Босс
 Аватар для sheka
161 / 126 / 10
Регистрация: 03.06.2009
Сообщений: 750
06.11.2009, 01:08
Вот формулы для нахождения маленьких площадей s1и s2.
В программе находите все такие площади и отнимаете каждую из них два раза от общей площади, которая равна сумме площадей окружностей.
S=2*pi*(r1+r2+...rn)-2((s1+s2)+(s3+s4)+...(sn-1+sn));
1
Босс
 Аватар для sheka
161 / 126 / 10
Регистрация: 03.06.2009
Сообщений: 750
06.11.2009, 01:10

Не по теме:

Извините, что, как говорят некоторые форумчане, "на туалетной бумажке" и не красивым почерком(каким умею) :)


если никто программу не напишет - может завтра напишу.
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
06.11.2009, 05:53
ещё иллюстрации
если просто отнимать площади, то в каждой окружности будут отниматься уже отнятые
Миниатюры
Площадь окружностей  
Изображения
 
0
Босс
 Аватар для sheka
161 / 126 / 10
Регистрация: 03.06.2009
Сообщений: 750
06.11.2009, 12:47
Да, для 2х я не рассматривал))), извините.
но для 4х все чики пики)
Для 5 и болеетакой расчет вообще не возможен, т.к. тама очень миллион разных вариантов.
2
0 / 0 / 0
Регистрация: 05.11.2009
Сообщений: 5
06.11.2009, 12:54  [ТС]
Для 2х и не надо, там все понятно) Программа нужна для числа окружностей от 1 до 4. Еще желательно использовать подпрограммы) .
0
Босс
 Аватар для sheka
161 / 126 / 10
Регистрация: 03.06.2009
Сообщений: 750
06.11.2009, 13:02
ЩА!
тогда свитчем попробую) четыре варианта всего)

Добавлено через 45 секунд
только скажи сразу: Си или Си++ ?
1
0 / 0 / 0
Регистрация: 05.11.2009
Сообщений: 5
06.11.2009, 18:37  [ТС]
c++
еще пришла идея считать через площадь сложной фигуры. Как интеграл.
0
Босс
 Аватар для sheka
161 / 126 / 10
Регистрация: 03.06.2009
Сообщений: 750
07.11.2009, 01:12
Вот решение. Только несколько но:
1. идея вышеприведеного решения правильна, если не учитывать ошибки "времени выполнения" площадь круга = 2ПR))), вместо минуса плюс итп., т.к. писал в полночь)))
2. Вроде программа работает правильно (считал по клеточкам), но лучше перепроверьте, т.к. ошибки "времени выполнения" не исключины) и Си я вообще не знаю
3. Если все же вам надо будет полное объяснение - пишите - напишу.
C++
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
#include <cmath>
#include <iostream>
#include <conio.h>
using std::cout;     // подключишь cout
using std::cin;       // подключишь cin
using std::endl;     // подключишь endl
 
float g(int r1,int r2,float f){
    float a=(r1*r1-r1*r2*cos(f))/sqrt(r1*r1+r2*r2-2*r1*r2*cos(f));
    cout<<"a="<< a<<endl;
    cout<<"r1="<< r1<<endl;
    return(acos(a/r1));
}
 
float s1(int r1,int r2,float g){
    return(r1*r1*(g-sin(2*g)/2));
}
 
float s2(int r1,int r2,float g, float f){
    return(r2*r2*((M_PI-f-g)+sin(2*(f+g))/2));
}
 
main(){
    int n;
    cout<<"vvedi n"<<endl;
    cin>>n;
    float f=2*M_PI/n;
    int a[n-1];
    int i;
    for(i=0;i<=n-1;i++){
        cout<<"vvedite radius "<<i+1<<" okruzhnosti"<<endl;
        cin>>a[i];
        cout<<a[i]<<endl;
    }
    float s;
    switch(n){
        case 1: s=M_PI*a[0]*a[0]; break;
        case 2: s=M_PI*(a[0]*a[0]+a[1]*a[1]); break;
        case 3: case 4: for(i=0,s=0;i<=n-1;i++){
            s+=M_PI*a[i]*a[i]-(s1(a[i],(i<(n-1))?a[i+1]:a[0],g(a[i],(i<(n-1))?a[i+1]:a[0],f))+s2(a[i],(i<(n-1))?a[i+1]:a[0],g(a[i],(i<(n-1))?a[i+1]:a[0],f),f));
            } break;
    }
    cout<<"s="<< s<<endl;
    return 0;
}
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2009, 08:16
Цитата Сообщение от sheka
площадь круга = 2ПR)))
2R = D
Pi*D ~= 3*D

http://ru.wikipedia.org/wiki/%... 1%82%D1%8C
http://ru.wikipedia.org/wiki/%... 1%83%D0%B3
1
0 / 0 / 0
Регистрация: 05.11.2009
Сообщений: 5
07.11.2009, 09:47  [ТС]
Спасибо! Будем разбираться)
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2009, 10:02
есть ещё точки пересечения окружностей, их можно соединить с центрами, получится фигура, которой, вроде бы, принадлежат все маленькие площади
0
Босс
 Аватар для sheka
161 / 126 / 10
Регистрация: 03.06.2009
Сообщений: 750
07.11.2009, 11:13
Цитата Сообщение от accept Посмотреть сообщение
2R = D
Pi*D ~= 3*D
я же говорю, это была ошибка)
есть ещё точки пересечения окружностей, их можно соединить с центрами, получится фигура, которой, вроде бы, принадлежат все маленькие площади
Возможно, но для 3х я не уверен. врядли это к чему-то более легкому приведет.
я искал площади всех n кругов, и отнимал по одному разу те части, которые перекрываются. (ищется площадь сегмента и все).
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
07.11.2009, 22:13
Для N==1 тривиально.
Для N==2 тривиально.
Для N==3 и N==4 решение одинаково.
Нужно сложить площади откружностей, потом вычесть площади попарных их пересечений.
Пересечение двух окружностей в данном случае - это два одинаковых сегмента, сложенных вместе.
Нужно рассчитать площади сегментов.
Для этого нужно рассчитать точки пересечения отружностей.
А дальше чистая математика.
0
0 / 0 / 0
Регистрация: 05.11.2009
Сообщений: 5
08.11.2009, 21:07  [ТС]
Цитата Сообщение от odip Посмотреть сообщение
...А дальше чистая математика.
Вот в математике то и весь вопрос)

to sheka
Ваш C++ какой то не С++) У меня Борланд Си 3.1 вроде бы, ругается на синтаксис и на все остальное)
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
09.11.2009, 02:42
там, если с фигурой правильно, получается сумма площадей треугольников, например, треугольник A1 O M, где M - точка пересечения окружностей (A1, r1) и (A2, r2)
в каждой окружности два таких треугольника и, главное, перекрытий никаких
а остатки - секторы кругов, тоже без перекрытий и вычисляются по формуле, где нужен угол и радиус
надо просто доказать, что фигура сохраняется для любого n
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.11.2009, 02:42
Помогаю со студенческими работами здесь

Найти площадь равностороннего треугольника и радиусы вписанной и описанной окружностей
1. Дана сторона равностороннего треугольника. Найти площадь этого треугольника и радиусы вписанной и описанной окружностей.

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

По данным трем сторонам треугольника вычислить площадь и радиусы вписанной/описанной окружностей
Даны три стороны треугольника a,b,c. Вычислить: его площадь S (по формуле Герона); радиус вписанной окружности r; радиус описанной...

Определить на какой итерации площадь вписываемых окружностей составит менее 1% от площади исходной окружности
Имеется окружность радиусом R, в нее вписываются 4 окружности радиусами R1=R/2, в свою очередь в них вписываются по 4 окружности радиусами...

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


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru