New site

Friday, December 26, 2008

processing video test


A quick experiment i have made in procesing using Jmyron library will keep working in order to make more complex and interactive results.

Tuesday, December 16, 2008

hello Processing !!

Friday, December 5, 2008

arabic tesselations


Currently working in collaboration with KRFR group of Barcelona, in the developmento of a tower for Dubai for the XI ThyssenKrupp Elevator competition, this are the first experiments for generating an arabic pattern tesselation, one of the intentions is that the tesselation takes into consideration enviormental data in its generation steps , more from this project on the next posts.

Monday, December 1, 2008

parametric facade experiment

This a project i developed with some architecture students of the ITESM , the objective was to develop the facade of a building under certain parametric conditions which had to deal with the building itself and the urban landscapes that surround the area. The idea of the project is to make some apertures on the facade by linking parametrically the building with the other landscapes.
So depending on the distance that its between the building and the local landscapes the apertures respond in amplitude, in other words if the building its near to a landscape the apertures go wider and if it is the opposite the apertures go narrower.



To achieve this i made a grashopper definition wich infuence a set of curves with a repulsive behaivior , linked to a set of points wich represent the other buildings , this points affect the curves depending the distance that there is between each of the curves and the evaluation point.

Wednesday, November 26, 2008

parametric facade study



The objective of this project is to develop the exterior facade of a building under certain parametric conditions, the intention is to generate some apertures from flat components depending from the distance that is between the building itself and the landmarks that are located in the area.More info about this project on the next post.

Monday, November 17, 2008

parametric patterns

This is a quick experiment developed in grasshopper for making parametric field patterns the intention of this study was to identify and interconnect different parameters that allowed to form complex patterns on surfaces , this experiment may have different applications for various design purposes like urban landscaping for example. Any questions regarding this project please contact me.

Monday, October 27, 2008

tower body study










This is an experiment i did some time ago ,the use of analysis tools for form finding is becoming one of the top priorities in my research work that's why i have been using lately Ecotect which is a very powerful enviormental analysis tool.
In this project i made a simple algorithm based on a simple geometry ( ellipse) in order to generate the volume of a tower building . The form of the building was optimized to reduce the wind pressure loads this was achieved by making some wind pressure analysis on ecotect and orienting the thinner part of the build in the same direction of the highest wind current. Also some incidental radiation analysis were made to know the solar exposure of the building this kind of analysis help a lot in order to develop bio climatic systems.Finally i used rhinoscript to make a exoesquleton skin for the building.


Wednesday, October 22, 2008

my version of a rib builder


Extracting ribs from complex surfaces is one of the clasic scripts that exists so finally y have decided to do my own version it still has some things to fix and also there is missing the massive unroll function to get all the rib sections separate to send it to CNC but the hard part is already finished i will post some photos of the finished work

Monday, October 13, 2008

surface components






Project related with the implementation of components over surface geometries, scripting processes can help us to design and implement diverse components on complex surfaces in order to make more efficient bodies.
Particularly this project had the objective of the elaboration of an algorithm that takes a host surface to generate components that resemble the skin of a reptile, as a result we can see surfaces with a very interesting texture.This work is able to be manufactured becaouse each component is made out of simple triangular planes.

Thursday, September 25, 2008

complex surface structures




Back into rhinoscipting here is a project i have developed for making a buildable structure from complex surface , the script takes an input surface and then it divides it in square sections, then it runs a macro wich makes an "x" form component in each squared sections. some improvements are posible you could add more pipe sections around each section, any way to understand it better here is the code feel free to use it and let me know any comments please.
Option Explicit
'Script written by Rodrigo Medina
'Script copyrighted by designplaygrounds
'Script version Tuesday, August 12, 2008 5:45:47 PM

Call Main()
Sub Main()
Const Objecttype=8

secu=15
secv=15

ReDim collec(secu,secv)
'inputs
Dim strsurface,Udomain,Vdomain,Uparam,Vparam,arrpoints,i,j,secu,secv
strsurface=rhino.GetObject("select surface",Objecttype)
If IsNull (strsurface) Then Exit Sub
'surface domains
Udomain=Rhino.SurfaceDomain(strsurface,0)
Vdomain=Rhino.SurfaceDomain(strsurface,1)
'looping
For i= 0 To secu
For j =0 To secv
Uparam=Udomain(0)+ i*((Udomain(1)-Udomain(0))/secu)
Vparam =Vdomain(0) + j*((Vdomain(1)-Vdomain(0))/secv)
arrpoints=rhino.evaluatesurface(strsurface,array(Uparam,Vparam))
'Rhino.AddPoint arrpoints
' function its only for making smooth unions between elements
'Call rhino.addsphere(arrpoints,1)
'charge the 2 diomension array with the size in i and j
collec(i,j)= arrpoints

