Japanische Flagge /bzw. Kreis

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

applegreen hat geschrieben:ick komme aus Berlin bin .Klasse
Ja, das glaube ich gern ;)
BlackJack hat geschrieben:@keppla: Natürlich hat applegreen den Sticky-Thread nicht gelesen, der wendet sich laut Titel an *Informatikstudenten*. Ich hatte früher schon einmal vorgeschlagen den Titel so zu ändern, dass auch "Schüler" und "Hausaufgaben" drin vor kommt, aber das wollte damals niemand ändern.
Feel free to change. Wird dir sicherlich niemand übelnehmen.
pütone hat geschrieben:Wenn du es ohne Ableitung/Stammfunktion lösen willst (Vorschlag Leonidas), könntest du anschließend so vorgehen:
Ehh... war ich echt so überzeugend? 8)
pütone hat geschrieben:Du durchläufst die 90x60 px mit einer geschachtelten Schleife und berechnest für den jeden dieser Punkte den Abstand zum Mittelpunkt. Ist der Abstand höchstens so groß wie der Radius, muss der Punkt rot sein, sonst weiß.
Wenn man will kann man auch mit Sinus arbeiten indem vom Mittelpunkt sich die 2 Pi in kleinen Schritten dreht und Flächen rot färbt.

Hängt aber auch ab, was man verwenden kann. Mit PIL, Pygame, Pyglet oder Cairo ist das alles kein Problem, weil die Kreise zeichnen können.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

@Leonidas:
Wenn man will kann man auch mit Sinus arbeiten indem vom Mittelpunkt sich die 2 Pi in kleinen Schritten dreht und Flächen rot färbt.
Um auszuloten, was für applegreen mathematisch machbar ist, wäre eben die Klassenstufe hilfreich. "bin .Klasse" ist da leider nicht so hilfreich ...

Bei meinem Vorschlag kommt er mit dem Satz des Pythagoras aus, der sollte spätestens bis zum Ende der 9. Klasse behandelt worden sein. Die Winkelfunktionen folgen in der Regel erst später.
Hängt aber auch ab, was man verwenden kann. Mit PIL, Pygame, Pyglet oder Cairo ist das alles kein Problem, weil die Kreise zeichnen können.
Deshalb auch meine Fragen an applegreen, was er außer dem Kern-Python benutzen darf bzw. benutzt. Da er schon im ersten Posting von "einer Formel mit x² und y²" schrieb, gehe ich mal davon aus, dass er keine fertige Funktion zum Kreise zeichnen verfügbar hat.
applegreen
User
Beiträge: 18
Registriert: Freitag 11. Mai 2007, 15:57
Wohnort: Berlin

Also sry nochmal das ich letzte mal nur ".Klasse schrieb" Num war aus!
Also ick bin 10.Klasse!
Im endeffekt muss dat so ungefähr aussehen bei python:
P3
# japan.ppm
90 60
255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255.........
255 255 255.....
255......190 0 38.....255 255 255...


Wobei 255 255 255 für weiss steht
und
190 0 38 für rot
Äpfelgrün sagt danke
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Also sry nochmal das ich letzte mal nur ".Klasse schrieb" Num war aus!
Links neben bem [Absenden]-Button ist noch ein Button [Vorschau]. Den könntest du benutzen und vor dem Posten den Beitrag nochmal lesen ...
Wobei 255 255 255 für weiss steht
und
190 0 38 für rot
Den RGB-Code wirst du uns nicht erklären müssen, den Aufbau der ppm-Datei ebenfalls nicht. Es geht doch um das, was DU nicht verstanden hast.

Also nochmal: Berechne den Radius des Kreises aus der Info von BlackJack: Durchmesser = 3/5 der Höhe der Fahne. Die hast du ja mit 60px festgelegt.
Dann legst du ein Quadrat um den Kreis, bestimmst dessen linke obere und rechte untere Ecke und los geht's. Wenn du das nicht schaffst, würde ich es ganz lassen, dann fehlen dir einfach die grundlegenden mathematischen Voraussetzungen, um die Aufgabe auf diese Weise lösen zu können.

Den Rest habe ich dir schon erklärt: Satz des Pythagoras usw.
applegreen
User
Beiträge: 18
Registriert: Freitag 11. Mai 2007, 15:57
Wohnort: Berlin

was soll ich an den dreiecken bestimmen?
Flächeninhalt?
der durchmesser ist 4cm
Zuletzt geändert von applegreen am Donnerstag 14. Februar 2008, 18:55, insgesamt 1-mal geändert.
Äpfelgrün sagt danke
BlackJack

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/

:-)
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

applegreen hat geschrieben:was soll ich an den dreiecken bestimmen?
Flächeninhalt?
der durchmesser ist 4cm
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?

(Wobei BJ recht hat: Auch wenn man es so löst, kann man sich das Wurzelziehen sparen.)
applegreen
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?
Äpfelgrün sagt danke
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

applegreen hat geschrieben:der durchmesser ist 4cm
Jetzt bin ich sicher, dass es nichts wird. :cry:

Welche Abgründe.
applegreen
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
Äpfelgrün sagt danke
Jan-Peer
User
Beiträge: 166
Registriert: Dienstag 2. Oktober 2007, 10:55

Nur mal so zum Nachdenken: Wieviel Pixel sind denn vier cm? :roll:
applegreen
User
Beiträge: 18
Registriert: Freitag 11. Mai 2007, 15:57
Wohnort: Berlin

1cm = 10px
sprich
4cm=40px
Äpfelgrün sagt danke
Jan-Peer
User
Beiträge: 166
Registriert: Dienstag 2. Oktober 2007, 10:55

hm. ich komme hier auf ~32 pro cm. Ist ein 19"er ...
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

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:

Code: Alles auswählen

--------------------------------------------------------------
|                                                            |
|                                                            |
|                            *                              |
|                          / |                               |
|                        /   |                               |
|                      x----|                               |
....
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
applegreen
User
Beiträge: 18
Registriert: Freitag 11. Mai 2007, 15:57
Wohnort: Berlin

Bild

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
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Leg das Lineal weg, hier gehts um Pixel!


Meine Güte...so ganz der fitteste bist du aber auch nicht, wie? ;)
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

audax hat geschrieben:Meine Güte...so ganz der fitteste bist du aber auch nicht, wie? ;)
Na, laß das mal, wenn man wirklich auf'm Schlauch steht, sind Erklärungen via Netz manchmal bes. schwierig zu verstehen.

@applegreen: Du mußt aber schon die Beiträge aufmerksam lesen. Gehe nochmal zurück zum letzten Post auf der ersten Seite. Hilft das?
applegreen
User
Beiträge: 18
Registriert: Freitag 11. Mai 2007, 15:57
Wohnort: Berlin

Bild

sry ja hatte das falsche bild upgeloadet!
jetzt ist es mit px
Äpfelgrün sagt danke
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

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.
applegreen
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
Antworten