|
|
"Timothy R. Cook" <tim### [at] scifi-fantasycom> wrote in message
news:3C7709EC.1D49E3CC@scifi-fantasy.com...
> How make?
Sumtieng luk dis?
--
#local X=20*<-2,2,5>;#local K=2*z*X-X;#local R=seed(frame_number);blob{#while(K
.x>X.x)#local N=X+<rand(R)rand(R)1>/3;#local X=(vlength(N-K)<vlength(X-K)?N:2*X
-N);sphere{X,1,1rotate z*90}sphere{X,1,1}#end pigment{rgbt 1}interior{media{
emission<2,4,5>*5}}hollow scale.05}// http://nekar_xenos.tripod.com/metanoia/
sphere_sweep{catmull_rom_spline 6<-8,-8>1<-8,-8>1<-8,8>1<8,-8>1<8,8>1<8,8>1
translate 20*z pigment{gradient z scale 3color_map{[0rgb<0,9,18>][1rgb 0]}}}
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.325 / Virus Database: 182 - Release Date: 2002/02/19
Post a reply to this message
|
|
|
|
"Timothy R. Cook" <tim### [at] scifi-fantasycom> wrote in message
news:3C7709EC.1D49E3CC@scifi-fantasy.com...
> How make?
There was some code for this in images a few months ago (one code example was
mine).
Hang on... (this is for megapov, but I think it will work with 3.5 - also you
could speed it up by changing the merge to a union)
#macro Make_Bolt(LArraySize, LSeed, LWidth, LHeight, LSpread, LBranch,
LCutoff, LSpike)
#declare myArray = array[LArraySize]
#declare checkCount = -1;
#declare highCount = 0;
#declare arrayCount = 0;
#declare myArray[arrayCount] = <0,0,0>;
#declare myRand = seed(LSeed);
#declare Lightning_Bolt =
merge{
#while (checkCount < highCount)
#declare checkCount = checkCount + 1;
#declare segPosA = myArray[arrayCount];
#declare arrayCount = arrayCount + 1;
#declare xPlus = (rand(myRand)-0.5)*LSpread;
#declare zPlus = (rand(myRand)-0.5)*LSpread;
#while(segPosA.y < LHeight)
#declare xShift = segPosA.x + ((rand(myRand)-0.5)*LSpike) + xPlus;
#declare yShift = segPosA.y + (rand(myRand)/5);
#declare zShift = segPosA.z + ((rand(myRand)-0.5)*LSpike) + zPlus;
#if (yShift > LHeight)
#declare yShift = LHeight;
#end
#declare segPosB = <xShift, yShift, zShift>;
cylinder{segPosA, segPosB, LWidth}
#declare segPosA = segPosB;
#declare randNum = rand(myRand);
#if (randNum < LBranch & segPosA.y > LCutoff)
#declare highCount = highCount + 1;
#declare myArray[highCount] = segPosA;
#end
#declare LWidth = (LWidth*0.995) ;
#end
#declare LWidth = (LWidth*0.9) ;
#end
}
#end
Make_Bolt(500, 11211, 0.03, 6, 0.003, 0.05, 0.5, 0.2)
object{
Lightning_Bolt
pigment{rgbt 1}
interior{media{emission<3,3,5>*5}}
hollow
rotate x*180
no_shadow
translate y*5
}
Post a reply to this message
|
|