Found 5 posts.
Search results Show results as topic list.
Technical Discussion » Need help with City parcel division
- bvr.holla
- 5 posts
- Offline
Anyone who know how to procedurally achieve selecting the highlighted points in the attached Image?
Work in Progress » Object Aligned Bounding Box (OBB) Subdivision
- bvr.holla
- 5 posts
- Offline
Pasting entire vex code of compute_data_from_obb detail_wrangler referred in the OBB video:
int closest_point = -1; float min_distance = 1e10; // Large initial value // Get the minimum bounding box coordinates vector bbox_min = getbbox_min(0); // Loop through all points to find the one closest to bbox_min int num_points = npoints(0); for (int i = 0; i < num_points; i++) { vector pt_pos = point(0, "P", i); // Get the position of the point float distance = length(pt_pos - bbox_min); // Calculate the distance to bbox_min if (distance < min_distance) { min_distance = distance; closest_point = i; // Update the closest point index } } i@closest_point = closest_point; f@minLength = 1e10; // Initialize with a large number f@maxLength = 0.0; // Initialize with a small number // Initialize direction vectors v@minDir = {0, 0, 0}; v@maxDir = {0, 0, 0}; float allLength[] = array(); vector allDir[] = array(); if(closest_point >= 0 ) { vector pos0 = point(0, "P", closest_point); int neighPoints[] = neighbours(0, closest_point); for(int i=0; i<len(neighPoints); ++i) { vector pos1 = point(0, "P", neighPoints[i]); vector direction = pos1 - pos0; float length = length(direction); vector unit_direction = normalize(direction); append(allLength, length); append(allDir, unit_direction); } if(allLength[0] < allLength[1]) { f@minLength = allLength[0]; v@minDir = allDir[0]; f@maxLength = allLength[1]; v@maxDir = allDir[1]; } else if (allLength[0] > allLength[1]) { f@minLength = allLength[1]; v@minDir = allDir[1]; f@maxLength = allLength[0]; v@maxDir = allDir[0]; } else { f@minLength = allLength[0]; v@minDir = allDir[0]; f@maxLength = allLength[1]; v@maxDir = allDir[1]; } }
Edited by bvr.holla - 2024年9月20日 08:36:04
Technical Discussion » Need help with City parcel division
- bvr.holla
- 5 posts
- Offline
I am implementing skeleton-based parcel subdivision based on a research paper https://www.cs.purdue.edu/cgvlab/papers/aliaga/eg2012.pdf [www.cs.purdue.edu] and have successfully implemented most parts. I used polyexpand2d to create the skeleton and made cuts along the skeleton points to the border. However, I am now struggling to select specific points along the center line, as highlighted in the attached image, and I'm unsure how to achieve this. Need help.
Edited by bvr.holla - 2024年9月12日 05:43:17
Work in Progress » Object Aligned Bounding Box (OBB) Subdivision
- bvr.holla
- 5 posts
- Offline
Hi PHENOM DESIGN, Thanks for the paper. I have gone through the paper and attempted to create the Skeleton based parcel generation. But in the paper I am not able to to find logic to create "logical streets" which is very essential for &-strip creation. I tried searching for this crucial information. But not able to find. I want to split streets to create logical street procedurally so that user can avoid identifying streets manually
Work in Progress » Object Aligned Bounding Box (OBB) Subdivision
- bvr.holla
- 5 posts
- Offline
Implemented Houdini SOP to subdivide input primitive using OBB. Good for Parcel subdivision while creating procedural city layout.
Referred paper by Müller and Team [www.cs.purdue.edu]
Road side check is not added to the SOP as specified in the paper. Current approach check min area as the base condition for recursion.
Works only on ZX plane
Refer the video for implementation detail:
Referred paper by Müller and Team [www.cs.purdue.edu]
Road side check is not added to the SOP as specified in the paper. Current approach check min area as the base condition for recursion.
Works only on ZX plane
Refer the video for implementation detail:
-
- Quick Links