connected hyperspace where architecture can be fluid, flexible and vivid, yet the aspect of materiality requires more attention.
Action-designed structures begin to move beyond the utopian proposals of the 20th century’s manifestos and hold a place in the world of realized designs. The AA Athens Visiting School aims to bring users closer to the built environment while revisiting habits of designing, building and experiencing space through materiality. Understanding materiality and form as a ‘unified whole’, the programme integrates manufacturing techniques through the experimentation fabrication of prototypes at a 1:1 scale.
Prominent Features of the workshop/ skills developed
Participants become part of an active learning environment where the large tutor to student ratio allows for personalized tutorials and debates.
The toolset of the Athens VS includes but is not limited to Processing and Grasshopper for Rhinoceros, as well as design analysis software.
Participants gain hands-on experience on digital fabrication.
Design seminars and a series of lectures support the key objectives of the programme, disseminating fundamental computational techniques, relevant critical thinking, theoretical understanding and professional awareness.
Applications
1) You can make an application by completing the online application found under ‘Links and Downloads’ on the AA Visiting School page. If you are not able to make an online application, email visitingschool@aaschool.ac.uk for instructions to pay by bank transfer. 2) Once you complete the online application and make a full payment, you are registered to the programme. A CV or a portfolio is NOT required.
The deadline for applications is 28 June.
Location AKTO College – Athens Campus 11Α Evelpidon Street (Pedion Areos) Athens, 113 62, Greece
Fees
The AA Visiting School requires a fee of £695 per participant, which includes a £60 Visiting membership fee. Fees do not include flights or accommodation, but accommodation options can be advised.
Eligibility The workshop is open to current Undergrad and Graduate architecture and design students, PhD candidates and young professionals. Software Requirements: Adobe Creative Suite, Rhino 5.
For more information, please visit:
http://www.aaschool.ac.uk/STUDY/VISITING/athens
http://ai.aaschool.ac.uk/athens/
For inquiries, please contact:
alexandros.kallegias@aaschool.ac.uk…
perienced with grasshopper, but so far I've managed to combine the following:
Giulio Piacentino's "Catenary arch from height" script
Pirouz Nourian's "Mobius" script (Obtained from a friend)
End Result:
Here's where I'm stuck: I want the mobius twist to revolve around the midpoint of the arch, but the script uses the input values to determine the endpoints, resulting in a weird sinuous shape when viewed from above. Also, the secondary end points (generated by the mobius script, determining the width of the surface) are generated by default along the z axis, resulting in an arch that only touches the "ground" at two points. I attempted to work around this issue by trying to force the zHeight parameter to correspond with the y axis (thus rotating the arch 90 degrees so it would lay "flat"), but the script interprets the third point as a value and not as an actual point to bisect. I thought this might be an issue with the C# component that I obtained from Giulio Piacentino's script, so I attempted to tinker around with the source code. Unfortunately, I'm not fluent in C# so I only managed to mess everything up (I've since recovered the code from the cache). Anybody got some ideas? -BC …
r graphics get saved as 24x24 pixel images before they are put into the grasshopper application, which means the icons look like crap when you zoom in. This is the aforementioned problem that needs to be addressed in GH2. There have historically been two approaches to this issue:
Provide pixel images with several sizes.
Render vector graphics directly.
Option 1 is common for apps that do not have variable levels of zoom, such as Windows Explorer. When explorer shows file icons it either shows them in 16x16, 32x32, 48x48, 96x96, or these days, various HUGE sizes. As a result *.ico files allow you put in different images for all these target sizes. Since Grasshopper has variable zoom levels, this is not an ideal solution. Also, it requires a lot more work per icon.
Option 2 is becoming more and more popular as increased graphics speed now allows for the real-time rendering of vector graphics. Yet, you still need a renderer that knows how to draw vector geometry crisply at low sizes. All vector renderers I know just interpolate the geometry linearly and if a line happens to end up 'between pixels' it's just fuzzy.
I don't have hard and fast rules for the icons, but I try to adhere to at least these:
Keep a border of 2 pixels free around the icon content. So basically only use the inner 20x20 pixels rather than the 24x24 you're allowed. This is needed because the drop shadow needs to go there.
Only draw silhouette edges around shapes, not inner creases. Typically a 1-pixel line will do. I prefer to use a dark version of the fill colour rather than black for edges.
Loose curves can be drawn in 1 or 2 pixel thicknesses, depending on how important the curve is.
Try to avoid text in your icons (not always possible).
Stick to 1 colour family per icon, preferably per icon family. You can add highlights with another colour if you must, but too many hues make an icon hard to read (for the example the [Voronoi] icon, it has red, green and blue and it's a bit of a mess, on the other hand [Colour Wheel] has the full spectrum and seems to work quite well...).
Very roughly speaking, if there's both black and red geometry in an icon, it means the red is component input and the black is component output.
Drop shadows are pixel effects, applied to the 24x24 image. They have a blurring radius of 2 pixels, a horizontal offset of 1 pixel to the right, a vertical offset of 1 pixel to the bottom and they are 65% black.
When you use high contrast shapes (for example black edges on a light background) the anti-aliasing provided by vector renderers such as Xara or Illustrator won't be enough to make it look smooth. I'd recommend avoiding high contrast if at all possible, but if not possible then draw a 1-pixel line around the dark bits in 95% transparent black. This effectively extends the anti-aliasing range from 1.5 to 2.5 pixels and it helps make things looks smoother.
--
David Rutten
david@mcneel.com…
ect + Geco
TUTORS:
Arturo Tedeschi (Authorized Rhino Trainer) + Maurizio Arturo Degni
Il workshop avanzato ECOLOGIC PATTERNS affronta l’impiego di strategie parametriche all’interno del processo progettuale, approfondendo l’utilizzo di Grasshopper in sinergia con plug-in, software di analisi ambientale e simulazione fisica. Obiettivo fondamentale è la generazione della forma come risultato di tecniche di form-finding e di input ambientali (solari, termici e acustici). Verranno acquisiti nuovi strumenti operativi e di simulazione al fine di costruire modelli parametrici ottimizzati in grado di adattarsi a diverse condizioni di contesto.
MORE INFO…
ve Intermediate Insight of Computational Design Strategies While Exploring Rangoli Art form in 2 Dimension and 3Dimesion in which Participants will not only be trained to Digitally Design using Parametric software's but they will also be trained to Fabricate them in reality.
This Course will be explored in manner where Participants will understand inter-dependency of Rhinoceros3D & Grasshoper3D through a unique Hybrid Teaching Method While Exploring Rangoli Geometry .
The course will also take participants through Topics such as - Computational Thinking, - Computational / Parametric Design, - Computational Rangoli Exploration, - Digital Fabrication, - 3D Visualization ( Rhino3D 6), - Making Info-graphics & Design Diagrams ( Rhino3d 6 ).
Participants will also be doing a Project at the last Leg of Workshop in which they will implement the skill they gained in first Few Weeks.
{ Tutor } Nitant Pixelkar (Computational Artist / Designer, Mumbai)
Nitant Hirlekar A.k.a. Pixelkar, is a Computational Artist. He graduated from Rachana Sansad school of Interior Design 2011, Mumbai. In Academics He Bagged Two Gold and One Silver Medal on National Level.
In his post academic days, he came across the Emerging Computational Techniques in Design industry in which Algorithm serves as a main Functional part. He uses Algorithms to Deconstruct the Captured images in Pixelated form using the Grid of the Desired Indian Art Forms.
He Heads Collective Group Named "Mutation Lab” which is a multidisciplinary Design & Art Cell. Where they Explore Computational Approach while Designing Various Scales Spatial Installation, Digital Fabrication, Interactive Installations and Computational Consultancy for Various Architects.
He has exhibited his first artwork in Kalaghoda Arts Festival for in 2014 And further in 2016 and 2017.In 2015 he exhibited in Dharavi Biennale” organized by Wellcome Trust,London & Sneha Organisation, Mumbai Which was internationally acclaimed. In 2016 he got Featured on a TV show - The Creative Indian's as an Absolut Creative Indian of the Week.
Academically he is been involved in Many Computational Design Workshops / Elective Studios for School of Interior Design (Rachna Sansad), LS Raheja College of Architecture & Rat-Lab (Delhi).
{ Participants } The Course is aimed at Architecture, Interior Design, Product Design,Furniture Design & Fashion Design Students and Professionals. However we would be thrilled to have any Interdisciplinary Artist / Creator/ Maker to join the Course as well.
{ Level }
Intermediate
{ Timing } Monday To Friday - 6:00 PM to 9:00 PM (15 Hours/ Week = 5 Week X 15 Hours = 75 Hours )
{ Dates } Registration Ends - 24th April 2020 **Subejct to Availablity
{ Workshop Dates } 4th May 2020 To 5th June 2020
{ Venue } Lower Parel,Mumbai ( Details To Be Announced )
{ Schedule }
{Registration Form}…
, Engineer and Researcher from France with broad programming experience. He is the author of the City in 3D Rhinoceros plugin for creation of buildings according to geojson file and with real elevation. Guillaume already created a new component: "Address to Location". It enables getting latitude and longitude values for the given address:
2) Support of Bathymetry data: automatic creation of underwater (sea/river/lake floor) terrain. This feature is now available through new source_ input of the "Terrain generator" component. Here is an example of terrain of the Loihi underwater volcano, of the coast of Hawaii:
3) A new terrain source has been added: ALOS World 3D 30m. ALOS is a Japanese global terrain data. Gismo "Terrain Generator" component has been using SRTM 30m terrain data, which hasn't been global and was limited to -56 to +60 latitude range. With this addition, it is possible to switch between SRTM and ALOS World 3D 30m models with the use of source_ input.
4) 9 new components have been added:
"Address To Location" - finds latitude and longitude coordinates for the given address.
"XY To Location" - finds latitude and longitude coordinates for the given Rhino XY coordinates. "Location To XY" - vice versa from the previous component: finds Rhino XY coordinates for the given latitude longitude coordinates. "Z To Elevation" - finds elevation for particular Rhino point. "Rhino text to number" - convert numeric text from Rhino to grasshopper number. "Rhino unit to meters" - convert Rhino units to meters. "Deconstruct location" - deconstructs .epw location. "New Component Example" - this component explains how to make a new Gismo component, in case you are interested to make one. We welcome new developers, even if you contribute a single component to Gismo! "Support Gismo" - gives some suggestions on how to make Gismo better, how to improve it and support it.
5) Ladybug "Terrain Generator" component now supports all units, not only Meters. So any Gismo example file which uses this component, can now use Rhino units other than Meters as well. Thank you Antonello Di Nunzio for making this happen!!
Basically just forget about this yellow panel:
This panel is not valid anymore, so just use any unit you want.
6) A number of bugs have been fixed, reported in topics for the last couple of weeks. We would like to thank members in the community who invested their time in testing, finding these bugs and reporting them: Rafat Ahmed, Peter Zatko, Mathieu Venot, Abraham Yezioro, Rafael Alonso. Thank you guys!!! Apologies if we forgot to mention someone.
The version 0.0.2 can be downloaded from here:
https://github.com/stgeorges/gismo/zipball/master
And example files from here:
https://github.com/stgeorges/gismo/tree/master/examples
Any new suggestions, testing and bug reports are welcome!!…
Added by djordje to Gismo at 5:13pm on March 1, 2017
well, very similar input data must result in wildly different hashes. For example, imagine we have an algorithm which computes hashes of text, and the hashes it computes are all numbers between 0 and 999. We then apply this algorithm to a piece of text:
"When Spring comes back with rustling shade" = 385
So far so good. Now imagine we change the text slightly, for example by removing a single "l":
"When Spring comes back with rusting shade" = 973
Minor change -> very different hash. There are of course way more unique texts than there are numbers between 0 and 999. This must therefore mean that a lot of text will result in the same hash. For example "When Spring brings back blue days and fair." may also result in a hash of 385. Because of the pigeonhole principle, there is nothing to be done about this.
Now for the tricky bit. Hashes are often used to validate executable code. Say your friend James at MI6 sends you a small program that will allow you to eavesdrop on Angela Merkel, and -over the phone- he tells you the hashcode for that application. You can then hash the application yourself, verify that it indeed results in the same hashcode and then you know you can trust the executable.
But now Jack from the FBI intercepts the email and adds a few sneaky lines of code to the original application allowing him to determine from your internet search history with up to 95% accuracy whether you like extra cheese on your pizza. The application has now been tampered with, it can no longer be trusted and you should be able to figure this out as it will no longer result in the same hash code.
But wait! Some hashing algorithms are more secure than others. MD5 is now officially considered to be 'hacked' and it is no longer recommended for doing naughty spying. Specifically, Jack will be able to inject his own code in such a way that it does not result in a different hash. Instead, the SHA family of hashers are to be used, as it is not yet known how to trick these hashers.
This is where the problem comes in, because apparently the US government has forcefully disabled the use of MD5 for all purposes. This is a shame because I use it to quickly compare bitmap icons for identicalness so I only have to store an icon in memory once. There is no security hole due to this, because I'm not hashing secure data. MD5 is somewhat faster than SHA, and since I have to hash several hundred icons on Grasshopper start, I opted for the faster one.
(Very) long story short; you're hosed. Grasshopper uses MD5; USgov does not like; Grasshopper does not run on USgov computers.
I'll do some testing to see if I can switch to SHA and then we can see whether or not that solves the problem. This however will take a while as I'm going on a business trip next week and have yet to prepare my presentations.
--
David Rutten
david@mcneel.com…
Added by David Rutten at 12:06pm on March 31, 2014
ed file and code below:
Color ColorAt(Mesh mesh, int faceIndex, double t0, double t1, double t2, double t3) { // int rc = -1; var color = Rhino.Display.Color4f.Black;
if( mesh.VertexColors.Count != 0) { // test to see if face exists if( faceIndex >= 0 && faceIndex < mesh.Faces.Count ) { /// Barycentric quad coordinates for the point on the mesh /// face mesh.Faces[FaceIndex].
/// If the face is a triangle /// disregard T[3] (it should be set to 0.0).
/// If the face is /// a quad and is split between vertexes 0 and 2, then T[3] /// will be 0.0 when point is on the triangle defined by vi[0], /// vi[1], vi[2]
/// T[1] will be 0.0 when point is on the /// triangle defined by vi[0], vi[2], vi[3].
/// If the face is a /// quad and is split between vertexes 1 and 3, then T[2] will /// be -1 when point is on the triangle defined by vi[0], /// vi[1], vi[3]
/// and m_t[0] will be -1 when point is on the /// triangle defined by vi[1], vi[2], vi[3].
MeshFace face = mesh.Faces[faceIndex];
// Collect data for barycentric evaluation. Color p0, p1, p2;
if(face.IsTriangle) { p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.B]; p2 = mesh.VertexColors[face.C]; } else { if( t3 == 0 ) { // point is on subtriangle {0,1,2} p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.B]; p2 = mesh.VertexColors[face.C]; } else if( t1 == 0 ) { // point is on subtriangle {0,2,3} p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.C]; p2 = mesh.VertexColors[face.D]; //t0 = t0; t1 = t2; t2 = t3; } else if( t2 == -1 ) { // point is on subtriangle {0,1,3} p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.B]; p2 = mesh.VertexColors[face.D]; //t0 = t0; //t1 = t1; t2 = t3; } else { // point must be on remaining subtriangle {1,2,3} p0 = mesh.VertexColors[face.B]; p1 = mesh.VertexColors[face.C]; p2 = mesh.VertexColors[face.D]; t0 = t1; t1 = t2; t2 = t3; } }
/** double r = t0 * p0.FractionRed() + t1 * p1.FractionRed() + t2 * p2.FractionRed(); double g = t0 * p0.FractionGreen() + t1 * p1.FractionGreen() + t2 * p2.FractionGreen(); double b = t0 * p0.FractionBlue() + t1 * p1.FractionBlue() + t2 * p2.FractionBlue();
ON_Color color; color.SetFractionalRGB(r, g, b);
unsigned int abgr = (unsigned int)color; rc = (int) ABGR_to_ARGB(abgr); **/ var c0 = new Rhino.Display.Color4f(p0); var c1 = new Rhino.Display.Color4f(p1); var c2 = new Rhino.Display.Color4f(p2); float s0 = (float) t0; float s1 = (float) t1; float s2 = (float) t2;
float R = s0 * c0.R + s1 * c1.R + s2 * c2.R; float G = s0 * c0.G + s1 * c1.G + s2 * c2.G; float B = s0 * c0.B + s1 * c1.B + s2 * c2.B; color = new Rhino.Display.Color4f(R, G, B, 1); } } return color.AsSystemColor(); }
…