WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   Flipped floor in a CAVE (https://forum.worldviz.com/showthread.php?t=2583)

shivanangel 03-10-2010 09:33 AM

Flipped floor in a CAVE
 
Hello again :D,

I am running Vizard on a 4 wall CAVE system at Rowan University.

I have read your CAVE file and have tried to create one of our own
for us to use with a Left, Right, Front and Bottom setup.

However, I consistently run into an issue where the bottom node seems
to be flipped. We are also running a PPT tracking system and an Inertia
Cube 3 wireless sensor.

I have setup the CAVE's center to be the literal center of the CAVE (height, width /2)


Code:


import viz
import vizcave
import viztracker
import math
import VectorHelper



def CaveInit():
        #Center is always assumed to be the red box on
        #the floor of the CAVE (wallpaper)
        #Use the PPT Tracker Offset command to fix
        #where the true center is if adjustments are needed...
       
        #Y Height should always be positive

        #CAVE Dimensions in Meters
        CAVE_W        = 3.048
        CAVE_H        = 2.286

        #Half Cave Dimensions
        CAVE_W2        = CAVE_W / 2.0        # Half width
        CAVE_H2                = CAVE_H / 2.0        # Half height
        #CAVE Vertices
        # c0  c1  c2  c3
        # *----*----*----*
        # | L  |  F |  R |
        # *----*----*----*
        # c4 c5|  B |c6 c7
        #      *----*
        #      b4  b7
        #
        C0 = -CAVE_W2,CAVE_H,-CAVE_W2
        C1 = -CAVE_W2,CAVE_H,CAVE_W2
        C2 = CAVE_W2,CAVE_H,CAVE_W2
        C3 = CAVE_W2,CAVE_H,-CAVE_W2
        C4 = -CAVE_W2,0,-CAVE_W2
        C5 = -CAVE_W2,0,CAVE_W2
        C6 = CAVE_W2,0,CAVE_W2
        C7 = CAVE_W2,0,-CAVE_W2

        #CAVE FLOOR OFFSET DUE TO THE DEPTH NOT EQUALING THE WIDTH
        OFFSET = 0.762

        B4 = -CAVE_W2, 0, -CAVE_W2 + OFFSET
        B7 = CAVE_W2, 0, -CAVE_W2 + OFFSET

        # Create front wall
        FrontWall = vizcave.Wall(        upperLeft=C1,
                                                                upperRight=C2,
                                                                lowerLeft=C5,
                                                                lowerRight=C6,
                                                                name='Front Wall' )
                       
                       
        # Create left wall
        LeftWall = vizcave.Wall(        upperLeft=C0,
                                                                upperRight=C1,
                                                                lowerLeft=C4,
                                                                lowerRight=C5,
                                                                name='Left Wall' )
                                                       
                                                       
        # Create right wall
        RightWall = vizcave.Wall(        upperLeft=C2,
                                                                upperRight=C3,
                                                                lowerLeft=C6,
                                                                lowerRight=C7,
                                                                name='Right Wall' )
                                                       
        # Create bottom wall
        BottomWall = vizcave.Wall(        upperLeft=C5,
                                                                upperRight=C6,
                                                                lowerLeft=B4,
                                                                lowerRight=B7,
                                                                name='Bottom Wall' )


        # Create cave object
        cave = vizcave.Cave()
        #cave.setIPD(0.06)
        #cave.setNearPlane(0.15)
        cave.setFarPlane(1000.0)
       
        viz.eyeheight(0)
       
        # Add walls to cave
        cave.addWall(FrontWall, mask=viz.MASTER)
        cave.addWall(LeftWall, mask=viz.CLIENT1)
        cave.addWall(FrontWall, mask=viz.CLIENT2)
        cave.addWall(BottomWall, mask=viz.CLIENT3)
        cave.addWall(RightWall, mask=viz.CLIENT4)
       
        return cave


I don't know if it is not proper to set the center of the CAVE as my origin.
The PPT system is set up "close" to that (not perfectly, but around head height) and a + Z-offset.

Thank you for any help you can give and I hope
you can help reduce my eye-strain from the bottom flipped node!

This seems to happen from time to time and it is annoying as all heck!

~George

farshizzo 03-10-2010 10:12 AM

Are you passing the raw ppt tracker object to the cave.setTracker function? Can you print out the PPT coordinates when the bottom view is flipped? Usually when a cave wall flips, it means that the users reported head position is behind the screen. This could be caused by a mis-configured cave or a problem with the tracking system.


All times are GMT -7. The time now is 02:11 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC