A Streamlit web application that generates SVG patterns for use as masks, textures, or design elements. The generator supports two pattern types:
- Circuit Pattern: Electronic circuit-like patterns with tracks and balls
- Bottom-Up Pattern: Vertical lines with 45-degree turns and balls at endpoints
- Generate two different types of patterns with customizable parameters
- Adjust dimensions, colors, spacing, and complexity
- Control pattern density and segment properties
- View debug grid to understand pattern structure
- Download patterns as SVG files with seed information for reproducibility
- Responsive interface with intuitive controls
Creates a grid-based pattern that resembles electronic circuits with tracks connecting points and balls at track endpoints. Perfect for sci-fi textures, tech panels, or circuit board designs.
Generates vertical lines starting from the bottom with optional 45-degree turns. Each line consists of 1-3 segments with balls at endpoints. Great for creating abstract, modern patterns with balanced angles.
- Select the desired pattern type from the radio buttons
- Adjust the grid dimensions and pattern-specific parameters
- Choose colors for tracks and background
- Use the sliders to control density, ball size, and track width
- Click "Generate New Pattern" for a different random pattern
- Download the SVG when satisfied with the result
- Grid Dimensions: Sets the overall pattern size based on grid cells
- Colors: Track and background color selection
- Ball Diameter: Size of balls at line endpoints
- Track Width: Thickness of the lines/tracks
- Density: Controls how many elements are included in the pattern
- Debug Grid: Toggles visualization of underlying grid and borders
- Min/Max Track Length: Controls the range of possible track segment lengths
- Segment 1/2/3 Min/Max %: Controls the length ranges for each segment
- Segment Complexity: Controls how many segments are used (0=only first segment, 1=maximum segments)
- Spacing Variation: Controls how evenly spaced the vertical lines are
- Minimum Line Spacing: Sets the minimum distance between adjacent lines
This app can be run locally with:
pip install -r requirements.txt
streamlit run app.py
To use the generated patterns in other applications:
- Download the SVG file
- Convert to other formats (PNG, JPG) using an online converter or graphics software
- Import as needed into your design or 3D application