Editing Vector Drawings from NURBS

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 
BRL-CAD can render hidden line drawings using rtedge, but the images it generates are raster images (consisting of pixels) rather than vector drawings (based on lines and curves).  This is often suboptimal - line drawings are often edited and rescaled using vector based editing programs, and rtedge output must be manually traced in order to be used in those environments.
 
BRL-CAD can render hidden line drawings using rtedge, but the images it generates are raster images (consisting of pixels) rather than vector drawings (based on lines and curves).  This is often suboptimal - line drawings are often edited and rescaled using vector based editing programs, and rtedge output must be manually traced in order to be used in those environments.
  
Without explicit surface representations we cannot (currently) calculate vector forms of significant lines () directly from models using CSG without using raytracing. BRL-CAD can import and raytrace NURBS based models, and focusing on those as a starting point is a valid direction (the completion of the NURBS Boolean project would offer a path for CSG models via NURBS significant lines.) However, a possible alternative approach to directly deal with CSG models is to take the grid results of the rtedge raytrace and use the knowledge inherent in the ray about what object it's returning the pixel from to group pixels into groups based on objects.  From there, the set of xy points in image space could be fitted with spline curves to produce vector representations.
+
Without explicit surface representations we cannot (currently) calculate vector forms of significant lines (http://www.cs.princeton.edu/gfx/proj/sg08lines/) directly from models without using raytracing.  However, a possible alternative approach is to take the grid results of the rtedge raytrace and use the knowledge inherent in the ray about what object its returning the pixel from to group pixels into groups based on objects.  From there, the set of xy points in image space could be fitted with spline curves to produce vector representations.
  
=References=
+
For the ambitious, it might even be possible to go beyond lines and bound areas using raytracing results - this paper illustrates possibilities with layered 2D output from 3D models:
 +
http://people.csail.mit.edu/sparis/publi/2009/siggraph/Eisemann_09_A_Visibility_Algorithm.pdf
  
* http://www.cs.princeton.edu/gfx/proj/sg08lines/
 
 
*http://people.csail.mit.edu/sparis/publi/2009/siggraph/Eisemann_09_A_Visibility_Algorithm.pdf
 
** For the ambitious, it might even be possible to go beyond lines and bound areas - this paper illustrates possibilities with layered 2D output from 3D models.
 
 
* rtedge
 
* src/rt/viewedge.c
 
* src/rt/view.c
 
* rt
 
  
 
Requirements:
 
Requirements:
Line 19: Line 11:
 
* Familiarity with C/C++
 
* Familiarity with C/C++
 
* Solid mathematical background (algorithms for fitting curves to points)
 
* Solid mathematical background (algorithms for fitting curves to points)
 +
 +
Difficulty:  high

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)