FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

P2 Aufgabenblatt 5 Aufgabe 5.3

P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-11 14:18
Elnino
Hi Leutz,

kann mir jemand mal nen Tipp geben wie man diesen Spot aus dem Aufgabenbkatt 5 (P2)macht? Bzw. kann mir mal jemand zumindest einen Ausschnitt aus dem Quellcode posten?

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-11 14:55
XPhilosoph
Also, ich hab das wie folgt gemacht:
Du gehst wieder mit den beiden for-Schleifen aller Bildpunkte durch und berechnest den Abstand des aktuellen Punktes zum Spot. Dafür bildest du jeweils die Differenz der x- und der y-Koordinate, quadrierst dann jeweils beides, addierst es und ziehst dann die Wurzel (Stichwort: Satz des Pythagoras). Hierfür brauchst du dann auch java.lang.Math . Wenn der Abstand minus die Intensität des Spots eine positive Zahl ist, erhellst du nun den aktuellen Punkt um eben diese Differenz.

Tada!

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-11 16:12
Spacelord
Also, ich hab das wie folgt gemacht:
Du gehst wieder mit den beiden for-Schleifen aller Bildpunkte durch und berechnest den Abstand des aktuellen Punktes zum Spot. Dafür bildest du jeweils die Differenz der x- und der y-Koordinate, quadrierst dann jeweils beides, addierst es und ziehst dann die Wurzel (Stichwort: Satz des Pythagoras). Hierfür brauchst du dann auch java.lang.Math . Wenn der Abstand minus die Intensität des Spots eine positive Zahl ist, erhellst du nun den aktuellen Punkt um eben diese Differenz.

Tada!

Was du schreibst ist für einen punktförmigen Spot zutreffend. So wie ich die Aufgabe verstehe, soll aber ein kreisförmiger Spot (mit zu übergebendem Radius) abgebildet werden, der alle Pixelwerte innerhalb des Spots um den Wert der Lichtintensität erhöht. Außerhalb des Spots soll die Beleuchtungsintensität linear abnehmen. (Die Stärke der Abnahme ist dabei nicht angegeben. Ich habe einfach mal 1 je Pixel genommen.)

Dementsprechend braucht man in der for-Schleife eine Fallunterscheidung, ob der Pixel innerhalb des Spots liegt (dann um die Beleuchtungsintensität erhöhen). Liegt er außerhalb, erhöht man in Abhängigkeit des Abstands vom Spotrand.

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-11 17:14
Princesa
Was heißt eigentlich:

Außerhalb des Spots nimmt die
Ausleuchtungsintensität linear ab.

??? Ausserhalb des Spots wirds dunkler? oder wie jetzt? Es soll übrigens pro pixel sich verändern (also wenn data[y][x] sich ausserhalb des radius befindet).

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-11 18:18
Popcorn
Also wir haben das so verstanden, das am Mittelpunkt des Spots der Wert um die volle Intesität aufgehält wird. Dann bis zur äußeren Begrenzung, also auf der Strecke des Radius, nimmt diese Intensität gleichmässig ab, bzw. am äußersten Rand gibt es so über den Daumen gepeilt noch +1 auf den Pixel. Das Bild außerhalb behält seine Helligkeit.

Wierum man das macht, dürfte aber wohl egal sein, der Aufwand bleibt sich ja gleich. Und wenn man sowas diskutieren möchte, könnte man schon bei Threshold anfangen, wofür es auch unterschiedliche Handhabungsmöglichkeiten gibt.

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-11 18:22
Spacelord
Was heißt eigentlich:

Außerhalb des Spots nimmt die
Ausleuchtungsintensität linear ab.

??? Ausserhalb des Spots wirds dunkler? oder wie jetzt? Es soll übrigens pro pixel sich verändern (also wenn data[y][x] sich ausserhalb des radius befindet).

Ich habe das so interpretiert, dass die zusätzliche Beleuchtung durch den Spot außerhalb des Spots abnehmen soll, aber kein Pixel dadurch dunkler werden soll. Man kann den Effekt vergleichen mit einem Scheinwerfer der einen Teil eines Bildes besonders stark beleuchtet. Dabei wird alles im Lichtkegel um die Lichtstärke des Scheinwerfers erhellt, und außerhalb nimmt die Helligkeit eben ab. Aber es wird natürlich nirgendwo dunkler als es ohne den Spot war.

