Jump to content

Every week shaping Ernest Haeckel


Librarian

Recommended Posts

  • Librarian changed the title to Every week shaping Ernest Hackel

method in Houdini 19 that we gonna use for driving points(in Chops) and volumes, Uv's and other stuff soon.

4@m = ident(); 
f@d = distance(@P,(0,0,0));
f@s = chramp('speed',@d/2.4);
rotate(@m,@s*@Time,2);
@P*=@m;

 

vector x, y;
makebasis(x, y, v@N, {0,1,0});
p@orient = quaternion(set(x, y, v@N));



 

met.jpg

stuff-for Chops.hiplc

02.jpg

100.gif

srle0hfy9fge.jpg

srle0hfy9f.jpg
 

vector pos(float u,t){
        vector p = set(0,0,u);
        p+= u *0.2*curlnoise(p+0.1*t);
        return p;
        
    }
    
int npt = 30;
for (int i;i<npt;i++){

    float u = i/float(npt-1);
    vector p= pos(u,@Time);
    vector next_p = pos(u+0.1,@Time);
    vector up = normalize(next_p-p);
    vector4 ori = dihedral({0,1,0},up);
    int pt = addpoint(0,p);
    setpointattrib(0,"orient",pt,ori);
    matrix3 r =qconvert(ori);
    vector v = set(r.xx,r.xy,r.xz);
    vector side = set(r.zx,r.zy,r.zz);
    setpointattrib(0,"v",pt,v);
    setpointattrib(0,"side",pt,side);
    }
    

for Particles and Chops

float pscale = chramp("pscale_ramp", float(@ptnum) / (float(@numpt)-1.0));

f@pscale = pscale;

f@locate = float(@ptnum) / float(@numpt);

float up_gap = radians(360.0 / float(chi("divisions_max")) * float(@ptnum)) * 0.5;
vector4 quat = quaternion(up_gap, v@N);
v@up = qrotate(quat, v@tangentv);

 

1000dddd.gif

Edited by Librarian
  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

this we gonna use soon in Chops and Vellum and some love From Asia.
numbers..

float u = float(@elemnum)/(@numelem-1);
vector circle_pos = 5 *pow(u,2)*set(cos(100*u),sin(100*u));
float v = 0.5-abs(0.5-u);
float w = fit(abs(@Time % 1- u),0,0.05*(@Time+0.1),6,0);
circle_pos += normalize (circle_pos) *float(u*w*v*cos(0.05*@elemnum+9.66));
int pt = addpoint(0,circle_pos);
setpointattrib(0,"Cd",pt,set(u,v,w));
void rhombus (int n ;vector p;
     float offset;
     int bool;
     float rolloff){
   
     
     vector p0,p1,p2,p3;
     if(bool){
            p0={0,1,0};
            p1={0.5,0.5,0}+(0.2+max(0,0.3*sin(offset)))*{1,1,0};
            p2= {0.5,0.5,0}-(0.2+max(0,0.3*sin(offset)))*{1,1,0};
            p3={1,0,0};
            }else{
                p0= 0;
                p1={0.5,0.5,0}+(0.2+max(0,0.3*sin(offset)))*{1,-1,0};
            p2= {0.5,0.5,0}-(0.2+max(0,0.3*sin(offset)))*{1,-1,0};
            p3={1,1,0};
            }
            
            p0 +=p;
            p1 +=p;
            p2 +=p;
            p3 +=p;
            
            
            int pt0= addpoint(0,p0);
            int pt3= addpoint(0,p3);
            vector pos;
            int pt;
            float u;
            
            int ni = 3 *n+1;
            for(int i;i<ni;i++){
            float u = i/float(ni-1);
            u = smooth(0,1,u,rolloff);
            pos = lerp(p1,p2,u);
            
            
            pt = addpoint(0,pos);
            addprim(0,"polyline",pt0,pt,pt3);
            }
            
         }
         
vector pos;
         
   for(int i;i<10*10;i++){
         
    pos = set(i%10,i/10,0);
    int bool = i%4;
            
      if(i/2%20 == 0){
       rhombus(1.5,pos,1.5,!bool,0.5*noise(@Time*i*0.1));
       }else{
       rhombus(5.1,pos,1.5,!bool,0.5*sin(@Time*i*0.05));
       }
       }



@width = 0.001; 

Have FUn .."Help with some model"------- jump in :P

1000ddddds4.gif

1000ddddds4zz.gif

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...

colors and prim/points feed Chops. for later modelling .
 

float uniform_number;
vector uv;

int dim =200;
int n = dim *dim ;
int pt, prim;
vector color_hsv;
vector color_rgb;

vector uv_hsv;
vector pos;

for (int i;i<n;i++){
    uv = set(i%dim,i/dim,0)/(dim-1);
    uv.y= smooth(0,1,uv.y,1);
    pos = sample_circle_uniform(vector2(uv));
    pt = addpoint(0,pos);
    
    if (uv.x>0 && uv.y>0){
        prim = addprim(0,"poly",pt,pt-1,pt-1-dim,pt-1-dim+1);
        }
    color_hsv= set(float(i)/(dim-@Time)-@Time,1,1);
    color_hsv.x += 0.05*onoise(10*uv.x);
    //color_hsv= set(uv.y-@Time,1,1);
    //color_hsv= set(uv.x-@Time,1,1);
    //color_hvs= set(uv.y-@Time,1,1);
    //color_hsv= set(length(pos)-@Time,1,1);
    //color_hsv= set(float(i)/(n-1)-@Time,1,1);
    color_rgb =hsvtorgb(color_hsv);
    setpointattrib(0,"Cd",pt,color_rgb);
    }
//detail
float uniform_number;
vector uv;

int dim =200;
int n = dim *dim ;
int pt;
vector color_hsv;
vector color_rgb;

vector uv_hsv;
vector pos;

for (int i;i<n;i++){
    uv = set(i%dim,i/dim,0)/(dim-1);
    uv.y= smooth(0,0.99,uv.y,1);
    pos = sample_circle_uniform(vector2(uv));
    pt = addpoint(0,pos);
    //color_hsv = set(float(i)/(dim-@Time)-@Time,1,1);
    color_hsv= set(float(i)/(dim-@Time)-@Time,1,1);
    //color_hsv.x += 0.9*onoise(10*uv.x);
    //color_hsv.y += 0.9*radians(10*uv.y);
    color_hsv= set(uv.y-@Time,1,1)+color_hsv.x*0.9*radians(20*uv.x)/trunc(20*uv.x);
    //color_hsv= set(uv.x-@Time,1,1);
    //color_hvs= set(uv.y-@Time,1,1);
    //color_hsv= set(length(pos)-@Time,1,1);
    //color_hsv= set(float(i)/(n-1)-@Time,1,1);
    color_rgb =hsvtorgb(color_hsv);
    setpointattrib(0,"Cd",pt,color_rgb);
    }


 

02111cvffgttsssff.gif

02111cvffgttsssffddd.gif

Link to comment
Share on other sites

  • 4 months later...
  • Librarian changed the title to Every week shaping Ernest Haeckel

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...