To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
Spanish Articles
Improved in 24 Hours
Added in 24 Hours
Languages
Recent
Show all languages
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

Regla par-impar

De Wikipedia, la enciclopedia libre

La regla par-impar (Even-Odd Rule) es un algoritmo implementado en software gráfico basado en vectores[1]​ como el lenguaje PostScript y los Gráficos Vectoriales Redimensionables (del inglés Scalable Vector Graphics) o SVG, que determina como se llena una forma gráfica con más de un contorno cerrado. La especificación de SVG dice: "Esta regla determina la "Interioridad" de un punto sobre un lienzo mediante la elaboración de una Semi-recta desde ese punto hacia el infinito en cualquier dirección y contando el número de veces que atraviesa un segmento trazado. Si el número es impar, el punto está dentro; si es par, el punto esta fuera."

Esta regla se puede ver, en efecto, en muchos programas gráficos vectoriales (como FreeHand o Illustrator), donde cruzar una línea en sí misma causa formas a llenar de extrañas maneras.

En una curva simple la regla par-impar se reduce a un algoritmo de decisión para el problema del punto en el polígono.

YouTube Encyclopedic

  • 1/3
    Views:
    2 062
    8 574
    6 386
  • Uso de Herramientas (Union,Diferenciaa,etc) Inkscape
  • Curso Inkscape 15 - Edición de nodos
  • Curso Inkscape 25 - Curvar Trayectos

Transcription

Implementación

Python

Debajo un ejemplo de una implementación básica en Python:[2]

def EstaenRuta(x, y, poly):
        '''
        x, y -- x e y coordenadas del punto
        poly -- una lista de tuplas [(x, y), (x, y), ...]
        '''
        num = len(poly)
        j = num - 1
        c = False
        for i in range(num):
                if  ((poly[i][1] > y) != (poly[j][1] > y)) and \
                        (x < (poly[j][0] - poly[i][0]) * (y - poly[i][1]) / (poly[j][1] - poly[i][1]) + poly[i][0]):
                    c = not c
                j = i
        return c

Matlab

Debajo una implementación del algoritmo en Matlab:

function p=EstaenPoligono(x,y,pol),
% x,y coordenadas del punto
% pol matriz con los puntos [[x,y];[x,y];....]
format long
n = length(pol);
j = n;
p = false;
for i=1:n,
    v = [pol(i,:);pol(j,:)];
    ymax = max(v(:,2));
    ymin = min(v(:,2));
    inter =((pol(j,1)-pol(i,1))*(y-pol(i,2))/(pol(j,2)-pol(i,2))+pol(i,1)); 
    if ((ymax > y) & (ymin < y)) & (x < inter),
        p = ~p;
    end
end
end

Referencias

  1. J. D. Foley, A. van Dam, S. K. Feiner, and J. F. Hughes. Computer Graphics: Principles and Practice. The Systems Programming Series. Addison-Wesley, Reading, 2nd edition, 1990.
  2. «Copia archivada». Archivado desde el original el 21 de diciembre de 2014. Consultado el 28 de diciembre de 2014. 

Enlaces externos

Esta página se editó por última vez el 5 dic 2023 a las 21:13.
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.