A quick experiment i have made in procesing using Jmyron library will keep working in order to make more complex and interactive results.
Friday, December 26, 2008
processing video test
Tuesday, December 16, 2008
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
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
'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
Monday, August 25, 2008
the beauty of chaos
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
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
Monday, June 30, 2008
parametric tower builder
grasshopper 2 surface frame
Friday, June 6, 2008
Sunday, May 25, 2008
water bottle design
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