#P2508. Conic distance

    ID: 1509 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>计算几何几何知识The UofA Local 2000.10.14

Conic distance

题目描述

一个圆锥位于三维空间中,其底面半径为 rr,位于 z=0z = 0 平面,圆心在 (0,0,0)(0,0,0)。圆锥的顶点位于 (0,0,h)(0, 0, h)。圆锥表面上给定两个点的圆锥坐标。圆锥表面上一点 pp 的圆锥坐标由两个数表示:第一个数 dd 是圆锥顶点到 pp 的距离,第二个数 A<360A < 360y=0y = 0 平面与通过点 (0,0,0)(0,0,0)(0,0,h)(0,0,h)pp 的平面之间的夹角(以度为单位),从 xx 轴方向逆时针测量。

给定圆锥坐标下的两个点 p1=(d1,A1)p1 = (d1, A1)p2=(d2,A2)p2 = (d2, A2),求 p1p1p2p2 在圆锥表面上的(最短)距离。

输入格式

输入由多行组成。每行包含 6 个浮点数,分别表示:rrhhd1d1A1A1d2d2A2A2

输出格式

对于每行输入,输出圆锥表面上两点 p1p1p2p2 之间的(最短)距离,结果四舍五入到小数点后两位。

示例输入

3.0 4.0 2.0 0.0 4.0 0.0
3.0 4.0 2.0 90.0 4.0 0.0
6.0 8.0 2.14 75.2 9.58 114.3
3.0 4.0 5.0 0.0 5.0 90.0

示例输出

2.00
3.26
7.66
4.54

来源

阿尔伯塔大学本地竞赛 2000 年 10 月 14 日