hahaha, you beat it The only thing I really know is that I’m getting crazy with so many math… Too bad I didn’t come out with this script before Che Blender. It would awesome to scare everybody out of the talk room with that
1.1 - August 17th 2009
* introducing luminosity calculation
* scale of mirror according to its ray
* frustum now is draw with edges instead of faces
def calculate_lumens():
* It regulate the luminosity intensity for the projector rays
* The light intensity decreases by a quadratic function of the distance
* We are taking the biggest light distance and using it in its maximum intensity (1.0)
- intensity = distance² / big_distance²
I’m about to test this system this Friday. I really hope it works fine…
Today I finally put this script in use.
In fact I’ve been cleaning up its code and simplifying it a lot. When I’m done with it I’ll post a new version.
In the mean time I recorded this video today, showing one of the possible uses for it: http://vimeo.com/6860784 [audio in Portuguese]
I’m calculating the position of the water tank faces (bottom and front) and projecting images (in this case colors) to match their position.
Blender scene, outputting the result of the script
Wow this is a great idea for virtual reality - consider using 2 projectors for stereoscopic 3D environment using polarizing lenses and glasses.
One thing I don’t understand - do you need to recalculate the image for different rooms or only for different projector lenses?
I’ll try to post something on http://www.mtbs3d.com/ (meant to be seen) which is a site devoted to 3D graphics. The idea of a 3D home immersion is likely to prove quite interesting to them.
Sorry for taking that long to reply. I’ve been too busy with the last tuning of the system (and the building process). I believe that the idea is not new, but not so many people do anamorphic projections with spherical mirrors (Paul Bourke has done that a lot already though).
One thing I don’t understand - do you need to recalculate the image for different rooms or only for different projector lenses?
For every projector, mirror, dome… you need a whole different calculation. For a room I don’t know if the rooms are the same and the optical system is in the same relative place … than it should work. That would be the least of my concerns
The idea of a 3D home immersion is likely to prove quite interesting to them.
Keep in mind that I’m originally writing it to use with the immersive dome. In order to use in a home installation you may find yourself having some fun tweaking some of the math formulas I used
Thanks for the interest. I’ll try to keep my mouth shut up until the Blender Conference so I can keep some surprises to the presentation …
Tomorrow is a great day. I’m going to test my system for real in my former university dome.
In the mean time I updated the script to run it in … Blender 2.50
thanks again for your work. I’ve updated your scripts to work with Blender 2.60 that has seen quite a bit of very silent Python API changes. You can get the files from here:
Hi Christoph,
thanks for sharing your updates. I actually always wondered if this was useful for someone else.
So, how (and what for) you are using this script?
One small thing you forgot in your update is the the reports. They no longer take a string as input, instead they need a dictionary: e.g. self.report({‘WARNING’}, msg).
I took this as a chance to slightly update the script and make use of ui update callback functions (something new in Blender 2.5/2.6). Now there is an option to automatically recalculate the point cloud while tweaking the parameters in the interface.