gegebne Punkte richtig einsetzen,ausrechnen??

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
nici
Beiträge: 246
Registriert: 29. Oktober 2008 12:50

gegebne Punkte richtig einsetzen,ausrechnen??

Beitrag von nici »

hallo,
ich habe eine for-schleife

Code: Alles auswählen

for(int ix=0; ix< img.width() ; ix++)
	   for(int iy=0; iy<img.height(); iy++)
		
	         int ax = c(width) *ix + d(width); 
	         int ay = c(height) *iy + d(height);
jetzt soll ich c ausrechnen. Also ich habe ein Bild (ein Kreis in einem Viereck), jetzt soll ich die 4 Punkte am dem sich der Kreis und das Viereck berühren ausrechnen. Ich habe für die 4-Punkte 4 Bedinungen bekommen.

Bedingung 1:
für ix = width-1 /2, iy=0 soll gelten: ax=0, ay = TetaMax
Bedingung 2:
für ix=0, iy=height-1 /2 soll gelten: ax=-TetaMax, ay=0
Bedingung 3:
für ix=width-1 /2, iy=height soll gelten: ax=0, ay=-TetaMax
Bedinung 4:
ix=width, iy=height-1 /2 soll gelten: ax=TetaMa, ay=0.

aber so wie ich das sehen kann das so nicht funktionieren, aber diese Vorlage hat man mir gegeben. Kann mir bitte jmd einen Vorschlag geben.

lg

nici
Hmm mir fällt nichts ein ^^
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Werd dir erst mal über die Aufgabenstellung bewusst. Ein Viereck ist kein Rechteck, du rechnest in deinem Codeschnippsel aber mit width und height.
Wenn du ein Rechteck hast, und per Vorgabe weißt dass es 4 Berührpunkte gibt, weißt du auch dass du ein Quadrat hast, oder der Kreis ist eine Ellipse.
In beiden Fällen liegt der Berührpunkt immer in der Mitte der jewiligen Seite des Rechtecks.

Hast du KEIN Rechteck sondern wirklich ein wildes Viereck, kannst du sowieso nicht mit height und width rechnen, da bracuhst du dann genaue Angaben über die 4 Punkte, welche das Viereck definieren. Um darin dann die Berührpunkte (welche auch <4 sein können, solange der Kreis im Viereck liegt, andernfalls auch >4) zu berechnen, musst du für jede Seite des Vierecks ein Lot vom Mittelpunkt des Kreises auf die Seite errechnen.
Wird allerdings ein "bisschen" komplizierter.

Und wie ist die Vorgabe eigentlich:
Ist das (wenn) Rechteck exakt waagrecht ausgerichtet (also die Seiten parallel zu denen des Bildes), oder kann das auch schief im Raum liegen?

Kannst ja mal den exakten Wortlaut der Fragestellung hier herposten, dann kann man eher Tips geben ;)
Wichtig ist da auch die Bedeutung von ix/ax usw.

Grüße
Franz
nici
Beiträge: 246
Registriert: 29. Oktober 2008 12:50

Beitrag von nici »

hallo,

also ich sollte an hand des gegebenen Winkels die vier Punkte vom Kreis herausfinden. Mein Chef hat mir erklärt wie ich es machen muss.

ich habe:

Code: Alles auswählen

for(ix=0; ix< img.width(); ix++){
	   for(iy=0; iy<img.height(); iy++){ 
	         double ax = (((ix-(265/2))*apertureAngle)/(256/2)); 
	         double ay = (((iy-(265/2))*apertureAngle)/(256/2)); 
trotzdem danke.

lg

nici
Hmm mir fällt nichts ein ^^
Antworten