Das ist natürlich nur meine Interpretation. Vielleicht war die Aufgabe auch anders gemeint. Aber der Effekt sieht auf jeden Fall schon mal gut aus![img]http://images.rapidforum.com/images/i14.gif[/img]

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-11 18:27
Spacelord
Also wir haben das so verstanden, das am Mittelpunkt des Spots der Wert um die volle Intesität aufgehält wird. Dann bis zur äußeren Begrenzung, also auf der Strecke des Radius, nimmt diese Intensität gleichmässig ab, bzw. am äußersten Rand gibt es so über den Daumen gepeilt noch +1 auf den Pixel. Das Bild außerhalb behält seine Helligkeit.

An diese Interpretation habe ich auch gedacht, aber die Formulierung "außerhalb des Spots nimmt die Ausleuchtungsintensität linear ab" spricht IMO dagegen, da sie bei euch ja schon innerhalb des Spots abnimmt - es sei denn man würde nur den Mittelpunkt als Spot bezeichnen. Was für eure Interpretation spricht, ist die lineare Abnahme, die dann wenigstens eindeutig definiert wäre, während ich sie frei wählen musste (habe einfach 1 je Pixel genommen).


Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-11 20:05
Cyrax
Also ich hab so nen guten Java Typen bei mir in der Gruppe der das hinbekommen hat. Er hat seinen Quelltext auch sehr gut kommentiert. Also wer sich das Listning mal anschauen möchte kann mich per ICQ oder per Mail fragen.

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-11 21:32
Anonymer User
Also hier mal eine Mail von meiner P-Übungsgruppenleiterin:

Hi Bernd,
den Begriff "Objektvariable" gibt es so in der Objektorientierung nicht,
ich vermute einfach mal, du meinst eine Exemplarvariable. Die brauchen
wir hier allerdings nicht. Kann es sein, dass Intensität
missverständlich ist? Es ist einfach der Wert gemeint, um den das
Zentrum des Lichtspots heller gemacht werden soll.
Die Intensität, die Koordinaten des Spot-Mittelpunkts und der Radius
sollen als Parameter an die Operation übergeben werden. Also könnte die
Signatur der Operation z.B. so aussehen:
public void spot(int x0, int y0, int radius, short intensitaet)
Tatsächlich soll das Bild in dem gegebenen Kreis heller werden, in der
Mitte um den Wert "intensitaet", zum Rand hin linear weniger. Der Rest
des Bildes soll so bleiben, wie er ist.
Ich hoffe, das beantwortet deine Frage.
Viel Erfolg
Petra


> Moin Petra,
> ich habe eine Frage zu Aufgabe 5.3 "spot":
> Es ist in der Aufgabe von 'Beleuchtungsintensität' die Rede. Wir haben
> jedoch keine Objektvariable, welche die Lichtintensität des Bildes beschreibt.
> Meine Idee war nun folgende: Übergeben wird die relative Intensität des Spots
> zum Rest des Bildes. Der Rest des Bildes wird nun dunkler gemacht, und zwar in
> Abhängigkeit zur Entfernung zum Mittelpunkt. Durch die Dunklerfärbung
> entsteht der Eindruck, die Lichtintensität nähme ab. Im Spot selber jedoch verbleibt
> sie in der Ursprungshelligkeit.
>
> Ist dieses Vorgehen im Sinne der Aufgabe?
>
> Viele Grüße
>
> Bernd

Also fals ihr das anders gemacht habt … dann habt ihr das wohl falsch [img]http://images.rapidforum.com/images/i24.gif[/img]
mfg Zaphod

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-12 12:07
Spacelord
Dann habe ich das wohl falsch gemacht![img]http://images.rapidforum.com/images/i11.gif[/img]

Aber wenn die das so meinen, warum schreiben sie dann in die Aufgabe: "Außerhalb des Spots nimmt die Ausleuchtungsintensität linear ab"? Es müsste doch wohl heißen: "Zum Rand des Spots nimmt die Ausleuchtungsintensität linear ab"!

