. The rules to dispatch the lines are the next:
I start with a list that alternate true/false; like that: true, false, true, false.
If the angles between those lines are greater than 89° I want to inverse the next part of the list:
True, False, True, False, True, False,...
become
True, False, [>89°] False, True, False, True, [>89°] True, False,...
I managed to create a true false list, to check for the greater than 89° angle, to separate the lines relatively to the angles, but I don't know how to inverse part of the list at certain index.
(In the picture, I have written 90° but it should be 89°, I check for greater than 89° and not equal to 90° because in the real rhino model, the lines won't be exactly orthogonal)
If you have another idea to to reach the same result, it's also okay, I tried to find rules to solve the problems, but I may have overlooked other solutions !
And if there is some part of the patch that are correct but there is easier solution, I would love to learn as I am still new to grasshopper.
Thanks for taking the time to read. :)
…
rees west to 1 degree west). Changing the latitudinal domain from, say, 0:1 (the equator to 1 degree north) to 88:89 (88 degrees north to 89 degrees north), has zero effect on the x,y shape of the topography map generated. However, in reality, the map should be far, far thinner in the latter case, because longitudinal lines get closer together toward the north and south poles. In actuality, the shape should be close to a trapezoid in both cases, but this is probably not a necessary detail for most people producing maps, since, at an urban or smaller scale, the latitudinal lines bounding the north and south of the map will probably not be that significantly different in length. But the maps should at least stretch from close-to-square for a 1 degree x 1 degree map near the equator to an extremely thin rectangle for a 1 degree x 1 degree map near the north pole.
As an example, I'm looking at a location in Sheffield, UK. The relevant SRTM HGT file spans from 53 N to 54 N, and 2 W to 1 W. The length of the map in the north-south direction should be approximately 111 km, as is the case with the topo map generated by Elk (and a near-standard for 1 degree latitude anywhere in the world). The length of the map in the east-west direction, however, should be somewhere in the range of 67 km, since the 2 W and 1 W longitudinal lines are much closer together at this latitude than they are at the equator. Thus the map should be nearly twice as long in the North-South direction as it is wide in the East-West direction.
If this were to be sorted out, I think it would be really nice to then have the SRTM topo map be positioned automatically in relation to the OSM map being brought in. I think it's good that the OSM map is positioned at 0,0, rather than it's world coordinates, but maybe the SRTM topo map could be aligned with it based on the latitude and longitude domains we input to the SRTM grasshopper module.…
pe and its surface.
However, I don't have that much knowledge about both grasshopper and Mathematica.. I mean I can only make assumptions and think about relations of certain functions but that's all.
If you can help me on this, I would appreciate it so much.
You can see a screenshot of the code and model of the demonstration from mathematica in attachment.
And here is the mathematica code;
Manipulate[ Module[{\[CurlyEpsilon] = 10^-6, c1 = Tan[a1], c2 = Tan[a2], c3 = Tan[a3], c4 = Tan[a4], c5 = Tan[a5], c6 = Tan[a6]}, ContourPlot3D[ Evaluate[ c6 Sin[3 x] Sin[2 y] Sin[z] + c4 Sin[2 x] Sin[3 y] Sin[z] + c5 Sin[3 x] Sin[y] Sin[2 z] + c2 Sin[x] Sin[3 y] Sin[2 z] + c3 Sin[2 x] Sin[y] Sin[3 z] + c1 Sin[x] Sin[2 y] Sin[3 z] == 0], {x, \[CurlyEpsilon], Pi - \[CurlyEpsilon]}, {y, \[CurlyEpsilon], Pi - \[CurlyEpsilon]}, {z, \[CurlyEpsilon], Pi - \[CurlyEpsilon]}, Mesh -> False, ImageSize -> {400, 400}, Boxed -> False, Axes -> False, NormalsFunction -> "Average", PlotPoints -> ControlActive[10, 30], PerformanceGoal -> "Speed"]], {{a1, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(1\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a2, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(2\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a3, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(3\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a4, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(4\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a5, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(5\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a6, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(6\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, AutorunSequencing -> {1, 3, 5}, ControlPlacement -> Left]…
make a new curve from points I attempt to do it by writing:
Curve cv = new Curve();
This gives me the error:Error: 'Rhino.Geometry.Curve.Curve()' is inaccessible due to its protection level (line 88)
I have also tried calling the CreateInterpolatedCurve() from the Curve class, but
Curve cv = null; cv = new Curve.CreateInterpolatedCurve(Mould.Branch(0), 3);
But from this i get:
Error: 'Rhino.Geometry.Curve.CreateInterpolatedCurve(System.Collections.Generic.IEnumerable<Rhino.Geometry.Point3d>, int)' is a 'method' but is used like a 'type' (line 89)I'm really quite lost about how I can this to work. Can anyone help me?…
the various digital design methods and technologies that they employ in their design workflow, highlighted at various scales through their recent work.
Organizers and Moderators:
Andrew Haas, Program Co-Director, Architectural Association Visiting School New York
Alfonso Oliva, Associate/Director, LERA Consulting Structural Engineers
Speakers:
Luc Wilson, Senior Associate Principal and Director, KPF Urban Interface
Dan Levine, Associate Director, Solutions Engineering – United Technologies (UTC)
Jan Leenknegt, Architect and BIM Manager, Bjarke Ingels Group (BIG)
Introductions by AIANY Technology Committee Co-Chairs:
Michael Brotherton, AIA, VP of Operations, Situ Fabrication LLC
Alexandra Pollock, AIA, LEED AP BD+C, Director of Design Technology, Senior Associate, FX Collaborative
–
Due to building security requirements, a state-issued photo ID or valid passport is required to obtain building entry. Advanced registration is required.
This event is free and open to the public. Refreshments and pizza will be served.…
Added by Andrew Haas at 10:46am on October 30, 2018