Very nice! Thx for Sharing. You should combine all your progs under one GUI.
Very nice! Thx for Sharing. You should combine all your progs under one GUI.
You can find some laser graphics in LDB format. However you will not find any description of its structure. Pangolin keeps it in secret.
I have done researches of that format and now I can read LDB files. This archive contains programming stuff. It has Visual Basic 6 project with codes for opening LDB files. Of course I dont know how to read all data fields and not all files can be read. If you can, please share code example for us.
This tool is for making ILDA raster scanning files. See details in description.txt file. Any comments are welcome.
The is pretty neat!
I see you are converting to palette.
The way I do it in LaserBoy is in 24bit color.
Plus, you might want to make several frames with the scan lines moving around. You can get much more information from the bitmap that way.
It's kind of like looking through a picket fence. If you are driving past it fast enough you can see right through it!
James.
Hi James!
Yes, its good idea to use vector mask.
My soft support table colors because I have not good editor with True Colors. Excepting Laserboy ofcourse
Unfortunately I cant test it in real live because have only single color system.
I love this stuff, especially the raster converter.
can you make a version of spirograph where you can specify the frequency ratios and amplitudes?
ie 3:2 makes a star with 5 points , but as you change the amplitudes of the waves it gets very interesting
THANK YOU VERY MUCH!
Stve Roberts
Well Steve, I made a lot of experiments with my spiro while debugging. I selected the most succesfull frequency range. It can do only rounded figures. Sorry, it is limitation of used algorithm. The simplified model is following(remember mathematics:
[function input]
For i = 1 To N * 360 Step Stp
X1 = R1 * Cos(i * 0.0174533 / N) + R2 * Cos(i * 0.0174533)
Y1 = R1 * Sin(i * 0.0174533 / N) + R2 * Sin(i * 0.0174533)
[draw point x1,y1]
Next i
[function output]
Where N - complexity
R2-amplitude and
R1=127-R2
That figures you are saying reguire another approach with independent frequency generators.
I will try to do something and if it will be succesful then I upload new version here.
LaserBoy also renders frames and frame sets from functions. This was how I made art in LaserBoy before I wrote the drawing tools. Many of the frames that come with LaserBoy were math generated.
This is a snippet from the Linux version of LaserBoy. Since I had so much other work to do in porting LaserBoy to any OS, I haven't worked on this. But it's still in there. There is just no easy interface for it.
In order to make use of it, you would need to be able to compile the source.
Code://################################################################################ ez_ilda_point A(int point, int frame_index) // single frame, 40 points, 3D spring { ez_ilda_point P; float factor = (point / 8.0) * two_pi; P.x = (short int)(900 * sin(factor)); P.y = (short int)(900 * cos(factor)); P.z = (short int)(point * 300 - 6000); P.k = 0; P.c = 1; return P; } //################################################################################ ez_ilda_point B(int point, int frame_index) { ez_ilda_point P; float factor = (point / 20.0) * two_pi, shift = (two_pi / 60.0) * frame_index; P.x = (short int)(point * 1200); P.y = (short int)(sin(3.5 * factor + shift) * point * 200); P.z = (short int)(0); P.k = 0; P.c = point * 2 + 2; return P; } //################################################################################ // The functions A, B and F are definitions for all points in an ez_ilda_frame // and possibly all frames in an animated frame set. // There is are ctors for ez_ilda_frame and for ez_ilda_frame_set // ez_ilda_frame(ez_ilda_point(*F)(int, int), int points_per_frame, int frame_index); // ez_ilda_frame_set(ez_ilda_point(*F)(int, int), int points_per_frame, int num_frames); // When calling these the total number of points and frames is defined. //-------------------------------------------------------------------------------- ez_ilda_point F(int point, int frame_index) { ez_ilda_point P; float factor = (point / 699.0) * 30 * pi; P.x = (short int)(22000 * sin(factor) * (sin(31 * factor / 15)) ); P.y = (short int)(22000 * cos(factor) * (sin(31 * factor / 15)) ); P.z = (short int)((point * 40) - 14000); P.k = 0; P.c = point % 253 + 2; return P; }
>>In order to make use of it, you would need to be able to compile the >>source.
He-he
I will port it into my experimental Visual basic application and look what it can to do.