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.
…
robablemente las uniones son forzadas/rotadas levemente para que calcen.
Probablemente se puede variar el angulo de 90° entre cada pieza a un angulo que permita crear el octagono perfecto, pero habría dos posibilidades de giro entre cada pieza.
Tal vez el problema hay que repensarlo desde el octagono/poliedro que forman los triangulos en el modelo y luego generar los triangulos.
Bueno aca mi definicion y algunos comentarios:
- Hoopsnake pide una condicion inicial que solo la utiliza en la primera iteracion (input S).
- Luego hay que definir el algoritmo reiterativo/recursivo que es toda la parte de abajo. Como input se utiliza el output S de hoopsnake (en la primera iteracion es la misma informacion que ingresaste en S).
El resultado de este algoritmo/proceso vuelve a ingresar a hoopsnake en el input D para una nueva iteración.
- El output H es el historial de toda la geometria/datos procesados en las iteraciones.
Ahora te explico el algoritmo:
- Se toma el triangulo y se sacan los puntos en las esquinas.
- Se revisa si los puntos estan contenidos en otro triangulo existente y hago cull para dejar los libres (ocupo el output H del hoopsnake para ver los triangulos de las iteraciones anteriores). En la primera iteracion hago un bypass para dejar todos los puntos iniciales libres (ya que no hay historial en el hoopsnake).
- La parte de abajo es para elegir una de las dos opciones max disponibles (tu comentaste arriba que habia tres opciones... en realidad son tres opciones en la inicial, luego son solo dos opciones. No se que va a pasar si se se completa el octagono, teoricamente habría solo 1 opcion disponible, pero no pude reproducirlo por el problema geometrico).
A modo de ejemplo, en la imagen le deje todas las opciones disponibles y conecte directamente (dos para el triangulo) para tratar de generar los octagonos.
- La parte final es simple, desde el centro del triangulo se genera una linea hacia las opciones disponibles para generar un plano perpendicular para la simetria y luego se rota en 90° (que creo debería ser otro angulo). Puedes mover el slider del plano perpendicular para generar la interseccion deseada en los triangulos (0.5 para interseccion completa).
Como ya te indicaron, yo tampoco hice el tema de las areas.. pero deberia ser simple en mi definición: Calculas el area del output H (triangulos), aplicas flatten, mass addition y si el numero resultante es mayor al area de la placa que quieres, debería generar un valor falso que va en el input B de hoopsnake.
Sorry que no haya ocupado tu definicion, pero ocupe un grasshopper antiguo y ademas ya había solucionado un problema similar con un alumno el semestre pasado, asi que realicé lo que me acordaba :D
Saludos y suerte!
…
t, you can see 6 (+) signs with what you can add (A,B,C,P,Q,R).
Let's say you add A = 90 and B = 50.
Now you can't add the third angle (cause its 180-(50+90) = C output).
What you can add at the moment is P,Q,R.
You choose to add P = 10.
There is no more a possibility to add Q and R.
All component outputs now give us the data.
2. Triangle with P,Q,R
When you zoom the component, you can see 6 (+) signs with what you can add (A,B,C,P,Q,R).
Let's say you add P = 15, Q = 20.
Now if you add R, the component's outputs all the angles and edge lengths.
If R > P+Q then component throws warning. (> or >= ?)
You cannot add A,B or C anymone.
3.Triangle with P,Q and C
When you zoom the component, you can see 6 (+) signs with what you can add (A,B,C,P,Q,R).
Let's say you add P = 15, Q = 20.
Now if you add C (angle), the component's outputs all the angles and edge lengths.
You cannot add A,B or R anymone.
To make it all easier, disable the possibility to internalize the data.
Tolerance issue... Maybe round the angles always to floor , with 0.1 precision ?
…
We are posting a few experiments, created with the work-in-progress RABBIT 0.2. We plan to release it within a week or two…
RABBIT 0.2 has a lot of new features:…
Added by Morphocode at 8:42am on February 23, 2010
es has guided me in a - what I once thought - specific path within architecture, but recent discoveries (like the Grasshopper-community etc.) have learned me that the field of digital and parametric architecture is so-to-speak alive and kicking. This is also the main subject I would like to write my thesis about. It is however mainly the subject and defining its boundaries – what do I really want to explore and research? – which is the most difficult factor at this time.
A concrete idea is non-existant, and my current visions will probably be redirected when I have a first meeting with the promotors in February. Moreover there is the knowledge that it is impossible to make a thesis at the institute in Antwerp on no matter what subject in the world of digital architecture. Understandably too, it’s a small world and does not always result in realised projects, but in impressive imagery. At this moment however, I am thinking of two possible research fields to focus on.
In a first option the focus might lie on how digital design tools can be used to bring a certain aspect of interactivity to building facades. Such interactivity can occur both in the design phase and throughout the use of the building. The first scenario, in which the interactivity occurs when designing, I would focus on how the designer can shape a building’s outer perspective in function of environmental parameters: obstacles, elements that block sunlight from entering the building, visually important landmarks, etc. It should be noted however that focus will mostly lie on the design element, and less on the energy-efficiency and sustainability. Tools that will be researched would include Grasshopper, Rhino Scripting, Processing and ParaCloud.
A second possible approach could be categorized under both Swarm Intelligence and Generative Design and might study how the aforementioned digital techniques might be implemented in the new urbanism. We notably see more (innovative) interventions in which the design and planning is heavily influenced by movement patterns and morphogenetic parameters and functions. Based on the outcome of these scripted techniques, designers tend to work towards a proposal which answers a certain urbanistic issue.
All additional insights, guidelines, tips, comments are more than welcome in order to help me define the scope of my thesis subject. I must admit I am pretty new to this digital design world (it is not actively promoted at my home university, but it is promoted at the university where I am studying for one year now) and thus have limited experience at the time of writing.
Please also feel free to check out the blog post concerning this topic, which is a little more elaborate: http://nielswouters.be/thesis-digital-design-english/
Thanks for all your help!
…
ned' as this is kind of unknown to me, which is why I wanted to look for a tool or script that might generate some geometry between the two. The fundamental principle is that the input meshes must retain 90+% of their original geometry (ie not deformed into an approximated wrapped shape) but be joined together by some sort of mesh geometry which acts as a link between the two shapes. The form for this could be highly abstract and doesn't need to conform to any parameters other than allowing the original meshes to be highly visible. I hope that makes sense, it may only be clear in my mind now that I have pursued it this far!With regards to the geometry wrapper, I found the example file that you sent us and attempted to plug in similar variables with my meshes, however the values returned by the geometry wrapper are constantly zero, no matter what I seem to change. I am currently plugging the mesh into a bounding box, which forms the box for both the geometry wrapper and iso surface and then inputting integers for the remaining parameters, though I'm not quite sure what actions these are performing. Would it help if I could send you my definition? I'm currently trying to internalise my meshes, though my rhino keeps crashing when I try! If you aren't able to follow any of the above let me know and I'll try and put together some simple diagrams that may explain it better.
Thanks,
Tom…
Added by Tom Jelley at 3:28pm on November 12, 2014
unique properties (color, UV map, vertex normal) the vertex is duplicated. So if you weld a mesh using the weld command with an angle tolerance of more than 90 degrees you're left with a box with 6 faces and 8 vertices.
It's quite a common way to describe meshes, Also the way your graphics card consumes meshes, so there's little CPU processing needed to process the meshes and feed them to the graphics card. If it's hard drive space you're worried about, there may be some compression possible. Apart from primitives, I don't know a geometry that do not represent a box by having four faces (including maya's polygons).
A mesh is considered closed when there are no naked edges. So for boxes this does not return false. I assume that internally spatial queries are used (or perhaps a check if the vertices are exactly the same)(see https://github.com/mcneel/rhinocommon/blob/master/dotnet/opennurbs/opennurbs_mesh.c )
Conclusion: If you want faces to show as having a (semi) creased edge, you'll have a vertex direction for each vertex.
However, if your goal is to make gears, I'd skip the whole part of creating meshes, and leverage Breps and extrusions to create the geometry, or using Extrusion (the geometry) might be a solution to create lightweight geometry, and forget about creating meshes yourself.
…
nt analysis - benchmarking >> bad condition of a face falsifies, resolution-dependence ...
B) if you use the karamba- or gh-mesher it still gives you bad results as your sphere has its nurbs-edge running through your cap. rotate the sphere 90° around x before and you are getting a nice mesh.
C) your supports are not defined just around its edge which i guess the benchmark would require?
D) you defined wood as the material, and there are some non-benchmark defaults for that i guess. also i am not sure but i think there have been some issues about the computability of shell element's materials with low shear modulus, and therefore the one of wood was raised. but you have to ask clemens for that.
nevertheless you can define your own material-properties with the resp. component
for me now, it calculates the first 5 buckling modes
good luck!
best
rob
…
rench "géométrie de raccordement" this geometry is different and unique to each pattern, and is highly dependent on the central geometry of the pattern, some non exhaustive rules imply that:
this geometry is usualy the extension of the central one
follow by the preceding rule the same angularity than the central geometry
the angles are dictated by the parent geometry shape, here you have an octogon, which means that the angles are either or both the ( subdivision usually) and multiplication of the PI/2.rad angle(90°, 45°, 22.5° and so on)
there is the notion of tiling, which also dictactes the axes of symmetry and possible combination of primary shapes , here you've got the (4,8,8) tiling, which goes along with what is called an octocagonal symmetry
What you've got here is the base geometry, that you could fill with a variety of rich ornaments, I suggest You look at Jule's bourgoin book : "Les éléments de l'art arabe : le trait des entrelacs " there you may find your pattern in a higher complexity and diversity, if you come to analyse them, you could figure out the logical relationships between the shapes , or what you're referring to "mathematical formula"
I think finding some patterns of reference is the best way to tacle even more complex shapes
If you want more insights at least about some academic works I will be pleased to share my humble gathering of knowledge
Good luck…
cussions.
The heart of the problem was a math domain error that was occurring in the function that calculates indoor air stratification, which is ironic as this was a simulation that did not have any indoor test points. This has now been fixed in the attached file and on the github.
The second issue was that the month was off by 1 when you connected up an HOY and this has also been fixed now.
https://github.com/mostaphaRoudsari/Honeybee/commit/d45ac37bc8b9db3f76aa5d9fcc00687394b9ef5d
My last comment is a suggestion to break up the ground top surface into several surfaces as this allows the temperature maps to account for spatial differences in ground temperature across the scene. This is what I do in this file here:
http://hydrashare.github.io/hydra/viewer?owner=chriswmackey&fork=hydra_2&id=Outdoor_Microclimate_Map&slide=0&scale=1&offset=0,0
Thanks for getting down to the cause of issues like this one. It really makes these bugs much easier to fix. Between the both of you, I feel you can take credit for over 90% of the bug fixes in the community.
Great job, as always,
-Chris…