In Group 5, the line art data generated in Group 3 is transformed into curves and used to produce dynamic strokes that naturally follow the contours of an object. By extruding newly created curves along the tangents of the line art, the system achieves strokes that feel fluid and painterly, avoiding the stiffness of rigid lines and instead generating strokes that are intentional and organic.
The process begins by sampling several points around each generated stroke and averaging the data to ensure precise curve interpolation. This approach allows strokes to move across an object's surface smoothly without becoming jumbled or visually disconnected. Additionally, this group offers control over stroke attributes such as thickness, length, and opacity, giving artists flexibility to refine the visual output according to their creative intent.
Group 5 provides two distinct methods for stroke interpolation, each suited to specific types of scenes and offering different advantages. The first method is the simplest and involves sampling the nearest curve tangent from the line art. The curve tangent is then used to influence the direction of the generated strokes. Since some of the line art is generated on top of the model (rather than extracted from it directly), this tangent must be recalibrated to align consistently with the object's surface. This method is lightweight computationally but can lead to inconsistencies and jittering during animations due to potential changes in the tangent direction. The resulting formula for this method is as follows:
In this formula, the cross product creates a vector that helps align the tangent to the object's surface, while the dot product refines the alignment to ensure the strokes flow along the curves accurately. Normalizing this result allows the final tangent vector to serve as a consistent offset for the generated strokes.
The second method takes a different approach that does not depend on the curve tangent. Instead, it calculates a direction vector towards the line art by subtracting the nearest edge position from the evaluated point's position. The resulting direction vector is then rotated in screen space by 90 degrees, creating a consistent clockwise extrusion that follows the line art curves. This method is inherently more stable and less prone to jittering during animations, as the direction remains consistent regardless of tangent variations. However, it may produce strokes that feel overly uniform, which can detract from the painterly aesthetic in certain contexts. The corresponding formulas are:
The first formula defines the extruded point position by determining the direction to the nearest edge, rotating it in screen space, and scaling it according to s. The second formula adjusts the final extruded position by comparing the original and extruded lengths, thereby ensuring the interpolated points align with the intended curvature.
The ability to produce dynamic, flowing strokes is essential for capturing the expressive and confident brush strokes characteristic of traditional painting. Group 5 successfully generates strokes that are organic and painterly while preserving structural accuracy by adhering to the contours of the object. This combination of artistic fluidity and adherence to form makes this stroke generation process highly effective for achieving the desired painterly effect in the final render.
Default Point Distribution
Normalized Point Distribution