Archive: Check this out!


2nd January 2003 03:11 UTC

Check this out!
Here's a 120-polyhedron for your enjoyment. It's not music responsive yet, but when I have the time to alter 120 superscopes to make it so I will. It's pretty sweet - the largest polyhedron in avs to date, i believe. Thank god for c++ or this would have taken a month to write.


2nd January 2003 07:09 UTC

i'm pretty sure it would've been a whole lot quicker to write that out using the hexagons formed by the faces instead of doing it face-by-face. it's a wireframe, so it doesn't matter how you draw the edges - just that you do :)
another thing: since it's rotating in a sphere, you shouldn't make z3=1/(z3+3). instead find the diameter of that set of coordinates, and make z3=1/(z3+sqrt([DIAMETER]))


2nd January 2003 20:58 UTC

That would make it easier, except the "hexagons" aren't flat and the code was easier to create this way instead of using 20 6 sided polyhedrons (I don't know what they are called). To help you see a better view of the 120-polyhedron, I have attached a picture of it.


3rd January 2003 00:43 UTC

It'd be pretty easy to fix the staggering using z=sin(r) (assuming the z-axis is relatively perpendicular to the hexagon). And I never said the hexagons were flat :)

6-sided polyhedron = cube or hexahedron
6-sided polygon = hexagon


3rd January 2003 01:04 UTC

Yes, but by definition polygons are, and since a hexagon is a polygon all hexagons are flat.


3rd January 2003 01:52 UTC

99 KB... We got ourselves the 2nd biggest preset.

Nice job there - Just add a BG and some effects here and there.


3rd January 2003 01:53 UTC

No. A polygon is a closed 2-dimensional figure with a finite number of linear faces. 2-dimensional does not mean they're flat. An object can deviate into the third dimension and still be (technically) two dimensional.


3rd January 2003 02:34 UTC

Nic01, what is the biggest?
Atero, your probably right, but it would still be difficult to convert them to hexagons but feel free to if you want to.
Btw, I have now made a beat-responsive version of it and will put it up after a bit more optimizing - I have some variables defined in them that I don't even use


3rd January 2003 03:39 UTC

http://www.deviantart.com/deviation/907026 - At 136 Kb, it's a monster... But then that's because each star is a scope.


3rd January 2003 04:38 UTC

what about...

Deviant: `yathoso
...
beat 315.951 bytes :D

3rd January 2003 07:25 UTC

Unconed's renderer was dawn large too. Forget how big it was though.


3rd January 2003 09:21 UTC

Interesting... Now intersect the polygons, tesselate, and make a preset which is flat-shaded (and diffuse lit).


3rd January 2003 14:33 UTC

Thats pretty god damned kickass but i was just wondering why this dosent slow down my system when smaller presets do? (i have a crap system)


3rd January 2003 17:20 UTC

There are no per pixel effects to calculate. It's just drawing lines.


3rd January 2003 17:46 UTC

Yeah, like Jaheckelsafar said, superscopes are extremely fast because they don't have to do nearly as many calculations as DMs and other objects do. Even for this monstrous amount of superscopes the per pixel part of the superscope is calculated a total of only 480 times as compared to a movement at 800x600 resolution calculating for 480,000 pixels.


3rd January 2003 21:02 UTC

Here's a beat responsive version. The polyhedron also takes up more of the window so it is a bit easier to see. I never did get around to deleting the uneeded variables(2pi,phi,phi2,and phi3 if phi3 is replaced with 4.236067977) because it would require making a total of 480 changes/deletions. Ugh.


3rd January 2003 21:50 UTC

:up: Holy god damned hell thats amazing. I wouldnt know where to begin with that thing, i dont even know how to make different superscopes work together let alone 120 into that, whatever its called :confused:
all ya need now is some effects and you have one hell of a preset :)


3rd January 2003 21:59 UTC

Raz, to make multiple superscopes work together there are several methods that you can use - 3 that I know of.
1. Use a counter (i.e. t)
2. Use the functions getosc() or getspec() that will return the same numbers for all superscopes each frame if the parameters are the same.
3. Create a semi-random number generator that will spit out the same numbers for all scopes- this is slightly more difficult but is the only way to make it "random".


3rd January 2003 22:16 UTC

ok thanks, ill try and have a go but ill just end up making a mess lol. But atleast ill learn something in the process


3rd January 2003 22:48 UTC

i still think this is a whole lot bigger than it needs to be. i don't think it'd be that hard to find the coordinates of the hexagons needed to calculate the whole object, then re-do the superscopes.

also, try making it move around the screen, and smooth out your on-beat transitions. but most importantly, don't use straight up getosc() for random seeding. use something like (((getosc(...)*n)%n)/n-0.5)*0.05 (n is an arbitrary number) - this will give you random numbers from 0.05 to -0.05.


3rd January 2003 22:58 UTC

Allright Atero, I'll work on it but it may take me a while. Especially to convert them to "hexagons" (I'm still not 100% convinced that they are hexagons, but I'm probably wrong). I have been wanting to move the polyhedron around and have it change speed/direction on beat, but it takes forever to alter it. Thanx for the suggestions.


4th January 2003 00:52 UTC

I've changed the on-beat getosc and it does flow somewhat better although I will probably fix it even more. I also added movement in the x-y plane although it's not the greatest movement (if only avs had global variables).I've experimented with z-movement but I cant find anything to my liking. Any suggestions for movements would be considered. The file size is now up to 111,059 bytes.


4th January 2003 01:01 UTC

wow this just gets better and better, i know i must look stupid right now but is the movement in the x-y plane beat responsive and if not is that possible with multiple superscopes?


4th January 2003 01:13 UTC

Yes it is, but since it is based on the sine of timers it isn't very beat responsive and actually appears to be repetitive. So to answer your question, the movement can be beat responsive using the same ways I told you earlier. Really you can use just about anything except rand(),and x/y/z variables to maintain synchronized movements.


4th January 2003 01:21 UTC

Ok thx i think i get the vague idea now, just a whole load of messing about and taking other peoples ss's apart before i can understand it properly tho.


4th January 2003 09:09 UTC

i've been meaning to say this for a while, but i've forgot: don't use my variables just because they're there. it's much easier to differentiate between two different peoples' coding if their variable names are different.

also, i find that an extremely good way to make a psuedo-random 3-d translation of an object by using the rotation angles:
z3=...+cx*sz; y3=...+sx*cy; x3=...+cz*sy;
(or something arbitrary like that)