Câu trả lời:
Đây là một giải pháp một phần cho Inkscape. Một câu trả lời khác cho Illustrator cho thấy cách người ta có thể sử dụng hiệu ứng Scribble theo cách không ngẫu nhiên và có được đường zigzag đường thẳng mong muốn và kết quả chỉ cần một số sửa chữa thủ công nhỏ (= lấp đầy khoảng trống nếu hình dạng phức tạp)
Inkscape không có hiệu ứng như vậy. Nó có hiệu ứng Path tạo ra các ô nở thô, nhưng kết quả rất thô. Về lý thuyết, nó có thể giống như Scribble của Illustrator, nhưng đơn giản là nó không có khả năng điều chỉnh và độ chính xác cần thiết.
Người hỏi đã đưa ra một nhận xét một gợi ý: Có phần mở rộng bên thứ 3 của nhà sản xuất máy vẽ (= EggBot) có thể tạo ra một số mẫu điền tương tự. Tôi bỏ qua chúng vì tôi không có chúng. Tôi đã cố gắng để có được chúng, nhưng quá trình cài đặt đã dừng lại, vì Inkscape của tôi không được cài đặt theo cách tiêu chuẩn.
Nếu hình dạng của bạn đối xứng theo chiều dọc để nửa trên có thể được trình bày theo tọa độ XY là Y = f (x) trong đó f là một công thức được viết bằng các hàm toán tử và toán tử Python, bạn có thể vẽ biểu đồ zigzag với phần mở rộng Hàm vẽ đồ thị của Inkscape. Để làm ví dụ, chúng tôi kiểm tra vòng tròn của bạn.
Tôi phải gian lận một chút, bởi vì công thức chính xác cho một đường cong ngoằn ngoèo hình tam giác rất phức tạp. Nó cần modithologists phức tạp. Tôi không biết cách viết nó với các hàm của Python. Một lập trình viên có năng lực có thể có thể nói điều đó trong một giây.
Nhưng Python có một số công cụ toán học cơ bản thường được biết đến (= giống như trong Excel) như sin, pi và squareroot. Tôi sử dụng chúng, bởi vì đường cong kết quả có thể được chuyển đổi thành các đường thẳng sau này.
Chế độ xem thu phóng cao cho thấy đây thực sự là một đường cong mềm mại:
Để làm cho nó vẽ một hình vuông và goto Tiện ích mở rộng> Kết xuất> Trình vẽ chức năng. Tôi đã chọn hình vuông thể hiện x và y nằm trong phạm vi từ -1 đến +1.
Các chức năng được lấy từ thiết bị điện tử. Đó là sin điều biến biên độ (không có sóng mang!). Phần phong bì sqrt (1-x * x) là một nửa hình tròn. Số 40 cuối cùng xác định rằng có 40 chu kỳ đầy đủ của đường cong hình sin tức là 40 đỉnh trên cùng và dưới cùng. Nó đã được xác định để có tổng số 161 nút gần đúng. Có một nút trong mọi điểm giao nhau và cực đại.
Nếu bạn muốn nhiều hơn, giả sử 100 chu kỳ đầy đủ, bạn phải thay đổi 40 thành 100 và 161 thành 401.
Nếu một người chuyển đổi tất cả các nút thành các điểm góc, anh ta sẽ có dạng tam giác mà không cần tính toán. Đường dẫn sửa đổi mở rộng> Flatten Bezier thực hiện công việc. Đây là một ví dụ về làm phẳng:
Bạn nên áp dụng Flatten và sau đó chọn tất cả các nút dòng 0 trừ phần ngoài cùng bên trái và ngoài cùng bên phải với công cụ none và nhấn DEL. Sau đó làm phẳng lại và bạn đã hoàn tất - chỉ các đường thẳng, không có nút bổ sung:
Lưu nó dưới dạng SVG đơn giản để loại bỏ tất cả các phần riêng của Inkscape (không nên có vì kết quả là một đường dẫn, nó không có chức năng).
Tôi đoán phương pháp vẽ đồ thị hàm là không thực tế, vì vậy tôi thử một cái gì đó khác. Nếu các đường thẳng song song được chấp nhận điền (= không ngoằn ngoèo), người ta có thể xếp một loạt các đường và đặt mặt nạ cắt hoặc tách các đường phá hủy theo hình dạng
Inkscape có một số cách để tạo ra một loạt các đường thẳng
Phương pháp thứ 3 là đơn giản nhất. Nó tạo ra các dòng trung gian như một nhóm:
Các dòng nên được tách nhóm và kết hợp (Đường dẫn> Kết hợp) để giữ cho chúng chắc chắn là một đối tượng. Các nhóm dễ bị hỏng vì các thành viên của họ vẫn có thể được chọn độc lập. Ngoài ra, nhiều hoạt động đường dẫn không hoạt động với các nhóm, chúng cần một đường dẫn đơn hoặc đường dẫn kết hợp.
Hình ảnh tiếp theo hiển thị kết quả khi một hình được đặt trên các dòng và Object> Clip> Set được áp dụng:
Việc cắt có thể được lấy lại bất cứ lúc nào, các phần ban đầu vẫn còn nguyên vẹn, chỉ bị ẩn một phần. Không có cách nào để đưa bất cứ điều gì đến cuối dòng rõ ràng, bởi vì không có nút. Đối với điều này, các dòng phải được phân chia triệt để hoặc không nên cắt. Chụp vào giao lộ đường dẫn hoạt động rất tốt trong Inkscape.
Chúng ta có thể sử dụng ảnh chụp nhanh bằng cách vẽ hình zigzag hình tam giác bằng bút:
Đường ngoằn ngoèo màu xanh được thực hiện bằng bút bằng cách chỉ nhấp, một lần nhấp cho mỗi điểm giao nhau. Mất khoảng một phút. Đường ngoằn ngoèo màu xanh là một con đường độc lập.
Nếu điều đó làm phiền rằng một nửa các đoạn đường thẳng đứng và nửa còn lại bị nghiêng, thì nó đã được sửa bằng cách xoay các đường trước khi vẽ đường ngoằn ngoèo.
Một câu hỏi được đặt ra "Nếu một người chia các dòng cho ví dụ với Đường dẫn> Đường dẫn cắt, các mảnh có thể được kết hợp một cách tự động, không phải từng cái một, thành một đường ngoằn ngoèo. Theo lý thuyết CÓ. Nhưng có những khó khăn khiến kết quả không chắc chắn.
Lúc đầu, chúng tôi chia các dòng với cùng một đường cong màu đen. Một hình dạng trên cùng thực sự phân tách các dòng bên dưới nếu chúng được kết hợp (Đường dẫn> Kết hợp). Phần còn lại có thể được chọn và loại bỏ dễ dàng bằng cách sử dụng công cụ chọn bình thường trong "select if touch" -mode (= Alt + Drag):
Sau đó, chúng ta có thể chọn các nút cuối cùng của tất cả các dòng và thử chức năng nút Tham gia các nút được chọn. Kết quả thật đáng tiếc:
Tất cả các nút tham gia kết thúc hoạt động kết nối, khi được bó, chọn thứ tự không thể đoán trước. Các kết nối phải được thực hiện từng cái một. Dễ dàng hơn nhiều để vẽ zigzag bằng Bút như hình trên.
Hiệu ứng vẽ nguệch ngoạc minh họa làm nhiều việc bạn đang yêu cầu
Chỉ cần áp dụng viết nguệch ngoạc vào đường dẫn điền. Sau đó điều chỉnh cài đặt viết nguệch ngoạc để có 0 biến thể.
Sau đó, vì đây là hiệu ứng trực tiếp, bạn cần mở rộng nó với Object → Mở rộng Hình thức
Bây giờ Scribble không đo khoảng cách giữa các điểm giống khác một chút so với ví dụ của bạn. Điều này có thể hoặc không thể là một vấn đề, nó không được mô tả chính xác trong cài đặt vấn đề.
Nếu bạn có thể tìm cách mô tả toán học đường bao của hình dạng của mình, bạn có thể nhân hàm số sin
với một khoảng thời gian ngắn. Đối với ví dụ về đĩa, sin(100*x) * sqrt(1 - x**2)
dường như hoạt động tốt:
Đây là một ví dụ trực tiếp , trong đó bạn có thể thay đổi các tham số bằng thanh trượt.
Có thể vẽ một hàm như SVG từ gnuplot , matplotlib hoặc trang web này .