Das Quadrat muss man da noch nicht einmal drum herum legen, das ist im Grunde nur eine Optimierung weil man sich das Berechnen der Entfernung dann sparen kann.
Weil's mich so an den guten alten C64 erinnert hat, wo ich solche Scheibenroutinen früher in Assembler und Fixpunktzahlen implemetiert habe, gibt's hier ein OCaml-Programm, das nur mit ganzen Zahlen rechnet und die Fahne als PPM auf stdout ausgibt: http://paste.pocoo.org/show/27729/
Japanische Flagge /bzw. Kreis
Tipp: pütone will Dir sagen, daß der Abstand eines Pixels zum Mittelpunkt (in Näherung) die Hypothenuse eines Dreiecks ist mit den Seiten dx und dy, wobei dx und dy die Ganglänge vom Pixel zum Mittelpunkt entlang der Achsen x und y ist. Na?applegreen hat geschrieben:was soll ich an den dreiecken bestimmen?
Flächeninhalt?
der durchmesser ist 4cm
(Wobei BJ recht hat: Auch wenn man es so löst, kann man sich das Wurzelziehen sparen.)
-
- User
- Beiträge: 18
- Registriert: Freitag 11. Mai 2007, 15:57
- Wohnort: Berlin
sprich ick ziehe durch das quadrat noch ne diagonale und erechne dann ein Dreieck
sprich nen halbes quadrat?
sprich nen halbes quadrat?
Äpfelgrün sagt danke
-
- User
- Beiträge: 18
- Registriert: Freitag 11. Mai 2007, 15:57
- Wohnort: Berlin
wiso bist du dir sich das es nichts wird?
ick kann den kreis auch kleiner/größer machen!
sprich es ist nicht vorgeschrieben wie groß der kreis sein soll
ick kann den kreis auch kleiner/größer machen!
sprich es ist nicht vorgeschrieben wie groß der kreis sein soll
Äpfelgrün sagt danke
-
- User
- Beiträge: 18
- Registriert: Freitag 11. Mai 2007, 15:57
- Wohnort: Berlin
1cm = 10px
sprich
4cm=40px
sprich
4cm=40px
Äpfelgrün sagt danke
Da fehlt ein Konversionsfaktor (Deine Vergrößerung). Der Punkt ist:
a) Ein Dreieck hat keinen Durchmesser und
b) ein Pixel *ist* keine Länge. (Und ein Pixel mit einem Millimeter Seitenlänge ist schon was Besonderes .)
Also, nochmal:
Ok, entschuldige die Qualität der Graphik. Was pütone meint ist folgendes. Den Abstand eines Pixels x von * kannst Du mittels Pythagoras ermitteln (schön bei Pixeln bleiben, nicht cm). Ist der Abstand < dem gewünschten Kreisradius: Pixel rot setzen. Sonst: weiß.
Klar?
Gruß,
Christian
a) Ein Dreieck hat keinen Durchmesser und
b) ein Pixel *ist* keine Länge. (Und ein Pixel mit einem Millimeter Seitenlänge ist schon was Besonderes .)
Also, nochmal:
Code: Alles auswählen
--------------------------------------------------------------
| |
| |
| * |
| / | |
| / | |
| x----| |
....
Klar?
Gruß,
Christian
-
- User
- Beiträge: 18
- Registriert: Freitag 11. Mai 2007, 15:57
- Wohnort: Berlin
Hier jehts jetzt nur um den Kreis!
So sieht das jetzt ungefähr aus auf mein Blatt (meine Vorstellung)
Wenn ick i-was ändern muss/soll dann sagt bescheid!!
Äpfelgrün sagt danke
Na, laß das mal, wenn man wirklich auf'm Schlauch steht, sind Erklärungen via Netz manchmal bes. schwierig zu verstehen.audax hat geschrieben:Meine Güte...so ganz der fitteste bist du aber auch nicht, wie?
@applegreen: Du mußt aber schon die Beiträge aufmerksam lesen. Gehe nochmal zurück zum letzten Post auf der ersten Seite. Hilft das?
-
- User
- Beiträge: 18
- Registriert: Freitag 11. Mai 2007, 15:57
- Wohnort: Berlin
sry ja hatte das falsche bild upgeloadet!
jetzt ist es mit px
Äpfelgrün sagt danke
Du hast Punkt P(x1, y1) und den Mittelpunkt des Kreises M(x2, y2).
Nun braucht du den Abstand dieser Punkte. Das geht z.B. dadurch, dass du ein Dreieck bildest, wofür du nun den Abstand auf der x-Achse und den Abstand auf de y-Achse brauchst.
Delta_x = x1 - x1
Delta_y = y2 - y2
Das sind nun die Katheten deines Dreiecks. Die Hypotenuse dieses Dreiecks ist demnach der Abstand der beiden Punkte.
Wenn der Abstand kleiner als der Radius des Kreises ist, liegt der Punkt im Kreis -> Der Punkt ist rot.
Nun braucht du den Abstand dieser Punkte. Das geht z.B. dadurch, dass du ein Dreieck bildest, wofür du nun den Abstand auf der x-Achse und den Abstand auf de y-Achse brauchst.
Delta_x = x1 - x1
Delta_y = y2 - y2
Das sind nun die Katheten deines Dreiecks. Die Hypotenuse dieses Dreiecks ist demnach der Abstand der beiden Punkte.
Wenn der Abstand kleiner als der Radius des Kreises ist, liegt der Punkt im Kreis -> Der Punkt ist rot.
-
- User
- Beiträge: 18
- Registriert: Freitag 11. Mai 2007, 15:57
- Wohnort: Berlin
wo befindet sich denn dein genannter Punkt P bei mir in der Skizze?
Äpfelgrün sagt danke
-
- User
- Beiträge: 18
- Registriert: Freitag 11. Mai 2007, 15:57
- Wohnort: Berlin
so ick hab jetz dat lineal i-wo rauf gelegt auf den kreis und i-wo abgemessen
wie gesagt am Mittelpkt angefange.
von Mittelpkt. bis zum P. sind es 1,3cm sprich 13px
stimmt das erst mal wie ick dat jemacht habe?
wie gesagt am Mittelpkt angefange.
von Mittelpkt. bis zum P. sind es 1,3cm sprich 13px
stimmt das erst mal wie ick dat jemacht habe?
Äpfelgrün sagt danke
WARGH!
NEIN, tut es nicht!
Leg das Lineal weg und fass es auch nicht mehr an! Du brauchst kein Lineal! Mathematik und Gemometrie brauchen kein Lineal. Nie, nie, nie! Lineale sind böse!
Es ist völlig Wurst, wo P liegt, das ist ein abstraker Punkt, stellvertretend für unendlich viele verschiedene Punkte. Du musst eine Formel entwickeln, in die du einen Punkt P(x1, y2) gibst und die dir den Abstand zwischn P und dem Mittelpunkt des Kreises (x2, y2) zurück gibt.
Oder lass dir die Aufgabe von deinem Lehrer erklären!Der hat das studiert, der muss dir das vermitteln können...
Algebra. Variablen. Vektoren. Gnarghf.
NEIN, tut es nicht!
Leg das Lineal weg und fass es auch nicht mehr an! Du brauchst kein Lineal! Mathematik und Gemometrie brauchen kein Lineal. Nie, nie, nie! Lineale sind böse!
Es ist völlig Wurst, wo P liegt, das ist ein abstraker Punkt, stellvertretend für unendlich viele verschiedene Punkte. Du musst eine Formel entwickeln, in die du einen Punkt P(x1, y2) gibst und die dir den Abstand zwischn P und dem Mittelpunkt des Kreises (x2, y2) zurück gibt.
Oder lass dir die Aufgabe von deinem Lehrer erklären!Der hat das studiert, der muss dir das vermitteln können...
Algebra. Variablen. Vektoren. Gnarghf.
Mal ehrlich: Du hast die Beiträge hier gelesen? Und Du weißt was der Satz des Pythagoras ist und wie man ihn in Python umsetzt?
Oder bist Du doch ein Troll, den wir gerade kräftig füttern???
Oder bist Du doch ein Troll, den wir gerade kräftig füttern???