2023.04.07 day -61
xy 询问了牛逼题:单位立方体,体心作截面,求期望面积。根据 Alice 的想法,我们将其转化为对射线积分,可又遇到了问题,难搞。

在 456 天之后,我们解决了这道题。


为方便计算,不妨研究边长为 \(2\) 的正方体。

首先转化为对射线积分:

\[\int\limits_{|\vec n|=1}\text{Area}(\vec n)\mathrm{d}\vec n\\ =\int\limits_{|\vec n|=1}\mathrm{d}\vec n\int\limits_{0}^{2\pi}\frac{1}{2}\text{Len}^2(\vec n,\theta)\mathrm{d}\theta\\ =\frac{1}{2}\int\limits_{0}^{2\pi}\mathrm{d}\theta\int\limits_{|\vec n|=1}\text{Len}^2(\vec n,\theta)\mathrm{d}\vec n\\ =\frac{1}{2}\int\limits_{0}^{2\pi}\mathrm{d}\theta\int\limits_{|\vec m|=1}\text{Len}^2(\vec m)\mathrm{d}\vec m\\ \]

然后把向量拆掉,选一个面的四分之一作积分区域:

\[\frac{1}{2}\int\limits_{0}^{2\pi}\mathrm{d}\theta\int\limits_{|\vec m|=1}\text{Len}^2(\vec m)\mathrm{d}\vec m\\ =\pi\cdot\frac{1}{4\pi}\iint\limits_{(\theta,\varphi)\in \Omega_\text{All}}\text{Len}^2(\theta,\varphi)\cos\theta\mathrm{d}\theta\mathrm{d}\varphi\\ =6\iint\limits_{(\theta,\varphi)\in \Omega_1}\text{Len}^2(\theta,\varphi)\cos\theta\mathrm{d}\theta\mathrm{d}\varphi\\ \]

设出交点坐标并换元:

\[研究 \{(x,y,z)|0\leq x,y \leq 1\,z=1\} 的部分。不妨设交点 (a,b,1)。\\ \begin{cases} \theta=\arctan\frac{1}{\sqrt{a^2+b^2}}\\ \varphi=\arctan\frac{b}{a}\\ \end{cases}\\ 6\iint\limits_{(\theta,\varphi)\in \Omega_1}\text{Len}^2(\theta,\varphi)\cos\theta\mathrm{d}\theta\mathrm{d}\varphi\\ =6\iint\limits_{0\leq a,b\leq 1}\left(\sqrt{a^2+b^2+1}\right)^2\cos\left(\arctan\frac{1}{\sqrt{a^2+b^2}}\right)\left(\frac{\partial\theta}{\partial b}\frac{\partial\varphi}{\partial a}-\frac{\partial\theta}{\partial a}\frac{\partial\varphi}{\partial b}\right)\mathrm{d}a\mathrm{d}b\\ =6\iint\limits_{0\leq a,b\leq 1}\dfrac{1}{\sqrt{a^2+b^2+1}}\mathrm{d}a\mathrm{d}b \]

答案呼之欲出,积一下这个积分:

\[\iint\limits_{0\leq a,b\leq 1}\dfrac{1}{\sqrt{a^2+b^2+1}}\mathrm{d}a\mathrm{d}b\\ =\dfrac{1}{2}\int\limits_{0\leq b\leq 1}\ln\left(\dfrac{\sqrt{b^2+2}+1}{\sqrt{b^2+2}-1}\right)\mathrm{d}b\\ =-\dfrac{\pi}{6} + \operatorname{arcsinh}\left(\dfrac{\sqrt{2}}{2}\right)+\dfrac{1}{2}\ln\left(2+\sqrt{3}\right) \]

单位立方体,算一下比例可得答案是 \(-\dfrac{\pi}{4} + \dfrac{3}{2}\operatorname{arcsinh}\left(\dfrac{\sqrt{2}}{2}\right)+\dfrac{3}{4}\ln\left(2+\sqrt{3}\right)\),约为 \(1.19004\)

跑了个 \(n=10^8\) 的蒙特卡洛,可以精确到 \(10^{-4}\)。做完了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/739250.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何解决服务器开机报警问题

解决服务器开机报警问题,需要按照一系列步骤进行故障排查和修复。 一、初步检查与确认 查看报警信息: 观察服务器的指示灯,特别是电源指示灯、硬盘指示灯等,看是否有异常。 如果服务器有显示屏或终端窗口,查看是否有相应的警告信息或错误代码。 确认电源状态: 检查电源线…

