`

flex点到线段的距离

    博客分类:
  • flex
阅读更多
// 计算两点之间的距离  
			private function lineSpace(x1:Number, y1:Number,x2:Number, y2:Number):Number {  
				var lineLength :Number= 0;  
				lineLength = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2)  
					* (y1 - y2));  
				return lineLength;  
				
			}  
			
			//点到线段距离
			private function pointToLine(x1:Number, y1:Number,  x2:Number, y2:Number,  x0:Number, y0:Number):Number  
				 {  
					var space:Number = 0;  
					var a:Number, b:Number, c:Number;  
					a = lineSpace(x1, y1, x2, y2);// 线段的长度  
					b = lineSpace(x1, y1, x0, y0);// (x1,y1)到点的距离  
					c = lineSpace(x2, y2, x0, y0);// (x2,y2)到点的距离  
					if (c <= 0.000001 || b <= 0.000001) {  
						space = 0;  
						return space;  
					}  
					if (a <= 0.000001) {  
						space = b;  
						return space;  
					}  
					if (c * c >= a * a + b * b) {  
						space = b;  
						return space;  
					}  
					if (b * b >= a * a + c * c) {  
						space = c;  
						return space;  
					}  
					var p:Number = (a + b + c) / 2;// 半周长  
					var s:Number = Math.sqrt(p * (p - a) * (p - b) * (p - c));// 海伦公式求面积  
					space = 2 * s / a;// 返回点到线的距离(利用三角形面积公式求高)  
					return space;  
				}  
1
4
分享到:
评论
2 楼 yangactive 2012-07-03  
deathwknight 写道
厉害,刚好有这需求,我数学不好,想了好久都没想出来怎么判断是否选中某条线

这个算法好啊。

嘻嘻,随后有时间了,我把我解决的算法问题都贴出来,这个只是最基础,最简单的~
1 楼 deathwknight 2012-07-03  
厉害,刚好有这需求,我数学不好,想了好久都没想出来怎么判断是否选中某条线

这个算法好啊。

相关推荐

    flex成功画一个点

    在Flex编程中,"flex成功画一个点"这个主题涉及到的是如何在用户界面元素上绘制一个像素级别的点。Flex是一种基于ActionScript的开源框架,主要用于创建富互联网应用程序(RIA)。在Flex中,我们可以利用图形库或者...

    Flex小知识点

    这个"Flex小知识点"的标题暗示我们将探讨Flex的基本概念、核心组件以及它在实际开发中的应用。这篇博文链接虽然没有提供具体内容,但我们可以通过对Flex的通用知识进行深入讲解来涵盖相关主题。 首先,Flex提供了...

    flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图

    flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...

    Flex cookbook(中文版)+Flex入门到实践

    《Flex入门到实践》这本书可能涵盖了以下知识点: 1. **Flex基础**:介绍Flex开发环境的搭建,包括安装Flash Builder IDE和设置开发环境。讲解Flex的基础概念,如MXML和ActionScript的结合使用。 2. **组件库**:...

    Flex简介Flex简介Flex简介Flex简介

    ria的发展历程大致经历了从主机应用程序到客户端/服务器,再到浏览器/服务器模式的转变,最终发展出如Adobe Flash/Flex、Laszlo和Microsoft WPF/Expression等各具特色的ria客户端开发技术。 Flex作为ria技术的一个...

    Flex Flex Flex Flex

    Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...

    flex事件flex事件flex事件flex事件

    在前端开发领域,Flex布局(Flexible Box)是现代网页设计中的一个重要组成部分,它极大地提高了我们构建响应式和动态布局的能力。"flex事件"这个概念可能指的是与Flex布局相关的JavaScript事件或者是在Flex容器中...

    FLEX特效FLEX特效FLEX特效FLEX特效

    Flex特效在IT行业中主要指的是Adobe Flex,它是一个用于构建富互联网应用程序(RIA)的开源框架。Flex使用MXML和ActionScript编程语言,可以创建交互性强、视觉效果丰富的Web应用程序。在网页设计和开发中,Flex特效...

    Flex万年历记事本_flex源码

    在Flex源码中,我们可以期待看到以下几个关键知识点: 1. **MXML与ActionScript**:Flex应用主要由两种语言编写,MXML用于定义组件结构和界面布局,而ActionScript则处理逻辑和业务代码。在"万年历记事本"的源码中...

    Flex ArcGis 点聚合 flex4版本

    通过研究和理解这个代码,开发者可以学习到如何在Flex 4环境中实现点聚合功能。 总之,"Flex ArcGIS 点聚合 flex4版本"是一个关于如何在Flex 4框架下利用ArcGIS API进行点聚合的实践示例,涉及GIS、图形编程、数据...

    Flex从入门到精通

    本教程“Flex从入门到精通”是一套全面的内部培训资料,旨在帮助初学者快速掌握Flex的基本概念、核心技术和实际应用。 在Flex的学习过程中,首先要理解Flex SDK,它是开发Flex应用的基础,包括编译器、库和工具。...

    Flex从入门到精通源代码

    在《Flex从入门到精通》这本书中,作者可能涵盖了以下关键知识点: 1. **Flex基础知识**:Flex的基础架构,包括MXML和ActionScript 3.0的介绍。MXML是Flex的主要标记语言,用于创建用户界面;ActionScript 3.0是...

    Flex 组件Flex 组件Flex 组件

    此外,主题(Theme)是预定义的一组样式,可以全局应用到整个应用程序,实现快速的界面风格切换。 在Flex应用中,数据绑定是连接组件和数据模型的重要机制。通过数据绑定,组件的属性可以直接与后台数据源关联,当...

    flex 单点登录,前端后端源码 jar包

    总的来说,这个项目提供了从客户端到服务端的完整SSO实现,对于理解Flex和Java在实际应用中的协同工作,以及单点登录的实现原理,是一个很好的学习资源。开发者可以深入研究源码,了解SSO的整个流程,包括前端的用户...

    java flexjava flexjava flex

    java flexjava flexjava flex

    Flex从入门到实践.

    Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的开放源码框架,它旨在提供在各种浏览器、桌面和操作系统上一致的用户体验。Flex的主要特点是其基于组件的开发方式,允许开发者利用标准语言和丰富的用户...

    flex画虚线代码

    这是绘制虚线的基础,因为我们需要知道整个线段的总长度,以便正确地放置虚线的点和间隔。 #### 3. 插值计算 `Point.interpolate()`函数在代码中扮演了核心角色,它根据两个点和一个比率计算出新的点位置。这个...

    FLEX安装方法 集成到eclipse中

    FLEX 安装方法 集成到 eclipse 中 FLEX 是一种基于 Adobe Flash 平台的 Rich Internet Application(RIA)开发框架。它提供了一个强大且灵活的开发环境,允许开发者快速构建跨平台、跨浏览器的 Rich Internet 应用...

Global site tag (gtag.js) - Google Analytics