idea - woojsung · the path at the point (start point or initial point if you like) and check if...

5
COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 1 IDEA The goal of the definion is to find the shortest path between two points on a topography that does not exceed a specific slope; Part 1 - Define a shortest path between two points on a given surface regardless of its slope(geodesic). Evaluate the slope vector on the path at the point (start point or inial point if you like) and check if the slope is within the range of safe slope. If yes, we move the start point by the vector. Otherwise, we rotate the vector along with the normal vector at the point unl the slope would be within the range. Then we move the start point by the vector. This point will be the product of part 1 and, at the same me, another start point of the next iteraon. Part 2 - By repeang this process, we connue to find another next point unl it is close enough to the desnaon point. Then we con- nect all the points including start and end ones to get a shortest path which doesn’t exceed a specific slope.

Upload: truongnhi

Post on 07-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 1

IDEA

The goal of the definition is to find the shortest path between two points on a topography that does not exceed a specific slope;

Part 1 - Define a shortest path between two points on a given surface regardless of its slope(geodesic). Evaluate the slope vector on the path at the point (start point or initial point if you like) and check if the slope is within the range of safe slope. If yes, we move the start point by the vector. Otherwise, we rotate the vector along with the normal vector at the point until the slope would be within the range. Then we move the start point by the vector. This point will be the product of part 1 and, at the same time, another start point of the next iteration.

Part 2 - By repeating this process, we continue to find another next point until it is close enough to the destination point. Then we con-nect all the points including start and end ones to get a shortest path which doesn’t exceed a specific slope.

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 2

step 01Get the shortest path between two points on a surface (geodesic).

step 02Get a tangetn vector on the path at the point to get a slope angle. Slope can be cal-cuated by the angle between the tangent and Z-axis at the point.

step 03Check if the slope at the point is within the range between maximum and minimum slope. There might be three possible cases.

1) within the range2) steeper than maximum3) steeper than minimum

PROCESS

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 3

step 03

1) within the range2) steeper than maximum3) steeper than minimum

step 03

1) within the range2) steeper than maximum3) steeper than minimum

step 04In this case, the tangent vector is steeper than the maximum so we want to find al-ternative route.

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 4

step 05Rotate the tangent vector along with the normal vector of the point 5 degrees at a time clock wise until the vector gets within the range between max and min slope.

step 06Do the same thing this time in count clock wise.

step 07Compare the two to pick closer one to the destination point.

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 5

step 08Move the starting point by the vector (vec-tor multiplied by a factor. The smaller the factor, the more accurate the process will be). Then we might need to pull the point back to the surface.

step 09Repeat the process with the point that we’ve just got form the previous step.

Do the iteration over until the output point is close enough to the destination point.

step 10By connecting all those points including start and end ones, we get the path.