blobs


modelling (with) blobs in kpovmodeler



some basic assumptions; you have kpovmodeler and pov-ray installed.
kpovmodeler can be found here at http://www.kpovmodeler.org/
and pov-ray's home url is here at http://www.povray.org/
kpovmodeler comes packaged with the kpovmodeler handbook in kde, useful for getting started and familiarising yourself with the the basic operations of kpovmodeler. you can access it by clicking on the help icon or find it here.
a good introduction on what blobs are can be found in the very good pov-ray documentation here
blob_construction_small.jpeg

•to begin with launch kpovmodeler and delete the green box (by right clicking on it in the object tree and selecting 'delete')so that your scene contains just the camera, light and global settings.
scene_object_tree.jpeg


declaring colours and finish



• insert a declaration into your scene, select 'declaration' from the drop down menu (or click on the icon on the main toolbar)and insert it into the scene as first child.
• then click on the the pigment icon (while you have the declaration selected) and insert
that as first child of the declaration,
• and then click on the solid colour icon and insert that as the first child of the pigment
so that your object tree looks like this.


tip; you can drag and drop items into their correct positions, though that is sometimes tricky
and kpov tends to lose items it cannot drop (you will get an error message and the item will disappear when you click okay),
just click on edit and undo and the item is restored.

declare_pigment.jpeg

•select the colour by typing in values, ie for red type 1,0,0 for blue insert
the values 0,0,1 and for yellow 1,1,0

note: in povray syntax values are often abbreviated,
i.e "rgb 1" requires you in kpov to type a 1 in each cell,

"rgb 0,1" translates as a zero value in the red cell, and a 1 in the green cell,
no value is given for the blue cell so that is zero too (and it's redundant to note it).

filter and transmit values are added onto the end, ie rgbt and rgbf
so that code which reads"rgbf 1, 0.3" means you type 1,1,1 in the colour cells and 0.3
in the filter cell,
and, similarly, "rgbt 0.4,0.3" translates as 0.4,0.4,0.4 in the colour cells and 0.3 in the transmit cell.


tip; you can also select colours by clicking on the colour bar above the cells which will
open the colour select window, pick a colour from there or insert the html notation of a colour into
the html cell.(type 'html colour code' into a search engine for html colour charts and the codes. you can insert the html notation into the colour select window 's html cell)like so;
colour_selct.jpeg
• once you have selected your pigment colour
click on the declaration and in the corresponding
identifier cell type in a suitable name.

note: in some cells you cannot use words
which are legal identifiers, an error message will appear,
use either a capital or chose a different name in that case.
declaration_name_identifier.jpeg
• repeat the above twice more so that you have three different colours declared
• and your object tree should now look like this
declared_colours.jpeg
• and finally (for the declarations) declare a finish. insert a declaration and then (as first child) insert finish.
in the cells type in the following values;
brilliance 1, phong 0.5,phong size 40, metallic 1, reflection (max) 0.2 (that's 0.2 in all three colour cells).
• your object tree should now look like this.
object_tree.jpeg

building the blob


• select and insert the blob object in to your scene, inserting it as 'last child' ensures that it is below the colour declarations you have made. tidy up the object tree so that it now looks like this.
insert_blob.jpeg

• in the object tree select the blob you have inserted, you will see on the menu bar next to the blob
a purple cylinder and sphere. these two objects are the only objects one can use with a blob and only
in limited combinations such as;
cylinder+sphere
cylinder+cylinder
sphere,cylinder,sphere
sphere,sphere,sphere, etc.
blob_menu.jpeg
• add a cylinder and two spheres as 'first child' to the blob object blob_objects.jpeg

• add a pigment to the cylinder by clicking on the pigment icon and then in the pigment menu click on select and you will see that the colour declarations you have defined earlier, are listed. select your colour and then click on apply before moving onto the next object. chose yellow for the cylinder and blue for one sphere and red for the other.
add_pigment.jpeg
•name your pigment and objects, i.e sphere 1 and 2
•add a finish to the blob by clicking on the finish icon on the menu bar and then (in much the same way as with the colours) select their pre-defined finish.
•your object tree should now look like this.
blob_objects_pigments_name.jpeg
•scale and position the blob cylinder by reducing it's radius to 0.3 and positioning it's ends along the x axis by inputting the values 2 and -2 respectively.
•scale and position the spheres so that for sphere1 the values are 2,0.5,0 radius 1, and for sphere2 -2,-0.5,0 and 1
scale_position_cylinder.jpeg
blob_mesh.jpeg
•render your image (view/render)and it should look like this one
•i think the red sphere should be a little larger than the blue one so i increase it's diameter to 1.5 •and adjust the cylinders strength value to 1.5
render1.jpeg
•select the blob in the object tree, right click with the mouse and 'copy' and then 'paste', this duplicates the blob object, rename the second blob object to 'blob2' blob2.jpeg
•in the object tree select the second blob, move to the rotate icon and input the following values -180,-90,180
•and then translate the blob by following values; -2,0,2
•the rendered image should look like this.
h2o.jpeg
•insert a union above blob1 and drag both blobs into the union, this joins both blobs and you can treat it as a single object.
•add a translate and rotate function (insert/transformation/), these will enable you to move the object around.

•rotate the union by 180,45,0 and translate 0,0,-2

tip; you can move the object directly in the wire preview screen, just select which type of change you want (ie, rotate, translate or scale) in the object tree and then with the mouse in the left, front or top view window, scale,rotate or translate your object.
add_rotate_translate.jpeg

creating several blobs in the same scene

•insert a declaration below the pigment declarations and drag the blob union into it and name it Blob or similar, this makes the blob object a prototype blob_declaration.jpeg
•insert object link (insert/finite solid primitive/object link) and in the select cell link the object to the blob declaration and name it blob1
•repeat that three times so that your object tree now looks like this
•and your your frame mesh view , like this
three_blobs.jpeg
three_blobs_wire.jpeg
•each object link has it's own scale, rotate and translate transformations, move, scale or rotate each directly in the wire view frames.

tip;i prefer to manually move the objects into the positions i would like and then tidy up the numerical values in the cells, ie if a cell reads 0.231, i'll replace that with a zero to position it more accurately.
three_blobs_scale_translate.jpeg
•and, of course you can use the basic blob prototype you have created to model more complex structures such as this blob_construction_small.jpeg


this page was created in quanta plus and the images created with kpov modeller, resizing and screenshots made withthe gimp next; surfaces of revolution