Pour un triangle rectangle spécifié par une équation ax + PAr < = c sur des entiersVisiter les points dans un triangle dans un ordre aléatoire
Je veux tracer chaque pixel (*) dans le triangle une fois et une seule fois, dans un ordre pseudo-aléatoire, et sans stocker une liste de points de vie antérieurs.
Je sais comment faire cela avec un segment de ligne entre 0 et x
choisir un point'o aléatoire » le long de la ligne,
choix « p » qui est relativement premier x
répétition jusqu'à x fois: O suivant = (O + P cur) MOD x
pour ce faire, un triangle, je voudrais
1. Nécessité de compter le nombre de pixels dans les listes sans triangle
2. mapper un 0..points entiers dans ax, y paire qui est un pixel valide à l'intérieur du triangle
j'espère pourrait être généralisé toute solution aux pyramides et aux formes dimensionnelles supérieures. (*) J'utilise le pixel CG terme pour la paire de points entiers X, Y de sorte que l'équation est satisfaite.
Cela semble nécessiter une liste de lignes de balayage, et déterminer quelle ligne représente un nombre donné nécessite de marcher une structure (arbre équilibré?) Essayer de généraliser cela semble rapidement perdre le contrôle bien que –
t ne doive que cartographier pour corriger l'ensemble de (x, y), donc dans la fonction, il peut utiliser l'approche du programmeur Windows et choisir le point du rectangle englobant et retourner "faux" si ce n'est pas dans le triangle. –
Étant donné l'équation d'un triangle, à quoi ressemblerait une fonction pour (x, y) = f (t)? –