as3 点到线段最短距离 函数
来源:互联网 发布:电子刊物制作软件 编辑:程序博客网 时间:2024/05/22 15:07
public function pointToLineDistance( p1:Point, p2:Point, p3:Point ) : Number
{
var xDelta: Number = p2. x - p1. x ;
var yDelta: Number = p2. y - p1. y ;
if ( ( xDelta == 0 ) && ( yDelta == 0 ) ) {
// p1 and p2 cannot be the same point
p2. x += 1 ;
p2. y += 1 ;
xDelta = 1 ;
yDelta = 1 ;
}
var u: Number = ( ( p3. x - p1. x ) * xDelta + ( p3. y - p1. y ) * yDelta ) / ( xDelta * xDelta + yDelta * yDelta ) ;
var closestPoint:Point;
if ( u < 0 ) {
closestPoint = p1 ;
} else if ( u > 1 ) {
closestPoint = p2 ;
} else {
closestPoint = new Point ( p1. x + u * xDelta, p1. y + u * yDelta ) ;
}
return Point.distance ( closestPoint, p3 ) ;
}
{
var xDelta: Number = p2. x - p1. x ;
var yDelta: Number = p2. y - p1. y ;
if ( ( xDelta == 0 ) && ( yDelta == 0 ) ) {
// p1 and p2 cannot be the same point
p2. x += 1 ;
p2. y += 1 ;
xDelta = 1 ;
yDelta = 1 ;
}
var u: Number = ( ( p3. x - p1. x ) * xDelta + ( p3. y - p1. y ) * yDelta ) / ( xDelta * xDelta + yDelta * yDelta ) ;
var closestPoint:Point;
if ( u < 0 ) {
closestPoint = p1 ;
} else if ( u > 1 ) {
closestPoint = p2 ;
} else {
closestPoint = new Point ( p1. x + u * xDelta, p1. y + u * yDelta ) ;
}
return Point.distance ( closestPoint, p3 ) ;
}
- as3 点到线段最短距离 函数
- 点到线段最短距离的算法
- 点到线段的最短距离
- 点到线段的最短距离
- 点到线段的最短距离
- 点到线段的最短距离
- 点到线段的最短距离
- 点到线段的最短距离算法
- 点到线段的最短距离算法
- 点到线段的最短距离
- 点到线段的最短距离
- light1260Race Track【点到线段最短距离】
- 点到线段的最短距离
- 点到线段的最短距离算法
- java 代码 点到线段的最短距离
- 计算点到线段最短距离的代码
- UVa 10263 Railway (点到线段的最短距离)
- java 代码 点到线段的最短距离
- 内部嵌套2层frame. frame无滚动条, window高度根据frame网页高度自适应javascript.
- C++中类的三种继承方式
- linux中断流程详解
- 微软一站式示例代码库(中文版)2011-09-24版本, 新添加ASP.NET, Windows Base, Silverlight, WinForm等20个Sample
- ejb的调用机制
- as3 点到线段最短距离 函数
- B-树和B+树
- 裸设备基础知识
- [Apache Click快速开发]开发环境配置初试
- 使用IDropTarget接口同时支持文本和文件拖放
- WebKit网页布局实现之基本概念及标准篇
- DM355上按键程序
- linux常用数据类型
- eclipse linked resource和 android library