描述 最近天文学家发现了一对奇特的卫星,分别命名为A和B。我们知道,卫星通常以椭圆轨道移动,A和B也一样。但是他们的轨迹非常特殊: (1)他们的轨迹在同一平面,具有相同的圆心。 (2)连接两个焦点组成的部分互相垂直。 如果我们将中心标为O,A的焦点为F1和F2,我们就可以建立笛卡尔坐标,O点为圆心,通过F1和F2的为X轴。 下面是一个例子: 天文学家想了解卫星更多东西,他们决定计算其相交面积。不幸的是,计算相交的面积有点难,且他们不会计算,他们求助于天才程序员的你帮忙。现在你的任务是:给定两个满足上述要求的椭圆,计算相交面积。 输入 输入包括多个测试用例。第一行为测试用例个数n(n<=100)。 在每一个测试用例包含两行,第一行A的描述轨迹,另一行描述B的轨迹,每一个描述包含两个整数a,b(a,b<=100)表示椭圆方程X2/a2+Y2/b2=1,并保证A的焦点在X轴上,B的焦点在Y轴上。 输出 对每个测试用例,用一行输出相交面积,用实型数表示,要求精确到小数点后三位。 样例输入 12 11 2 样例输出 3.709
2023-02-20 17:17:14 699B 语言C++
1
bentley_ottmann 在下面的内容中, python是python3.5或pypy3.5或任何更高版本( python3.6 , pypy3.6等等)的别名。 安装 安装最新的pip和setuptools软件包版本 python -m pip install --upgrade pip setuptools 用户 从PyPI存储库下载并安装最新的稳定版本: python -m pip install --upgrade bentley_ottmann 开发者 从GitHub存储库下载最新版本 git clone https://github.com/lycantropos/bentley_ottmann.git cd bentley_ottmann 安装依赖项 python -m pip install --force-reinstall -r requirements.t
1
使用 Möller 和 Trumbore (1997) 提出的算法的射线/三角形相交。 zip 文件包含一个交叉示例。 参考: [1]“实时渲染”。 第三版。 Tomas Akenine-Möller、Eric Haines 和 Naty Hoffman。 AK Peters, Ltd. 2008(第 16.8 节) [2]“快速、最小存储射线-三角形相交”。 托马斯·默勒和本·特朗博尔。 图形工具杂志,2(1):21--28,1997。 [3] 其他算法: http://www.realtimerendering.com/intersections.html
2022-11-17 16:21:54 13KB matlab
1
orb算法matlab代码MOID T. Wisniowski和H. Rickman创建的最小轨道相交距离(MOID)算法的实现。 背景 我发现了一些由研究人员创建的用于计算MOID的Fortran代码。 此回购协议只是将这些代码转换为其他语言,我发现这些语言与测试一起使用非常有用,以表明该代码可以正常工作。 正如您在下面看到的,我能够与原始作者发布的值进行相当不错的匹配,但可能存在差异,这可能是因为在Octave和C ++中使用了更精确的Pi值。 除了将fortran转换为工作代码外,我没有做任何真正的尝试来优化代码或使用更现代的编程风格,因此它只是作为原始函数的一个简单函数而实现的。 原始研究论文: 原始Fotran代码: GNU OCTAVE结果 在Octave上运行MOID_Test脚本将执行20个测试,这将在下表中显示。 这尚未在Matlab中进行过测试,但可能也可以在其中工作。 在Ryzen R7 3800XT上,经过20个测试用例的时间为:0.789262秒(每次迭代平均约40毫秒)。 测试 MOID Calc 预计的MOID Dmin Calc 预期Dmin 1个 0.
2022-10-28 16:19:29 17KB 系统开源
1
MOID.jl 计算两个给定的共聚焦椭圆形轨道的MOID-最小轨道相交距离。 它使用旋转子午面的想法,并通过数值计算MOID。 Julia模块是波兰科学研究院空间研究中心的原始作者Hans Rickman和TomaszWiśniowski组成的Fortran程序的包装。 他们的论文中描述了该方法: T.Wiśniowski和H.Rickman,“一种用于计算精确最小轨道相交距离(MOID)的快速几何方法”,2013年《天文学报》 本文和源代码在deps和docs子目录中提供。 安装 然后可以通过Julia的软件包管理器安装MOID.jl。 在Linux和macOS上,您需要安装Gfortran或Intel Fortran编译器才能构建二进制依赖性。 pkg > add " https://github.com/mkretlow/MOID.jl.git " 快速开始 julia
2022-10-28 16:09:26 403KB astrodynamics orbital-mechanics Julia
1
检测空间三角形相交 C#,通过计算行列式的值来判断空间内三角形点的分布情况,再计算是否相交,快速排除不相交的情况。
2022-10-26 10:46:10 15KB C# 空间 三角形 相交
1
求两任意直线(起点和端点)相交交点,不相交返回NULL,在WINXP,BCB6.0下面已经过N次测试
2022-10-21 21:22:20 1KB 两直线相交,源码,C++
1
使用c++,大二上课设的一部分,比较基础
2022-07-26 14:08:07 31.82MB 链表 数据结构 c++
1
SDE中保存两个要素类,一个是范围线数据,一个是目标要素数据。需要使用GP服务实现一个功能,即指定范围线要素类中的一个要素,自动筛选出目标要素类中与范围线存在相交关系的要素,并返回相交要素的属性信息。
2022-06-25 14:04:55 189KB GP服务 ArcGIS ArcGISServer SDE
1
源码,有测试数据。内容:1、判断两点构成的直线是否相交;2、判断点是否落在由多点构成的区域内
2022-06-10 15:10:40 5KB java Point 两点 相交
1