Next

Next
'names for the points inside the array
Dim npoint1,npoint2,npoint3,npoint4
'position of the poinst inside of the array
For i= 0 To secu -1
For j= 0 To secv -1
npoint1=collec(i,j)
npoint2=collec(i+1,j+1)
npoint3=collec(i+1,j)
npoint4=collec(i,j+1)
Call pipe(npoint1,npoint2)
Call pipe(npoint3,npoint4)

Next
Next

End Sub

Function pipe(npoint1,npoint2)
Dim strline,strcmd,pipeRadius
strline= rhino.addline(npoint1,npoint2)
'radius of the pipe element
pipeRadius=1
strcmd ="! _Pipe _SelID " & strline & " " & pipeRadius & " _Enter _Enter"
Call rhino.command(strcmd)
End Function
Function pipe(npoint3,npoint4)
Dim strline2,strcmd,pipeRadius
strline2= rhino.addline(npoint3,npoint4)
pipeRadius=1
strcmd ="! _Pipe _SelID " & strline2 & " " & pipeRadius & " _Enter _Enter"
Call rhino.command(strcmd)
End Function

urban furniture




This is a quick project i developed for a friend who needed an urban furniture concept the main idaea was to make an organic design so the result is the one you see on the renders it is a group of trash containers to separate oragnic and inorganic waste, it has a central pole, the base its suposed to be reminisent of the branches of a tree and at the upper part of the pole there is an ilumination system of leds wich is powered by a solar cell wich is located at the top of the surface, to make this organic modeling posible i used t splines tools for rhino.

Monday, August 25, 2008

the beauty of chaos




Latley i have been playing around with an 3D strange attractors rendering software, for generating iterative chaotic function fractals. Here are some of the fractals i have generated hope you like them.

A fractal is generally "a rough or fragmented
geometric shape that can be split into parts, each of which is (at least approximately) a reduced-size copy of the whole,a property called self-similarity.


Monday, August 18, 2008

Scripted Creature




Lately i have beeen working back with RhinoScript and as a prctice excercise i wanted to create a script wich helped me to create a generative sculpture like object.The result of playing around with this idea is this scripted creature. For the creation of this figure i developed a script wich works in a simple way , the user needs to input a set of points , the the script will elaborate a net work beetween those points withe a distance conditional then script will ask the user to select the created lines he wants to use for the creation of the structure , then script will complete the task making a lofted surface.





Here is the script perhaps it can be usfel to perform other tasks if you find one please let me know.

Option Explicit
'Script written by Rodrigo Medina Garcia
'Script copyrighted by designplaygrounds.blogspot.com
'Script version miércoles, 23 de julio de 2008 15:49:30

Call Main()
Sub Main()
Dim arrpts,strcrv,strcrv2,crvdomain,evapoints
Dim i,u,k,j
arrpts=rhino.GetPointCoordinates("select points for structure creation")
If isNull (arrpts) Then Exit Sub
For i = 0 To uBound(arrpts)
For u =0 To UBound(arrpts)
If Rhino.distance(arrpts(i),arrpts(u)) <80 Then Call lines(arrpts,i,u,strcrv)


Next
Call rhino.addsphere(arrpts(i),1)
Next

strcrv2=rhino.GetObjects("select the created line structures",4)

For k =0 To ubound (strcrv2)


crvdomain=rhino.CurveDomain(strcrv2(k))

For j= crvdomain(0)To crvdomain(1) Step crvdomain(1)/4
evapoints=rhino.EvaluateCurve(strcrv2(k),j)
arrpts=Rhino.AddPoint(evapoints)
If j = crvdomain(1)/2 Then
Call circles1(strcrv2,k,j)
ElseIf j <> crvdomain(1)/2 Then
Call circles2(strcrv2,k,j)
End If


Next
Call rhino.Command("_selnone _selclosedcrv -_loft _enter _enter _delete ")
Next


End Sub
Function lines(arrpts,i,u,strcrv)
strcrv=rhino.AddLine(arrpts(i),arrpts(u))
End Function
Function circles1(strcrv,k,j)
Dim frame,radi
frame=Rhino.curveperpframe(strcrv(k),j)
radi=2.5
Call rhino.AddCircle(frame,radi)

End Function
Function circles2(strcrv,k,j)
Dim frame,radi
frame=Rhino.curveperpframe(strcrv(k),j)
radi=1
Call rhino.AddCircle(frame,radi)

