Inicio > Actionscript 3, Actionscript 3, Flash > Punto dentro de un poligono con actionscript 3

Punto dentro de un poligono con actionscript 3

miércoles, 28 de octubre de 2009 miguelMoraleda Dejar un comentario Ir a comentarios

Evaluar si un punto esta dentro de un poligono es una operacion basica, pero eso yo no lo sabia :) hasta que bueno, llega el momento en que es necesario. Perdi bastante tiempo investigando al respecto, asi que ahora comparto con ustedes el resultado, por si puede ahorrarle tiempo a alguien. No detallare la explicacion, les dejo un link al ejemplo funcionando, el codigo y la referencia al sitio de donde saque la informacion. Saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
private function insidePolygon(pointList:Array, p:Point):Boolean
{
	var counter:int = 0;
	var i:int;
	var xinters:Number;
	var p1:PointTest;
	var p2:PointTest;
	var n:int = pointList.length;
 
	p1 = pointList[0];
	for (i = 1; i <= n; i++)
	{
		p2 = pointList[i % n];
		if (p.y > Math.min(p1.y, p2.y))
		{
			if (p.y <= Math.max(p1.y, p2.y))
			{
				if (p.x <= Math.max(p1.x, p2.x))
				{
					if (p1.y != p2.y) {
						xinters = (p.y - p1.y) * (p2.x - p1.x) / (p2.y - p1.y) + p1.x;
						if (p1.x == p2.x || p.x <= xinters)
							counter++;
					}
				}
			}
		}
		p1 = p2;
	}
	if (counter % 2 == 0)
	{
		return(false);
	}
	else
	{
		return(true);
	}
}

DEMO
SOURCE
Reference

Categories: Actionscript 3, Actionscript 3, Flash Tags:
  1. miércoles, 28 de octubre de 2009 a las 17:20 | #1

    Ahh! Excelente! Gracias por compartirlo. Estoy pensando en hacer una app que involucre recorte de figuras, algo me dice que esto me servirá para orientarme :)

  2. jueves, 29 de octubre de 2009 a las 05:04 | #2

    :) , ya te agregue a tweeter. Saludos

  1. Sin trackbacks aún.
*

Spam Protection by WP-SpamFree

Get Adobe Flash playerPlugin by wpburn.com wordpress themes