Renderings
an animation of a scene that was modeled using my custom UI.
This technical breakdown explains how a custom user interface was implemented using QtDesigner and Python.
MAya Scripts

This code can split away the sphere and offer a limit space to place the polygons.

Random Cubes and Spheres
global proc splitSpheres(string $master,
                                     int $num,
                                     float $min,
                                     float $max,
                                     float $roundLimit) {
        string $all[];
        string $inst[];
        for($n = 0; $n < $num; $n++) {
            $inst = `instance $master`;
            $all[$n] = $inst[0];
            float $x = rand($min, $max);
                // for limit the splitting inner or outter the Sphere. (inner: <, outer: >)
   while (abs($roundLimit) > abs($x)){
    $x = rand($min, $max);
   }
         float $y = rand(-(sqrt ( 16 - pow($x,2))),sqrt ( 16 - pow($x,2)));
         float $z = rand(-(sqrt ( 16 - pow($x,2) - pow($y,2))),sqrt ( 16 - pow($x,2) - pow($y,2)));

         move $x $y $z   $inst[0];
         }
     group $all;
     };

By using this code, users can randomize the layout of various kinds of polygon.

Random Poly Command
global proc randomCommands(string $master,
                                                   int    $num,
                                                   float  $min,
                                                   float  $max){
  
  
  
             string $all[];
             string $inst[];
            
             for($n = 0; $n< $num; $n++){
                 $inst = `instance $master`;
                 $all[$n]=$inst[0];

                 float$x = rand($min,$max);
                 float$y = rand($min,$max);
                 float$z = rand($min,$max);
                 move $x $y $z   $inst[0];
  
          }
  group $all;
   };

This code is available to creat the polygons in helical shape.There are multiple options that can control the attributes of models.

Random Helix

global proc helix(string $master,
                            int    $num,
                            float  $radius,
                            float  $y_rot,
                            float  $y_ht,
                            float  $rad_decay,
                            float  $z_rot,
                            float  $x_rot) {
           string  $all[];
           string  $inst[];
           int $n;
           for($n = 0; $n < $num; $n++){
              $inst = `instance $master`;
              $all[$n] = $inst[0];
          float $y_height    = $y_ht        * $n;
          float $x_rotation  = $x_rot       * $n;
          float $y_rotation  = $y_rot       * $n;
          float $z_rotation  = $z_rot       * $n;
          float $rad = $radius - $rad_decay * $n;
          move   $rad $y_height 0      $inst[0];
          xform -piv 0 0 0 -ws         $inst[0];
          xform -ro  $x_rotation $y_rotation $z_rotation -ws $inst[0];
          }
    group $all;
    }

You may also like

Back to Top