2012-03-29 8 views
1

Ich muss die Koordinaten aller Pixel innerhalb dieser bestimmten Region einer Ellipse erhalten.Wie erhalten Sie die Koordinaten der Pixel in einer Ellipse? (Screenshot)

Ich kenne die Größe des Gitters, das Zentrum der elipse und die vertical_radix und horizontal_radix.

Ich suchte auf den Matheforen, konnte aber nichts nützliches finden.

So für das nächste Beispiel ist das Gitter 26 durch 26 Mittelpunkt der Ellipse an (13, 7) und vertical_radix 7 und 13. horizontal_radix =

man das weiß ich brauche die Koordinaten (Paar x und y) aller grauen Pixel.

Ich brauche nur wie eine Funktion, dass diese sechs Parameter (grid_width, grid_height, x_center, y_center, vertical_radix, horizontal_radix) meine Koordinaten erhalten können. (jede der markierten Sprachen)

Danke.

enter image description here

+0

Ist das Hausaufgaben? (Es gibt ein Tag dafür) – jprofitt

+0

@jprofit - ja nur ein Teil konnte ich nicht erarbeiten. was meinst du da ist ein tag dafür? –

+0

So wie Sie die Sprachen markiert haben, können Sie eines durch das "Hausaufgaben" -Tag ersetzen – jprofitt

Antwort

1

Maßstab der x- und y-Offsets der Punkte von der Mitte in eine Kreiseinheit, prüfen dann die Entfernung von der Mitte.

EDIT:

Unter der Annahme eines Zentrums von (x, y), einen Punkt bei (x , y) und eine Ellipse mit den Achsen (a, b):

Der skalierte Punkt ist (2 (x -x)/a, 2 (y -y)/b). Sehen Sie, ob dies mehr oder weniger als 1 von (0, 0), d. H. Quadrat jeder Komponente und vergleichen Sie die Summe mit 1.

+0

könnten Sie mehr über die ideea entwickeln. es ist zu kurz gefasst. wie mindestens ein Beispiel für ein Pixel oder irgendetwas. Danke –

+0

funktioniert immer noch nicht. Ich habe ein Beispiel für ein Pixel innerhalb der Ellipse aus dem Screenshot-Beispiel herausgearbeitet. Also Mittelpunkt der Elipse (x = 13, y = 7), x1 = 2 & y1 = 4 ein Punkt innerhalb der Elipse und die Achsen a = 26, b = 14. Ich berechnete den skalierten Punkt = (-0.423 ... , -0,214). Der Abstand zwischen diesem Punkt und dem Ursprung (0,0) = 0,474. Also ist es kleiner als 1. Ich glaube, ich habe einen der Parameter falsch verstanden. Könnten Sie bitte nur dieses eine Beispiel für mich arbeiten? –

+0

Ah, ich habe vergessen, dass sie halbiert werden müssen. Mein Fehler. –

Verwandte Themen