Sony Advertising
Amazon
Forum für die Fotosysteme von Sony und KonicaMinolta
  SonyUserforum - Forum für die Fotosysteme
von Sony und KonicaMinolta
 
Registrieren Rund ums Bild Galerie Objektiv-Datenbank Kalender Forenregeln Nützliches

Startseite » Forenübersicht » Treffpunkt » Café d`Image » multimedia installation mit bildverzerrung
Antwort
 
Themen-Optionen Ansicht
Alt 07.05.2005, 17:40   #1
Judy
 
 
Registriert seit: 06.05.2005
Ort: Linz
Beiträge: 10
multimedia installation mit bildverzerrung

hallo!

ich muss ein studienprojekt realisieren in dem es darum geht, bilder zu verzerren. das setup sieht folgendermaßen aus: es gibt eine art touchscreen auf dem jedoch auch mehrere berührungspunkte/berührungsflächen getrackt werden können. auf dem screen wird ein beliebiges bild dargestellt. der benutzer hat nun durch berührung und dragging die möglichkeit, das bild zu verzerren (mit allen fingern gleichzeitig wenn ihm beliebt). wird ein berührungspunkt losgelassen wird die durch diese berührung hervorgerufene verzerrung wieder aufgehoben (am besten wärs wenn dieser teil wie an einer art gummiband festgemacht zurückschwingen würde).

ich hätte mir das so vorgestellt, dass ich eine art raster über das bild lege und die dabei entstehenden vertices durch die berührung des benutzers manipuliert werden. leider weiß ich nicht genau wie ich dann die bildverzerrung daraus berechnen kann. kann mir jemand da behilflich sein? wer sich meine überlegung nicht so ganz vorstellen kann, kann sich bei photoshop den liquify-filter mal ansehen und dabei das mesh sichtbar schalten. ich freue mich über jede art von hilfe.

tausend dank, Judy

ps. bin ganz neu hier, wenn ich also was falsch mache, einfach ganz laut schrei(b)en
Judy ist offline   Mit Zitat antworten
Sponsored Links
Alt 07.05.2005, 20:21   #2
Fracman
 
 
Registriert seit: 29.03.2004
Beiträge: 2.537
Hallo Judy,

willkommen im Forum :-)

Eine sehr interessante Idee hast Du da!
Anstelle eines Touchscreen sollte man eventuell auch ein Zeichentablett oder das Touchpad eines Notebooks verwenden können, oder?

Im Prinzip solltest Du das Grundprogramm schon mit OpenGL oder DirectX recht einfach erzeugen können.
Die einzige Schwierigkeit liegt tatsächlich auf der geeigneten Filterung an den Verzerrungsstellen.
Die Komplexität wächst dann auch mit der Anzahl der Verknüpfungen pro Gummiecke.
Eventuell geht das mit Shaderprogrammierung auf dem Grafikchip,
oder Du verzerrst die Bildinformationen gezielt über eigene Routinen.
Einfache Veränderung der Texturkoordinaten wird ansatzweise ausreichen, aber nicht perfekt sein..

Auf der Entwicklerseite von nVidia hab ich folgendes Dokument gefunden, da kann man sich einen eigenen Filter für PhotoShop programmieren, der auf dem Grafikchip berechnet wird.

Möglicherweise kannst Du sogar das hier verwenden: PaintLiquid (für GeForce 6 Chips).

Bei Ati gibt es auch ähnliches.
Schau mal die Präsentationen zu Shadern in DirectX an,
da sind auch interessante Effekte drin, z.B. Texture Perturbation Effects
Fracman ist offline   Mit Zitat antworten
Alt 08.05.2005, 09:01   #3
ManniC
 
 
Registriert seit: 15.10.2003
Ort: Bottrop
Beiträge: 26.177
Moin Judy,

auch von mir herzlich willkommen im Forum. Du hast nichts falsch gemacht sondern deine Frage exakt im richtigen Unterforum gestellt.

[EDIT] by ManniC
Ups - TorstenG hatte dich ja richtigerweise von der Bildbearbeitung hierher verschoben da hab' ich jetzt was falsches getippt . Nobody ist perfect, "Mein Name ist Nobody"
[/EDIT]


Als ich deinen Beitrag gelesen habe hab ich gedacht "Die Frage ist so gut, die möchte ich nicht durch eine Antwort kaputtmachen" und für mich beschlossen:




@Fracman:
Kompliment , dein Statement ist ein weiterer Beweis dafür, dass in diesem Forum wirklich jedem geholfen wird.
__________________
VLG: Manni
ManniC ist offline   Mit Zitat antworten
Alt 08.05.2005, 12:43   #4
Judy

Themenersteller
 
 
Registriert seit: 06.05.2005
Ort: Linz
Beiträge: 10
danke für die hilfe

tausend dank für die schnelle und sehr hilfreiche antwort. leider bin ich durch die vielen dargestellten möglichkeiten etwas verwirrt.

mein erster gedanke war auch, das alles mithilfe von texturen und sich verändernden texturkoordinaten zu machen. dazu hätte ich aber noch eine frage (möge sie auch banal sein... ). wenn ich das mit einem solchen raster und texturkoordinaten mache, unterteile ich dann die textur gemäß dieses rasters in einzelne teile mit den sich aus dem raster ergebenden vertices als texturkoordinaten für diese kleinen texturteile?

ich hoffe man gestattet mir noch eine weitere frage...
was shader anbelangt, welche vorteile hätte diese art der realisierung? ich hab noch keinerlei erfahrung mit shadern, und bin deswegen noch ziemlich am holzweg.

vielen dank für jegliche hilfe!
lg, Judy
Judy ist offline   Mit Zitat antworten
Alt 08.05.2005, 13:02   #5
Fracman
 
 
Registriert seit: 29.03.2004
Beiträge: 2.537
Hallo Judy,

da gibt es zwei Möglichkeiten:

Du kannst die Textur entweder vorher unterteilen
(wobei sie im Speicher der Grafikkarte immer mit Kantenlängen von 2er-Potenzen liegen muß, also z.B. 64x64),
oder sie als Ganzes einmal in den Speicher laden und dann die texturkoordinaten beliebig wählen, um sie einer Fläche zuzuordnen.

Shaderprogrammierung hat nur den Vorteil, daß alles im Grafikchip berechnet wird und meistens wesentlich schneller ist als mit der normalen CPU. Nachteil: man muß sich da auch erst einarbeiten (da kenne ich mich leider auch nicht so im Detail aus), und es ist stark vom jeweiligen Chip abhängig.

Wenn Du OpenGL verwendest, gibt es zwar auch manche Abhängigkeiten,
aber Texturen Texturkoordinaten gehört quasi zum Grundbefehlssatz

Dazu kann ich Dir die OpenGL SuperBible empfehlen,
enthält alles rund um OpenGL und auch Beispiele.
Ich versuch mal bis später, noch was im Netz zu finden...
Fracman ist offline   Mit Zitat antworten
Sponsored Links
Alt 08.05.2005, 14:03   #6
Judy

Themenersteller
 
 
Registriert seit: 06.05.2005
Ort: Linz
Beiträge: 10
immer noch probleme mit texturkoordinaten

hallo & danke!

ich check es einfach nicht. wenn ich die gesamte textur auf die ebene lege dann kann ich die textur ja nur als ganzes über die 4 eckpunkte manipulieren, oder? ich kann mir irgendwie im moment nicht vorstellen, die textur an den zusätzlichen vertices, die sich aus dem raster ergeben, an die ebene zu 'kleben' mit texturkoordinaten.
ich geh mal davon aus, dass ich mir das in meinem kopf scheinbar irgendwie 'falsch' vorstelle... ich mach mich mal schlau, vielleicht versteh ich es dann

lg, Judy
Judy ist offline   Mit Zitat antworten
Alt 08.05.2005, 14:10   #7
ManniC
 
 
Registriert seit: 15.10.2003
Ort: Bottrop
Beiträge: 26.177
Ich kleb' das Posting mal an den ursprünglichen Thread -- der Übersichtlichkeit halber
__________________
VLG: Manni
ManniC ist offline   Mit Zitat antworten
Alt 08.05.2005, 14:20   #8
Fracman
 
 
Registriert seit: 29.03.2004
Beiträge: 2.537
Hi Judy,

du kannst ja eine Textur oder auch beliebig viele Texturen auf eine Fläche spannen.

Du darfst natürlich nicht ein einfaches Polygon mit 4 Ecken nehmen,
sondern mußt die Fläche in MxN Polygone aufteilen,
also ein Drahtgitter aus lauter kleinen Vierecken,
auf die Du dann die enstprechenden Texturkoordinaten der Usprungstextur legst:

Tx = x*1/M
Ty = y*1/N

(oder so ähnlich)
Fracman ist offline   Mit Zitat antworten
Alt 08.05.2005, 14:52   #9
Judy

Themenersteller
 
 
Registriert seit: 06.05.2005
Ort: Linz
Beiträge: 10
spitze

mah, was bin für ein schussel dass ich soweit nicht denken kann.
tausend dank! jetzt gehts ans eingemachte

allerliebste grüße von einer erleuteten Judy
Judy ist offline   Mit Zitat antworten
Alt 08.05.2005, 15:17   #10
ManniC
 
 
Registriert seit: 15.10.2003
Ort: Bottrop
Beiträge: 26.177
Halte uns aber bitte auf dem Laufenden.

Ich finde (trotz keiner Ahnung ) das Thema hochinteressant.
__________________
VLG: Manni
ManniC ist offline   Mit Zitat antworten
Sponsored Links
Antwort
Startseite » Forenübersicht » Treffpunkt » Café d`Image » multimedia installation mit bildverzerrung


Forenregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:02 Uhr.