椭球面积计算程序

Nuclear Instruments and Methods in Physics Research

物理研究中的核仪器与方法

We present a geometric method for computing an ellipse that subtends the same solid-angle domain as an arbitrarily positioned ellipsoid. With this method we can extend existing analytical solid-angle calculations of ellipses to ellipsoids. Our idea consists of applying a linear transformation on the ellipsoid such that it is transformed into a sphere from which a disk that covers the same solid-angle domain can be computed. We demonstrate that by applying the inverse linear transformation on this disk we obtain an ellipse that subtends the same solid-angle domain as the ellipsoid. We provide a MATLAB implementation of our algorithm and we validate it numerically.

我们提出了一种计算椭圆的几何方法,该椭圆包含与任意放置的椭球相同的立体角域。 使用这种方法,我们可以将椭圆的现有分析立体角计算扩展到椭圆体。 我们的想法包括在椭球上应用线性变换,以便将其变换为一个球体,从该球体可以计算出覆盖相同立体角域的圆盘。 我们证明了通过在此磁盘上应用逆线性变换,我们得到一个椭圆,该椭圆与椭圆体对着相同的立体角域。 我们提供了算法的MATLAB实现,并进行了数值验证。

  • Publisher’s version

    发行人版本

  • Author’s free preprint

    作者的免费预印本

动机 (Motivation)

Ellipsoids are often used in rendering applications, for instance as proxies for occluders or as area lights. In these applications, we need to compute the solid angle covered by the ellipsoid in respect to the shading point. However, no closed-form expression was available for this and approximations were used. We were able to solve this problem thanks to our recent research on linear transformations and spherical distributions.

椭球体通常用于渲染应用程序,例如作为遮挡物的代理或区域照明。 在这些应用中,我们需要计算相对于阴影点的椭球所覆盖的立体角。 但是,没有封闭形式的表达式可用于此,并且使用了近似值。 由于我们对线性变换和球面分布的最新研究 , 我们得以解决此问题。

We published this result in the physics journal Nuclear Instruments and Methods in Physics Research because we thought that this result might be interesting for the physics community as well. Indeed, solid angles are used for computing the efficiency of detectors or antennas and many previous results on solid-angle computations were actually published by the physics community. It is somehow amusing to see that video-game research can also contribute to advance other fields!

我们将此结果发表在物理学杂志《物理研究中的核仪器与方法》中,因为我们认为该结果对物理学界也可能很有趣。 确实,将立体角用于计算探测器或天线的效率,并且有关立体角计算的许多先前结果实际上是由物理学界发布的。 有趣的是,看到视频游戏研究也可以促进其他领域的发展!

翻译自: https://blogs.unity3d.com/2017/02/08/analytical-calculation-of-the-solid-angle-subtended-by-an-arbitrarily-positioned-ellipsoid-to-a-point-source/

椭球面积计算程序