用友财务软件数据库恢复

是一个关键的操作,旨在解决数据库文件损坏或数据丢失的问题。 一、恢复方法使用软件内置的数据恢复工具 步骤: 打开用友财务软件,进入“工具”或“数据管理”等相关菜单。 找到“数据库恢复”或“数据恢复”选项,点击进入。 选择需要恢复的数据库文件和备份文件。这里需要确…

管家婆数据库数据恢复

一、确认数据丢失情况 首先,需要确认数据是否真的丢失,以及丢失的数据范围。有时候,数据可能只是暂时无法访问,或者由于软件故障导致的数据显示问题。 二、检查备份定期备份的重要性 管家婆软件通常会具备自动备份功能,用户应该确保该功能已经开启,并定期检查备份文件的完…

服务器进水主板维修

服务器进水主板的维修是一个复杂且需要专业技能的过程。 一、立即断电与初步处理 立即断电:一旦发现服务器进水,应立即切断电源,防止电流通过水分造成短路,进一步损坏主板和其他电子元件。 移除电池与外设:如果是笔记本电脑或可拆卸电池的服务器,迅速移除电池和所有外部连…

sqlserver数据库MDF文件修复

针对SQL Server数据库的MDF文件修复,这是一个相对复杂的过程,具体方法取决于文件的损坏程度、是否有备份以及数据库的状态。以下是一些常见的修复方法:使用备份恢复 这是最直接且最可靠的方法。如果你有数据库的备份,并且备份是在MDF文件损坏之前创建的,那么你可以通过还原…

2024年6月后2周重要的大语言模型论文总结:LLM进展、微调、推理和对齐

本文总结了2024年6月后两周发表的一些最重要的大语言模型论文。这些论文涵盖了塑造下一代语言模型的各种主题,从模型优化和缩放到推理、基准测试和增强性能。 LLM进展与基准 1、 BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instruc…

龙城新闻

2024-07-02 5月30日龙岗重点新闻2024-07-02 51月30日龙岗重点新闻打开app立即下载10月1日龙城重点新闻龙城街道宣传部 2024-10-1 龙城街道宣传部 2024年10月1日 全区要闻 ●“高质量发展龙岗行”系列报道 | 近日,龙岗区举办高层建筑无人机消防应用示范项目签约仪式,率先…

基于CFX的小型风电机组流场计算流程

一、WOrkbench界面框架二、Geometry模块操作 1.打开Geometry模块,导入txt格式模型File >> Import External Geometry File2.绘制圆柱体作为风轮旋转域3.绘制长方体作为流场计算域4.根据模型与计算条件,做了旋转,根据实际情况选择和操作5.布尔运算第1步:计算域 — (旋…

基于CFX的小型风电机组流程计算流程

一、WOrkbench界面框架二、Geometry模块操作 1.打开Geometry模块,导入txt格式模型File >> Import External Geometry File2.绘制圆柱体作为风轮旋转域3.绘制长方体作为流场计算域4.根据模型与计算条件,做了旋转,根据实际情况选择和操作5.布尔运算第1步:计算域 — (旋…

初始C++

1.visual studio2022 创建项目以及创建C++文件完成上述步骤之后我们就可以敲代码了!!2.关于编译和链接 1.ctrl+F7 对当前C++文件进行编译 并会在编译成功后生成.obj文件。 2.F5 运行整个项目 就会将一个项目下的所有 C++文件进行编译 再将编译后生成的.obj文件链接起来生成 一…

Mysql 8.4 安装(Centos7.9)

前置准备root 环境下执行# 关闭selinux vi /etc/selinux/config # SELINUX=enforcing =>SELINUX=disabled # 开通防火墙3306/tcp firewall-cmd --permanent --add-port=3306/tcp下载链接获取https://dev.mysql.com/downloads/file/?id=529414下载&安装 下载 mkdir -p …

工具|--LINQPad|--使用DnSpy调试LINQPad

前言LINQPad本身就有调试功能, 使用dnSpy调试LINQPad的代码, 岂不是多此一举 ? 其实主要是为了使用dnSpy调试LINQPad中使用到依赖dll的的底层代码, 比如, 在LINQPad中使用到了WPF的dll, 使用dnSpy就可以调试到WPF的一些底层代码.并且, 我尝试过, 直接使用dnSpy加载LINQPad生成…