hallo zusammen,
wir sitzen gerade an einem interessanten projekt zum thema interaktion. das geht über zwei semester, da kann also was wirklich anständiges dabei rauskommen. doch im moment hängen wir seit ner weile an einem mathematischen problemchen, von dem ich hoffe, daß das einer von euch lösen kann…
es geht im gesamten darum, aus zwei kamerabildern die 3d-koordinaten eines punktes in einem definierten raum zu berechnen. die kameras sind sowohl nach unten, also auch zueinander nach innen geneigt. das brauchen wir, um unser spielfeld möglichst großflächig zu erfassen.
die idee hinter der geometrie ist folgende: ein punkt in einem kamerabild (x, y im kamerabild sind bekannt) entspricht einem vektor von der kamera aus gesehen. wir wissen also schonmal, daß sich unser gesuchter punkt auf diesem vektor befindet, nur nicht, wie weit er von der kamera entfernt ist. von der anderen kamera aus gesehen haben wir einen anderen winkel zu dem gesuchten punkt, es definiert sich also wieder ein vektor. die beiden vektoren schneiden sich im idealfall in dem punkt und wir können den ortsvektor des gesuchten punktes berechnen. im realfall sind die beiden vektoren windschief, dann müssen wir den kleinsten abstand suchen, diesen halbieren und bekommen so eine näherung der 3d-koordinate.
gegeben haben wir außerdem die ortskoordinaten unserer kameras und den sichtvektor der kameras (normale zur bildebene). auch kennen wir die öffnungswinkel der kameras in horizontaler und vertikaler richtung. daraus können wir den winkelunterschied vom sichtvektor zu unserem gesuchten vektor berechnen und bekommen zwei winkel (in x und in y-richtung des kamerakoordinatensystems) heraus.
woran wir jetzt im detail scheitern ist die umrechnung des sichtvektors anhand der beiden winkeldifferenzen in wieder einen neuen vektoren, weil das kamerasystem ja gegen unser spielfeldsystem geneigt ist. eine drehung des sichtvektors um die globale y-achse zum beispiel würde auch eine drehung um die x-achse implizieren und die rechnung so ziemlich ungenau machen.
wir sind für jede hilfe überaus dankbar! für fragen und erklärende grafiken könnt ihr euch gerne an mich wenden!
vielen dank, stefan.