Moinmoin.
ich habe auf der Arbeit die Aufgabe bekommen ein c+±Programm zu schreiben, welches anhand von eingegebenen Werten (mit GUI) ein Haus generiert. Die berechneten Punkte werden in eine VRML-Datei geschrieben.
Das klappt auch alles so gut und ich sehe ein vernünftiges Haus mit Wänden, Dach, Tür und mehreren Fenstern.
Nun wollte ich die mit Texturen belegen…ich habe schon so ein bisschen rumprobiert mit imageTexture und textureTransform usw und bin nun an einem Punkt an dem ich nciht mehr weiter weiß.
Die Wände mit einer backstein-Textur zu versehen is kein sindg, da sich die ja wiederholen. Wenn ich nun aber ein Fenster mit einer Textur versehen will stoße ich auf ein Problem. Da die Fenstergröße von den Eingaben des Users abhängen brauche ich ein allgemeines „Gesetz“, wie ich eine Textur an die Größe der Fläche anpasse. Die Das Texturbild soll sich nicht wiederholen, sondern so wie es ist auf die Fläche angepasst werden.
Ich habe schon einiges rumprobiert und mir sogar Wertetabellen mit verschiedenen Breiten und Höhen und den zugehörigen s- unt t-Werten des „scale“-Knotens aber ich komme einfach nicht hinter das System des texturen in VRML.
Ich habe mal ein paar Werte für breite und Höhe ausprobiert und mir die zugehörigen scale Werte notiert:
z.B.:
Breite = 3 Hoehe = 1 --> scale 1 3
hm dachte ich das is ja einfach aber…
Breite = 6 Hoehe = 4 --> scale 1 1.5
man sieht Ähnlichkeit aber das ist noch nicht allgemein genug, denn…
Breite = 3 Hoehe = 2 --> scale 1 1.5
kommt mir bekannt vor…aber wieso?? Der Größenunterschied zwischen den Seiten ist doch unterschiedlich. ich mein dass 6/4=3/2 ist weiß ich aber ich verstehe die allgemeine Gesetzmäßigkeit nicht
Interessant wirds dann noch wenn das Fenster höher ist als breit:
Breite = 3 Hoehe = 4 --> scale 1.3 1 , rotation 1.57
wieso diese komische rotationzahl und wieso gerade 1.3 wobei das bei den anderen doch so schön gepasst hat
Hoffe mir kann einer helfen. Vielleicht ist das ja auch ein allgemeines Problem bei Texturen egal ob nun in VRML oder sonst was. Ich bin für jede Hilfe und Denkanstoß dankbar