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

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

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

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

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

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

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

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

Вычисление числа Пи методом Монте-Карло C++
Вычисление числа Пи методом Монте-Карло C++
C++ Странный интеграл методом Монте-Карло
Таблица умножения методом Монте-Карло C++
Метод Монте-Карло. Объем сферы C++
C++ Определить, каких чисел больше в массиве: положительных или отрицательных, методом Монте Карло
C++ Вычисление интеграла методом Монте-Карло
Методом Монте-Карло определить площадь заштрихованой фигуры C++
Определить площадь фигуры (методом Монте-Карло) C++
C++ Вычислить интеграл методом Монте-Карло
C++ Интегрирование методом Монте-Карло
Вычислить методом Монте-Карло C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
wingblack
252 / 227 / 33
Регистрация: 09.04.2013
Сообщений: 849
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. Если все же рассчитывается на код на С - пишите в соответствующий раздел
Владимир186
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 2
20.02.2014, 14:45  [ТС]     Найти объём сферы методом Монте-Карло и определить точность #3
Спасибо! Но я далёк от этих разделов и ни чего не понимаю в них. Мне нужно решение этих задач в программе С
wingblack
252 / 227 / 33
Регистрация: 09.04.2013
Сообщений: 849
20.02.2014, 14:53     Найти объём сферы методом Монте-Карло и определить точность #4
Думаю, что в разделе С++ для начинающих вам помогут быстрее.
BumerangSP
21.02.2014, 04:35     Найти объём сферы методом Монте-Карло и определить точность
  #5
 Комментарий модератора 
Перенесено из Алгоритмы
Yandex
Объявления
21.02.2014, 04:35     Найти объём сферы методом Монте-Карло и определить точность
Ответ Создать тему
Опции темы

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