Ich schick unsere Lösung einfach ab, wie sie ist. Wenn die Übungsleiter keine korrekte Aufgabenstellung formulieren können, ist das nicht mein Fehler.

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-12 13:31
Anonymer User
Also

Das, wie PBP - auch Petra genannt - es beschrieben hat, widerspricht diametral dem, was Wolfgang Schindler in seiner Gruppe beschrieben hat. Danach ist der Spot mit Radius konstant erhellt und außerhalb nimmt die Intensität linear ab und zwar bis - falls das Bild groß genug ist - der Rand schwarz ist.

Gruß

OB

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-12 14:24
Popcorn
Leute. Vom Source her macht das doch nun wirklich keinen nennenswerten Unterschied. Wenn Ihr das einen oder andere hinbekommt, dann werden die Leiter sicher glücklich sein. Hauptsache das ist irgendwie Spot.
Petras Interpretation muss nach dem Text allerdings falsch sein, da dort steht "außerhalb des Spots nimmt die Lichtintensität linear ab." Ihre Aussage käme ja nur hin, wenn mit dem Spot der Mittelpunkt gemeint ist. Da vorher aber von einem runden Spot gesprochen ist, hat es sich damit wohl. Aber wie gesagt egal.
Zudem finde ich, dass ein ostentatives Faible für den extremen Usus von Fremdwörtern, einen schnell zum Deliquenten stigmatisieren kann. Na auch egal. Immerhin weiß ich jetzt was diametral heißt. %)

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-12 22:05
Cyrax
Also ich schließe mich ausnahmsweise mal der Meinung von Bjorn an. In der Aufgabenstellung wurde die Erläuterung des Spots so schwammig erklärt, das es glaube ich egal ist, ob der Spot nun 2 Pixel größer ist oder nicht und wie genau er aussehen soll. Hauptsache es ist erkennbar, das ihr erkannt habt, worum es gehen soll.
Ich glaube das ist das wichtigste.

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-12 22:06
Cyrax
Welcher Bernd bist du? Ich hoffe net der Spaßvogel mit dem Bart und der coolen Brille? Bernie der Chefkoch… *g*

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-13 18:16
Zaphod
Nö… kein Bart…
Aber dafür einen neue Mail von Petra *gg*:
Es ist doch so wie in der Aufgabe eigentlich geschrieben: Der Spot bleibt wie er ist, der Rest wird linear Verdunkelt.

Re: P2 Aufgabenblatt 5 Aufgabe 5.3 2002-05-16 10:36
Anonymer User
Was heißt eigentlich:

Außerhalb des Spots nimmt die
Ausleuchtungsintensität linear ab.

??? Ausserhalb des Spots wirds dunkler? oder wie jetzt? Es soll übrigens pro pixel sich verändern (also wenn data[y][x] sich ausserhalb des radius befindet).

Ich habe das so interpretiert, dass die zusätzliche Beleuchtung durch den Spot außerhalb des Spots abnehmen soll, aber kein Pixel dadurch dunkler werden soll. Man kann den Effekt vergleichen mit einem Scheinwerfer der einen Teil eines Bildes besonders stark beleuchtet. Dabei wird alles im Lichtkegel um die Lichtstärke des Scheinwerfers erhellt, und außerhalb nimmt die Helligkeit eben ab. Aber es wird natürlich nirgendwo dunkler als es ohne den Spot war.

Das ist natürlich nur meine Interpretation. Vielleicht war die Aufgabe auch anders gemeint. Aber der Effekt sieht auf jeden Fall schon mal gut aus![img]http://images.rapidforum.com/images/i14.gif[/img]

Nun ja…. soll halt ein Spot sein. also, Ein Spot (heller lichtfleck) mit gleichbleibener gegebener intensität von seinem Mittelpunkt bis zu seinem Rand, der dann in richtung bildrand linear abnimmt… z.B. -1/pixel. Das es nirgendwo dunkler wird als vorher, sollte eigentlich auch klar sein (mal ein Tip: Photoshop Beleuchtungseffekte angucken)
Wenn man aber beim Programmieren sein Hirn nicht ganz abschaltet ist die Aufgabe eigentlich ganz klar zu verstehen.

okidoke?