登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

银河里的星星

落在人间

 
 
 

日志

 
 

平面坐标系里的几个公式  

2008-11-01 16:16:32|  分类: 算法与acm |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.三角形面积公式

已知三角形三个顶点,求其面积,直接使用叉积,如(x1,y1)(x2,y2) (x3,y3)

叉积是指(x2-x1,y2-y1) (x3-x1,y3-y1)两向量的叉积

s=0.5*abs( (x2-x1)*(y3-y1) -(y2-y1)*(x3-x1) )

 

2.平面多边形面积

对于凸多边形实际上利用了三角形面积求法,将多边形划分成了三角形

而对于非凸多边形,要注意是S(P,A1,A2)可能为负,必须再最后求abs,而不是对单独的S求abs。

 

对多边形A1A2A3、、、An(顺或逆时针都可以),设平面上有任意的一点P,则有:
S(A1,A2,A3,、、、,An)
= abs(S(P,A1,A2) + S(P,A2,A3)+、、、+S(P,An,A1))


P是可以取任意的一点,用(0,0)时就是下面的了:


设点顺序 (x1 y1) (x2 y2) ... (xn yn)
则面积等于
|x1 y1| |x2 y2| |xn yn|
0.5 * abs( | | + | | + ...... + | | )
|x2 y2| |x3 y3| |x1 y1|


其中
|x1 y1|
| |=x1*y2-y1*x2
|x2 y2|
因此面积公式展开为:

|x1 y1| |x2 y2| |xn yn|
0.5 * abs( | | + | | + ...... + | | )=0.5*abs(x1*y2-y1*x2+x2*y3-y2*x3+...+xn*y1-yn*x1)
|x2 y2| |x3 y3| |x1 y1|

 

3.已知圆内接三角形,求圆的半径

r = (a*b*c)/4s

a,b,c代表三边边长,s代表三角形面积

证明如下:

设任意一个三角形的三边为a, b, c, 边a所对的角为A. 所求外接圆半径为R
根据任意三角形面积公式, 得到        (bcsinA)/2 = S
再根据正弦定理, 得到            2RsinA = a
两式一除, 得到          (bc/2) / (2R) = S/a
整理, 就得到            R = abc/(4S)
 
4.已知两点经度,维度,求球面距离
 
若地球上两点的经纬坐标为A(a1,b1),B(a2,b2)(a1,a2为经度,b1,b2为纬度。纬度北正南负,经度东正西负) 
则两点在地球表面上的距离为,R代表地球半径,a1,a2...均采用弧度表示
d=R*arccos[cosb1*cosb2*cos(a1-a2)+sinb1*sinb2]
  评论这张
 
阅读(809)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018