`

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 cookbook(中文版)+Flex入门到实践

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

    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源码中,我们可以期待看到以下几个关键知识点: 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 单点登录,前端后端源码 jar包

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

    Flex从入门到实践.

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

    flex画虚线代码

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

    FLEX安装方法 集成到eclipse中

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

    Flex相册 Flex图片

    Flex相册 Flex图片

    Flex资料大全(Flex白皮书 Flex cookbok Flex编程指南 Flex设计模式等)

    这些资源的集合为学习和精通Flex提供了丰富的素材,无论你是初学者还是有一定经验的开发者,都能从中找到所需的知识点,提升自己的技能水平。通过深入学习这些文档,你可以掌握如何使用Flex构建交互性强、用户体验...

    记事万年历flex源码

    通过深入分析这些文件,开发者可以学习到如何使用Flex来构建一个功能齐全且具有视觉吸引力的日历应用。 综上所述,"记事万年历flex源码"是一个展示Flex技术在构建富互联网应用中的实际应用的例子,它融合了UI设计、...

    flex学习笔记 flex学习总结 flex学习教程

    8. **Flex应用程序生命周期**:理解Flex应用从启动到关闭的整个过程,包括初始化、布局、渲染、事件处理等阶段,有助于优化性能和解决运行时问题。 9. **Flex性能优化**:学习如何通过优化组件使用、减少网络请求、...

    flex 面试题flex

    【Flex面试题】Flex面试题主要涵盖Flex的基础概念、开发框架、MVC模式的应用、...以上是Flex面试题中涉及的主要知识点,理解和掌握这些内容对于Flex开发者来说至关重要,能够帮助他们在面试中表现出扎实的技术功底。

    flex 官方文档 中文教程

    本教程基于Flex官方文档,旨在为开发者提供中文版的详细学习指南,帮助理解并掌握Flex的核心概念、组件、布局、事件处理以及数据绑定等关键知识点。 1. **Flex简介** Flex是基于ActionScript 3.0和Flash Player或...

Global site tag (gtag.js) - Google Analytics