doing this with the current tools or a bit of scripting since the Flickr API allows you to make requests in a REST format, but utilizing the Flickr.net API library makes it much simpler.
First and foremost, you need a Flickr API key...do you have one of those?
A great way to get to know the Flickr API is with the API Explorer. Here is a link to the page for the flickr.photos.search method explorer: http://www.flickr.com/services/api/explore/flickr.photos.search
The cool thing about this page is that it generates the REST Http call towards the bottom. So, here is what I did:
1. Grab the coordinates of the bounding box per Flickr API request:
bbox (Optional)
A comma-delimited list of 4 values defining the Bounding Box of the area that will be searched. The 4 values represent the bottom-left corner of the box and the top-right corner, minimum_longitude, minimum_latitude, maximum_longitude, maximum_latitude. Longitude has a range of -180 to 180 , latitude of -90 to 90. Defaults to -180, -90, 180, 90 if not specified. Unlike standard photo queries, geo (or bounding box) queries will only return 250 results per page. Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches" for queries without a geo component. A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters — If no limiting factor is passed we return only photos added in the last 12 hours (though we may extend the limit in the future).
So, I went to Google Earth, picked a city (London, UK) and dropped two pins:
This gave me two locations, which I can put into the Explorer Page next to the bbox option. Here is what I put for these two points: -0.155941,51.496768,-0.116783,51.511431
2. Check has_geo
3. In extras, type in geo
4. Make the call!
You will see a list of responses in an XML format, these responses will be from the first page. Geolocated photos are limited to 250 / page, so you will have to grab them page by page.
If you want to add more options (minimum upload date, maximum upload date, etc) you can do this as well)
The best is at the bottom, you get the full http call for this: http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ffd44f601393a46e86aa3a5f8a013360&bbox=-0.155941%2C51.496768%2C-0.116783%2C51.511431&has_geo=&extras=geo&format=rest&api_sig=b42330e5d1523bd5fe60c2ad43acde99
Notice this call has some other api key, you should eventually replace this with your own.
You could copy and paste this into a browser and you will get the results with the latitude and longitude:
So this is really what you need to know to do this through GH. Since gHowl has an XML parser component that can access files on the web, you should be able to use the same http call into this component.
Eventually, we get a response, and we need to grab the lat and lon data. With gHowl we can map these to xyz coordinates, and generate the heatmap...this is just a linear mapping:
Attached are both the Rhino file and the Grasshopper file, as well as the image underlay.
I am working on a series of components that makes this more straightforward, but for now, this should get you started.
…
isms. Through simple mechanisms embedded within the material logic of natural systems, specific stimuli can activate a particular response. This response occurs in carnivorous plants such as the Venus fly-trap, which uses turgor pressure to trap small insects in order to feed, and worms, which by contracting differently oriented muscles, achieve movement. This ten-day intensive workshop, co-taught by the faculty of the Emergent Technologies and Design Programme at the AA and the faculty of Architecture and MEDIAlab at California College of the Arts, will explore active systems in nature, investigating biomimetic principles in order to analyze, design and fabricate prototypes that respond to electronic and environmental stimuli. Students will work in teams to research specific biological systems, extracting logics of organization, geometry, structure and mathematics. Advanced analysis, simulation, modeling and fabrication tools will be introduced in order to apply this information to the design of both passive and active responsive architectural systems. Investigation and application of robotics, sensors and actuators will be employed for the activation of the material system investigation through the construction of working responsive prototypes.
+ CONTENT TAGS: Biodynamic, Parametric, Scripted, Mimetic, Responsive, Interactive, Digitally Fabricated
+ SOFTWARE: Rhino, Grasshopper, Firefly, RhinoScript, Arduino, Processing
CORE FACULTY
Michael Weinstock (Academic Head, Director of Emergent Technologies Programme, AA London UK)
Christina Doumpioti, Evan Greenberg, Konstantinos Karatzas (Tutors, AA EmTech Programme, London UK)
Jason Kelly Johnson [Future Cities Lab], Andrew Kudless [Matsys] (CCA MediaLab Coordinators, SF CA)
ASSOCIATED FACULTY
George Jeronimidis (Director of Center for Biomimetics, University of Reading UK); Andrew Payne (LIFT Architects, Grasshopper Primer); Daniel Segraves (ASGG Adrian Smith + Gordon Gill Architecture); Ronnie Parsons + Gil Akos (Studio Mode, NY); Daniel Piker (Kangaroo Project Live Physics)
ENROLLMENT INFORMATION
http://sanfrancisco.aaschool.ac.uk; or visit the CCA MEDIAlab website: http://mlab.cca.edu
(Workshops are non-credit. Enrollment is processed by the AA. Workshop will run the full 10 days.)
CONTACT
visitingschool@aaschool.ac.uk or mlab@cca.edu
DOWNLOADS
Application Form…
asuring Urbanity."
The seminar aims at re-centering the debate of measuring urban form on the contemporary issues of designing, planning and regulating the extensive city. It will bring together a group of international experts on the subject and the objective is to discuss the importance of combined qualitative-quantitative approaches on the generation of new insights on the contemporary urban environment and planning strategies.
The workshop presents a set of innovative approaches and methodologies using its own software. At the workshop participants will be invited to use the available toolset to address a specific urban issue where the construction of models for automatic measurement of urban indicators will be part of the urban design process.The workshop is intended for all urban planning professionals who want to improve their skills and knowledge as well as for students or doctoral students in urban planning. The CIAUD will issue a participation certificate equivalent to 3 ECTS credits.The workshop will run from 7 to 12 May 2012 and the seminar will be held on May 11, 2012 in FAUTL.The seminar and workshop program can be found attached ora t the website: http://www.measurb.org/en/home.html We thank in advance for the dissemination of this event to whom might be interested.
Best regards
José Beirão
Cristina Cavaco
workshop.pdf
seminar.pdf
Measuring urbanity…
e ghx file to grasshopper canvas
07 change the FLoc
08 save rhino-geometry to your FLoc
09 toggle the boolean switch to get the maya file in your FLoc
10 open maya 2012
11 import testCamera in maya
12 AND IT DOES NOT WORK!
HEEEEEELLLLLPPPPP (-;
…
instead of ballooning outwards, just puffing upwards.
THIS WILL WORK! Creating the mesh springs is only three seconds for 200X200 and the Unary Force is still milliseconds. Only Kangaroo takes an initiation time then cycles rapidly (0.5 seconds each) and it only takes a few cycles, maybe a dozen or two.
There is considerable 3D aliasing from the 2D mesh crudeness.
Now, to best Laurent's scheme, let's double down to 400X400. First I disable Kangaroo, and the timer. The preparation takes...FOREVER....and...ever...4.6 minutes to cull the points is all, a trivial step there is likely a better strategy for than finding the ones on the inside then using those to cull duplicates from the whole collection. The springs only took 12 seconds and the forces again milliseconds.
Kangaroo, to initialize takes...after hitting the reset button to start it...over 15 minutes and counting...well 400X400 is 160K vertices and Rhino tends to bog down at 30K points...but it was done in 30 minutes. Then I enable the timer and each cycle takes...uh...it's not in any error mode but nothing is happening past a very faint first automatic cycle that shows in the mesh...yet no CPU power is being used by Rhino...well...it's simply not running...ah, well, there's just a dummy delay of another 5 minutes and then the cycles take 2.7 seconds...what a stupid delay that was not using CPU power.
Now that it's cycling, can I change the stiffness in real time, usually I can...well, no, I seem to be back in the 5 minute delay, but not the 30 minutes interface-locking one...still waiting. Here is a 1/4 scale height model of the above output:
Time's up, life goes on. The aliasing and slow speed make it unworkable except for little logos or something. Some math and parallel processing are needed?
…
Added by Nik Willmore at 5:51pm on February 21, 2016
ainbox. This pipe has to force the chain exactly under the chainwheel, and in the middle of the chainbox, and every new design has the chainbox in a different position.
Doing this in Rhino takes with all the changes, moving winches several times etc, about 2.5 days per new design, so about a week work a year. An expensive pipe.
There had to be a way to do it faster, and Grasshopper seemed to be a good way to do this. First I had to learn Grasshopper, but the main problem I ran into was constructing a line tangent to two circles not in the same plane. After maybe 12 or 13 attempts I found a solution for it that is accurate up to 0.001 degrees.
It now takes minutes to make a change, and I get all the information I need: position of the pipe, endrings and closing ring. This is through iges files transported to the big Cadmatic model the ship (commercial) is in.
In the overview picture "lier met pijp en kettingbakken" you see the anchorwinch, the chainpipe and both chainboxes. I left the sb winch away.
In the picture "aanzicht kettingwiel" you can see the chainwheel that pulls the chain. The chain shackles fall in the recesses in both sides of the wheel. The red pipe represents the outside of the chain.
In the picture "vooraanzicht kettingwiel" you can see the chainpipe, or actually the ring at the end of the pipe forcing the chain (red pipe) to come straight from the chainwheel.
When the chain wouldn't come in a straight line from the wheel, we would have a lot of wear on chain and chainwheel.
I'm able to move the top of the pipe in x and z direction, and the lower end of the pipe in x, y and z direction now.
So that was quite an excercise for a simple pipe.
But the next challenge has submitted itself allready. We now need a chainpipe consisting of 2 pieces.
The whole project is done in my own time as a study project, the hours involved do not outweigh the result.
…
est of the year so I'm trying to understand new things...
I downloaded Boids by Jan Pernecky and tried to do something like the flocking 2d pattern of this amazing video video (2:41) but i'm not very happy with it. You can see the first result on this image.Image of the code
For now, I have 3 groups of 3 circles with 12 points on each: blue circles (points) are used for the "Adhere" flock location and the red ones for the "Repulse" flock location.
After, I cut the whole thing with the wire-frame of the bounding box of the emitter of the points and their mirror according to the center axis of the central circle. (red rectangle on image).
First, how can i contain the curves into a region ?(without the bounce component because it's very slow...)
I think to have a result like the one in the video, i need many other forces ? I didn't understand the "finesse" of the flocking concept...
Is there a way to trim vectors but not just by speed but by angle or to replace them ?
I tried to put more forces like the "align" but results are bad for now: curves are too flat or not aligned at all.
The * parameter is also hard to manipulate (for nuts like me hehe): for example, my repulse forces are kind of not existing or too strong... ?
How can i use the stick geometry component with other behaviours on the same time ?
It will be very nice if someone can give some advises or share some codes to help me... first time I use agents in grasshopper...
Thanks in advance.
Peace.
Sorry for my frenchy English.
…
hopper no requiere de conocimientos de programación o scripting para permitir al diseñador trabajar de forma generativa y paramétrica. No son necesarios conocimientos previos de Grasshopper pero sí de Rhino a nivel básico.
Controlmad es Centro Formador Autorizado Rhinoceros y Rhino fab Studio.
Nuestros profesores son Instructores Autorizados Rhinoceros con experiencia universitaria, nacional e internacional.
El curso y los ejercicios a desarrollar están enfocados a diseñadores, arquitectos, ingenieros y estudiantes.
En este curso introductorio el alumno se familiarizará con términos básicos de la estructura de Grasshopper, como “listas de datos”, “dominios”, “estructuras en árbol”, etc.
Es un curso de 18 horas, con el que se pretende entrar en la lógica de trabajo de Grasshopper mediante diversos ejercicios, de forma que el alumno sea capaz posteriormente de desarrollar sus propias gramáticas, con la confianza que da comprender los términos básicos de programación sobre los que se apoya todo el sistema de trabajo de Grasshopper.Para este curso no son necesarios conocimientos previos de Grasshopper, pero sí de Rhino (a nivel básico).
También se vincula el programa con la impresión 3D aprendiendo a exportar archivos desde Grasshopper con los requisitos mínimos de impresión 3D. Se realizará una demo de impresión en el aula.
El primer día del curso se le facilita al alumno un manual-tutorial con los ejercicios a realizar, en PDF.
A la finalización del curso, y siempre que el alumno haya asistido al 80% de las clases, se le otorgará un diploma oficial acreditativo del curso.
Fechas: 5, 6, 12 y 13 de marzo
Horario: sábado y domingo 16 - 20,30h (Madrid, CET)
Lugar: Sesiones On-line en directo a través de nuestra plataforma online.controlmad.com
…
ld work.
For example there's a grid shell and I've got a number of control points (for example 3) that can move up and down.
Depending on the control points I get forms that are structurally good and some that are bad.
In my office we've got a GH-Component, which leads the geometry in structural members and solves the structural forces and so on through an external Software called Sofistik and afterwards gives back to GH some Values, for example maximum bending moments. (Like Karamba)
Now I want to create this optimization component or something like that to minimize e.g. the bending moments in the given geometry.
Let's start with the work of the component.
So when I've three control points that can only move in z-direction.
P1(0,0,Z1), P2(10,0,Z2), P3(5,5,Z3)
They only depend on Z, so everything depends on Z1 to Z3 which have a range between 0 and 10 f.e.
First I want to get some (between 9 and 15) random Particles, one particle consists of this 3 different Z's.
So for example the first particle Part1 is [Z1=10, Z2=5, Z3=7]
and the second particle Part2 is [Z1=7, Z2=1, Z3=9]
and so on.
I created these Start Particles in a Cluster. See attached file.
I also tried this in C#, but thought it is easier in GH.
After I've got the Start Particles I want to give out the first particle and evaluate with its including Z's the target value in GH. Therefore I had to take the first branch and graft this branch (Discussion before)
Afterwards I want to save this Target Value that depends on the first starting Particle. Then I want to give out the second starting Particle to evaluate its target Value and store it. And so on till the last target Value of the last Starting Particle got assigned.
Then I want to assign the particles with its target values. E.g. part1: t=0.9, part2: t=1.8...
Then I want to define neighborhoods or the count of the expected local minima.
These neighborhoods can look like: Each neighborhood has to include not less than 3 particles. And the particles have to be next to each other.
E.g. if there are 12 particles and I want to have a look for 3 local minima, I need 3 or 4 neighborhoods. Then I would take 3 neighborhoods, because the more particles in one neighborhood, the better.
So the Count of the neighborhoods would be N=min{(Count of Part/3)& N_min}
How to define these neighborhoods I don't know at the moment. I think it has to be searched for the distance between the particles. E.g. part1 with (9,9,9) and part2 with (9,9,8) are next to each other but part 3 with(1,1,2) is far away.
Then each StartParticle is set to Partx_localbest.
And in each Neighbourhood the best of these localbeststs is Part_NyBest. (The best ist the one with the smallest target Value)
Loop:
Now I want to create new Particles. These Particles don't change their Z-values randomly. They change their Z-Values depending on Part_NxBest and Part_localBest. Therefore it has to be evaluated a new velocityfactor with v_Partx_new=0,792*v_PartxOld+1,5*random(0,1)*(partx_localbest-partx)+1,5*random(0,1)*(part_NyBest-partx)
The new particles will then be partx_new=partx+v_Partx_new.
The new Particle partx_new will be set to partx and then set in the output.
then there has to be caught the targetValue of part1 afterwards part2 can be put out and its target value caught and so on.
Then it has to be looked for the Partx_localbest through comparing the partx_localbest and its target value with the new part_x and its target value. If the target value of the new partx is smaller than partx_localbest,
then partx_localbest is the new partx.
This has to be done for each partx. Afterwards the same for neighborhoods best (best of all partx_localbest in one neighborhood)
Endloop if velocity gets small.
Output all part_NxBest
Output all targetvalues of the part_NxBests.
So in the Input there have to be:
StartParticles if they are given through the cluster attached.
Device on the target Value like in the attached gh.file from David Rutten I found in the discussions
Count of neighborhoods
And in the output
Output particle for evaluation
Output all part_NxBest
Output all targetvalues of the part_NxBests
Hope didn’t forget anything. And hope it isn’t crushed to badly. Sorry for my bad English by the way ;-)
For more explanation, how the PSO works in other programs. There’s attached a workflow script (is it called like that?) I think for GH it should be a little bit changed like I tried in my explanations.
So if you can help me a in some parts or you have any advices would be great, otherwise thank you nevertheless!!!!
Thankfully there’s no limit for the words in the discussions :-D
Best, Heiko
…
greatly appreciate it!!
You can write the number of the question and write your answer next to it, example:
1) a
2) c
3) a) Washington University in St. Louis
4) 2 weeks (1week+1week shipping)
5) 130
6) b
7) b
The survey questions are as follows:
1)
Did you 3D print before?
5)
How much did it cost (in dollars)?
a.
Yes, for a school project
a.
Between 20 & 50
b.
Yes, for a personal project
b.
Between 50 & 80
c.
Between 80 & 120
2)
Print size
d.
Please specify if otherwise: _____ dollars
a.
Between 2 & 6 cubic inches
b.
Between 6 & 12 cubic inches
6)
Do you think the price was expensive?
c.
Between 12 & 20 cubic inches
a.
Not at all
d.
Please specify if otherwise: ____cubic inches
b.
A little bit expensive
c.
Very expensive
3)
Where did you print your object?
a.
School
7)
Were you satisfied with the printed object?
b.
Outside school: _________________
a.
Yes, it was a great print without problems
b.
Not bad, some issues
4)
How long did it take to print?
c.
I was not satisfied, very bad quality
a.
___ days
b.
___ weeks
Thank you very much to all!!
PS: If you did many 3D prints, you can post multiple answers.
Wassef…