End Function

Wednesday, July 23, 2008

Wednesday, July 2, 2008

Responsive Geometry



This series of of cilinders have a parametric behavior pattern, they change the sacle of the circle base profile and the extrusion lenght according the distance between each cilinder and a point that has a daylight trayectory.

Monday, June 30, 2008

parametric tower builder





My version of a parametric tower mass builder made in grasshopper based on a tutorial I found at http://designreform.net/2008/05/29/rhino-tower-massing-with-explicit-and-implicit-history/ check it out.

grasshopper 2 surface frame



Recntly i have been playing around with the rhino plug in called Grasshopper wich before was called Explcit History ,Grasshopper still in development but the results you can achieve already are amazing, the visual worksapce its easy to understand and to use. Here are some images of a space frame from two surfaces.

Friday, June 6, 2008

Sunday, May 25, 2008

water bottle design


As an academic task we were asked to design a water botlle made by injection molded pocess, for my design i proposed a bottle with fluid forms that would be similar to the ones we find in water in a natural enviorment, to achieve this forms i made a script in rhino that gererates diferent sections and the loft them togheter to generate a column with fluid forms , after that i altered the column using t-splines plug-in for rhino to obtain the final form , with the correct size and the exact volume needed for the project.





The material i proposed for my design is the PLA 700D (poliactide acid) wich is very similar to PET with the difference that PLA comes from corn wich is an abundant resource, this material also uses 50% less enegry to manufacture it compared to other polymers derived from oil . Using this materials not only represents a saving in energy but also a closed life cicle of product because once we use our bottle we can make composte with it and it can be used to make more corn wich will be used to make more bottles. For more information visit http://www.natureworksllc.com


An image of the molds proposed for manufacture



Script developded for the project.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Option Explicit
'Script written by Rodrigo Medina
'Script copyrighted by design playgrounds
'Script version thursday , 11 -04-08
Call BottleSurface()
Sub BottleSurface()
Dim i, IntUpper : IntUpper =18
Dim arrMajorPointb()
Dim arrMajorPointc()
Dim arrMajorPointd()
Dim arrMajorPointe()
Dim arrMajorPointf()
Dim arrMajorCross()
For i = 0 To IntUpper
ReDim Preserve arrMajorPointa(IntUpper)
ReDim Preserve arrMajorPointb(IntUpper)
ReDim Preserve arrMajorPointc(IntUpper)
ReDim Preserve arrMajorPointd(IntUpper)
ReDim Preserve arrMajorPointe(IntUpper)
ReDim Preserve arrMajorPointf(IntUpper)
ReDim Preserve arrMajorPointg(IntUpper)
ReDim Preserve arrMajorPointh(IntUpper)
ReDim Preserve arrMajorPointi(IntUpper)
ReDim Preserve arrMajorPointj(IntUpper)
ReDim Preserve arrMajorPointk(IntUpper)
ReDim Preserve arrMajorPointl(IntUpper)
ReDim Preserve arrMajorCross(IntUpper)
arrMajorPointa(i) = Rhino.PointCoordinates (Rhino.AddPoint(array (cos(i),sin(i),i)))
arrMajorPointb(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(2,5,i)))
arrMajorPointc(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(3,1.5,i)))
arrMajorPointd(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(5,-sin(i),i)))
arrMajorPointe(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(3,-1.5,i)))
arrMajorPointf(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(3,-4,i)))
arrMajorPointg(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(sin(i),-cos(i),i)))
arrMajorPointh(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(-3,-4,i)))
arrMajorPointi(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(-3,-1.5,i)))
arrMajorPointj(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(-5,cos(i),i)))
arrMajorPointk(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(-3,1.5,i)))
arrMajorPointl(i) = Rhino.PointCoordinates (Rhino.AddPoint (array(-3,4,i)))
arrMajorCross(i) = Rhino.AddCurve (Array(arrMajorPointa(i),arrMajorPointb(i),arrMajorPointc(i),arrMajorPointd(i),arrMajorPointe(i),arrMajorPointf(i),arrMajorPointg(i),arrMajorPointh(i),arrMajorPointi(i),arrMajorPointj(i),arrMajorPointk(i),arrMajorPointl(i),arrMajorPointa(i)),3)

Call Rhino.RotateObject(arrMajorCross(i),array(0,0,i),4*sin(i))
Next
Call Rhino.AddLoftSrf (arrMajorCross)
End Sub

Friday, May 23, 2008

topmod random spaces




Related Posts with Thumbnails