代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
java 代码 点到线段的最短距离
作者:
Dezai.CN
/ 发布于
2012/6/18
/
615
点到线段的最短距离
<div> // 点到直线的最短距离的判断 点(x0,y0) 到由两点组成的线段(x1,y1) ,( x2,y2 ) <strong>private</strong> <strong>double</strong> pointToLine(<strong>int</strong> x1, <strong>int</strong> y1, <strong>int</strong> x2, <strong>int</strong> y2, <strong>int</strong> x0, <strong>int</strong> y0) { <strong>double</strong> space = 0; <strong>double</strong> a, b, c; a = lineSpace(x1, y1, x2, y2);// 线段的长度 b = lineSpace(x1, y1, x0, y0);// (x1,y1)到点的距离 c = lineSpace(x2, y2, x0, y0);// (x2,y2)到点的距离 <strong>if</strong> (c <= 0.000001 || b <= 0.000001) { space = 0; <strong>return</strong> space; } <strong>if</strong> (a <= 0.000001) { space = b; <strong>return</strong> space; } <strong>if</strong> (c * c >= a * a + b * b) { space = b; <strong>return</strong> space; } <strong>if</strong> (b * b >= a * a + c * c) { space = c; <strong>return</strong> space; } <strong>double</strong> p = (a + b + c) / 2;// 半周长 <strong>double</strong> s = Math.<em>sqrt</em>(p * (p - a) * (p - b) * (p - c));// 海伦公式求面积 space = 2 * s / a;// 返回点到线的距离(利用三角形面积公式求高) <strong>return</strong> space; } // 计算两点之间的距离 <strong>private</strong> <strong>double</strong> lineSpace(<strong>int</strong> x1, <strong>int</strong> y1, <strong>int</strong> x2, <strong>int</strong> y2) { <strong>double</strong> lineLength = 0; lineLength = Math.<em>sqrt</em>((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); <strong>return</strong> lineLength; } </div>
试试其它关键字
点到线段的最短距离
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
实现测量程序运行时间及cpu使用时间
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3