Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Владимир186
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 2
#1

Найти объём сферы методом Монте-Карло и определить точность - C++

20.02.2014, 12:28. Просмотров 861. Ответов 4
Метки нет (Все метки)

Помогите решить 2 задачи в программе C

1) заданы координаты вершин треугольников. Определить, является ли этот треугольник равнобедренным, равносторонним, прямоугольным.

2) Задан радиус сферы и количество итераций. Найти объём сферы методом Монте-Карло и определить точность
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2014, 12:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти объём сферы методом Монте-Карло и определить точность (C++):

Методом Монте-Карло определить вероятности - C++
Составить компьютерную программу, позволяющую с помощью метода Монте-Карло определить требуемые в варианте задания вероятности. Для всех...

Метод Монте-Карло. Объем сферы - C++
Задан радиус сферы и количество итераций. Найти объём сферы методом Монте-Карло и определить точность

Определить площадь фигуры (методом Монте-Карло) - C++
Здраво народ! Стоит задача: с помощью метода Монте-Карло найти площадь фигуры. Для этого я генерирую случайные числа в диапазоне от 0 до 8....

Методом Монте-Карло определить площадь заштрихованой фигуры - C++
Нарисовать линиями в Chart for (int i=0; i<=100; i++) { x=i; ...

Определить, каких чисел больше в массиве: положительных или отрицательных, методом Монте Карло - C++
Помогите ,пожалуйста!!!!! определить каких чисел больше в массиве положительных или отрицательных методом Монте Карло . буду очень...

Вычислить методом Монте-Карло - C++
Помогите Вычислить методом Монте-Карло: а)площадь фигуры, ограниченной половиной синусоиды; б)площадь фигуры, ограниченной квадратной...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
wingblack
259 / 234 / 33
Регистрация: 09.04.2013
Сообщений: 863
20.02.2014, 14:43 #2
1)
найти длинны сторон по координатам вершин, определять тип треугольника по свойствам: равнобедренный имеет две равные стороны, равносторонний - все стороны равны, прямоугольный - либо через формулу о квадратах катетов и гипотенузы либо через формулу скалярного произведения в декартовых координатах(если угол между двумя векторами по точкам равен 90 градусов, то следовательно сумма от произведения соответствующих координат векторов должна равняться нулю)
2)
Напомню суть метода Монте-Карло - тыкаем произвольно в точки ограниченного пространства, считаем сколько раз попали внутрь искомой фигуры, и сколько попыток всего. По результатам у нас выйдет что объем искомой фигуры относится к объему всей области также как число удачных попыток к общему число
http://www.cyberforum.ru/cgi-bin/latex.cgi?Vsphere = \frac{hits}{total}Vcube
Итак, ограничиваем область "тыканья" кубом со шириной 2R (чтобы вписалась сфера)и центром в начале координат
Центр сферы тоже поставим в начало координат для простоты вычислений
Напомню параметрическое уравнение сферы c центром в начале координат
http://www.cyberforum.ru/cgi-bin/latex.cgi?{x}^{2}+{y}^{2}+{z}^{2} = {R}^{2}
Соответственно попадание внутрь сферы определяется по формуле
http://www.cyberforum.ru/cgi-bin/latex.cgi?{x}^{2}+{y}^{2}+{z}^{2} < {R}^{2}
Объем сферы:
http://www.cyberforum.ru/cgi-bin/latex.cgi?V = \frac{4}{3}\pi {R}^{3}
За погрешность возьмем (по модулю) разницу чисел вычисленных по формуле и по методу Монте-Карло

Словесное описание алгоритма:

Код
удачные попытки = 0
Для i от 1 до количества попыток
 x = произвольное число он -R до R
 y = произвольное число он -R до R
 z = произвольное число он -R до R
 Eсли  x*x+y*y+z*z <= R*R то
  удачные попытки += 1
объем = (удачные попытки / количество попыток) * (2R*2R*2R)
погрешность = abs(объем - (4/3)*Pi*R*R*R )
Вроде так.

P.S. Если все же рассчитывается на код на С - пишите в соответствующий раздел
0
Владимир186
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 2
20.02.2014, 14:45  [ТС] #3
Спасибо! Но я далёк от этих разделов и ни чего не понимаю в них. Мне нужно решение этих задач в программе С
0
wingblack
259 / 234 / 33
Регистрация: 09.04.2013
Сообщений: 863
20.02.2014, 14:53 #4
Думаю, что в разделе С++ для начинающих вам помогут быстрее.
0
BumerangSP
21.02.2014, 04:35     Найти объём сферы методом Монте-Карло и определить точность
  #5
 Комментарий модератора 
Перенесено из Алгоритмы
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 04:35
Привет! Вот еще темы с ответами:

Интегрирование методом Монте-Карло - C++
доброго времени суток форумчане, была поставлена задача написать программу которая будет вычислять интеграл методом Монте-Карло вот что я...

Вычислить интеграл методом Монте-Карло - C++
\int \int_{G}^{}\ln(1 + {x}^{2} + {y}^{2})dxdy , G: {x}^{2} + {y}^{2} &lt;= {a}^{2} (R: \pi )

Вычисление числа Пи методом Монте-Карло - C++
Решаю задачи по рандомным числам и столкнулся вот с такой&quot;Вычисление числа Пи методом Монте-Карло&quot;. Подскажите как это реализовать в С++,...

Вычисление площади методом Монте-Карло - C++
Всем доброго время суток. Написать программу для вычисления методом Монте-Карло площади S тела, ограниченного кривыми x*y = a и x + y =...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.02.2014, 04:35
Ответ Создать тему
Опции темы

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