Defense
The slides:
users.groept.be/bo/bo.gao/site/Final/The
![]() | You are viewing Log in Create a LiveJournal Account Learn more | Explore LJ: Life Entertainment Music Culture News & Politics Technology |
Statement of Problem
Maxedia is a graphic server that generates light effects in real time. The video material can easily be changed in color or combined with live effects. Everything is processed and real-time rendered as input to for projectors, plasma screens or video walls.
The problem with projecting on walls or similar screens is that they can be bent, curved, tilted or a combination of the previous. This will result in a distortion off your projection as it is perceived by the audience.
Maxedia doesn’t have a tool to transform the projected image to make it conform to the particular shape of the screen.
Design Objectives
This document proposes that we will solve the problem stated above in five basic objectives which we will shortly explain here.
1. Literature Study
2. Mathematical calculations, implementations and test
3. An test application in C#
4. Integrate the mathematical implantation into Maxedia with C++
5. Build the GUI of the new Maxedia functionality.
· The literature study is for us to make ourselves more tuned with the concepts of computer graphics, perspective and the math’s behind is. We will also try to get a better understanding of C# and C++.
· The mathematical calculation is to find the physical mathematical rules for perspective viewing. We will do this to understand the mathematics behind the media that we will have to process later.
When we know how this math works we will implement is into a C# class library that can work independently and of course test its correctness.
· According to the mathematics we will make an application to test everything in a higher level with a user interface on which we can transform a virtual screen intuitively.
· If the third step has been proved to work we can start integrating everything into the Maxedia with C++ so that we will generate an output-mesh that can be used for practical purposes like video-processing.
· Of course everything needs a friendly and good-looking user interface that allows users to intuitively manipulate the projection-image to create the exact mesh. Of course this interface has to blend in perfectly with the rest of the already existing Maxedia UI.
Technical Approach
See WBS
Identifying Customer Needs
The costumers need a nice and easy way to transform the mesh of the projection in more ways.
Generating Design Concepts
Generally, the design concept is to achieve a 3D visual effect with a 2D mathematical implementation.
This mathematical implementation includes Perspective Calculation and Bezier Patching. Perspective calculation gives the rotation and scaling effect, while the Bezier patching makes the projected image curvy like. When the perspective calculation and Bezier patching are combined together, the user can manipulate the projected image into an arbitrary shape with arbitrary angle.
Then we make these mathematical implementations into libraries which the programmer can refer to very easily later.
When we have derived these libraries, we test them, prove them and we plug them into Maxedia environment to enrich the functions of it, make it meet customers’ needs in a better way.
Selecting Design Concept
We choose the Bezier-curves and patching to simulate the curving on a screen because it provides a nice compromise between usability and programmability.
Also we simulate a 3D effect in 2 with perspective transformations, because in a screen 2D is more intuitively to manipulate then a 3D scale of the screens.
Project Management
See Gantt-chart
Deliverables
We hope to create a nice working plug-in for the Maxedia media server which extends its use the things we’ve just explain in the previous paragraphs.
To achieve this, our first deliverable is a class library for the mathematics.
The second one is a working graphic prototype on which the end user can manipulate a mesh.