椭球面积计算程序_任意位置的椭球对着点源的立体角的解析计算相关推荐

  1. python计算椭球面积代码_使用ArcPy如何计算面图层的椭球面积?

    Q: 请问谁有计算面图层的椭球面积 的代码吗? A: 具体步骤如下 假设 GeoJSON 数据如下: {"type": "Polygon", "coo ...

  2. 【51单片机快速入门指南】4.4.1:python串口接收磁力计数据并进行最小二乘法椭球拟合

    目录 硬知识 Python代码 使用方法 串口收集数据 椭球拟合 验证 STC15F2K60S2 16.384MHz Keil uVision V5.29.0.0 PK51 Prof.Develope ...

  3. matlab求椭圆的弧长,用MATLAB实现求椭球上任意两点的最短弧长

    基于法向矢量导向的求椭球上两点的最短弧长 问题分析 求椭球上任意两点间的最短弧长用数学来推算解析解的话十分复杂,因此考虑通过使用计算机来近似求解.问题的难点在于怎样让每一步都是处在最优的状态,以及怎样 ...

  4. input位置_3分钟短文 | PHP 数组任意位置插入新元素,你是怎么处理的?

    引言 接着我们这个系列的文章说.本文我们聊一聊 PHP 数组,如何在任意位置插入新元素.因为内置函数并没有提供类似 array_insert(&$array, $pos, $items) 的函 ...

  5. ArcGis之椭球面积计算工具

    一.简介 在工作中,经常用到需要我们计算图层的椭球面积,计算公式比较复杂,一般人工是无法计算的,只能依靠软件自动计算来完成,现实中,很多商业软件,如XX建库软件基本上必备这个功能,但是程序价格昂贵,不 ...

  6. keil中c99mode(变量可以定义在函数任意位置)

    C99mode:几个比较常用的已经着重标注了 定义变量的位置可以不设置在开头,定义在任意位置 增加restrict指针:主要用做函数形参 inline(内联)关键字:函数与参数不需进栈与退栈 新增数据 ...

  7. 可删除任意位置数据的堆

    struct heap {//手写实现删除任意位置数值的堆priority_queue<int> A , B;void push(int x) {A.push(x);}void erase ...

  8. 实验四 使用C++的mfc实现圆心为任意位置的圆的绘制。

    实验4 实现圆的生成算法之圆心为任意位置的圆的绘制. 一.实验目的 1. 熟悉CDC图形程序库: 2. 掌握中点画圆生成算法: 3. 掌握Bresenham画圆算法. 二.实验内容 利用VisualC ...

  9. Java swing 如何将一个按钮放置到弹出框框的任意位置?(Absolute layout 布局的使用)...

    准备: Absolute layout 绝对布局,绝对布局中控件的可以在任意位置放置 如何制作下面那种样子的 弹出框? ---------------------------------------- ...

最新文章

  1. 【杂谈】计算机视觉在人脸图像领域的十几个大的应用方向,你懂了几分?
  2. 快速入门 TensorFlow2 模型部署
  3. mysql hash创建_Mysql自适应哈希索引(Adaptive Hash Index)创建的条件
  4. Redis-数据结构02-简单动态字符串(sds)
  5. 学习动态性能表 第五篇--V$SESSION
  6. 实现系统菜单的两种方式
  7. 国内外优秀音视频博客索引(持续更新)
  8. [转] 驱动模拟键盘鼠标
  9. 在VirtualBox中体验Fedora15与GNOME3
  10. 2021京东商城APP手机模板 HTML+CSS+JavaScript
  11. 为什么要学习Linux内核,如何学习?
  12. 基于单片机的红外光电计数器(双探头)
  13. c# 使用正则表达式 提取章节小说正文全本篇
  14. 数据库表中的数据显示在网页上
  15. 学习笔记(三):WiFi-Sleep
  16. javaCSGO赛事管理系统springbootvueweb
  17. 计算机科学和交互设计,交互设计(超越人机交互原书第5版)/计算机科学丛书
  18. 计算机开机后黑屏 只有鼠标,电脑开机黑屏只有鼠标两种解决方法
  19. Vmware Esxi在线管理虚拟机
  20. 双色球的篮球购买保本的买法计算!

热门文章

  1. nvme固态必须uefi启动吗_为什么固态硬盘同样是M.2接口,你的速度却比我快?
  2. matlab的nlinfit函数,用matlab如何进行非线性拟合 nlinfit函数?
  3. 10种经典的时间序列预测模型 本文演示了 10 种不同的经典时间序列预测方法
  4. Centos7不锁屏
  5. 【Android】如何获取本机号码、IMSI、EMSI
  6. 100道经典软件测试笔试题(附答案)一次性查缺补漏个够
  7. 宝塔安装sqlserver_windows 宝塔安装sql_server 2008,php链接配置流程
  8. day15-硅谷课堂-直播对接和微信分享
  9. mysql数据库blob换行_mysql数据库blob类型
  10. Vue 生成二维码,转换成图片,下载到本地