Khối cầu địa tâm với xích đạo đa giác 3 trục trong OpenSCAD
Khối cầu địa tâm dựa trên khối tám mặt cho OpenSCAD, tạo ra các xích đạo đa giác đều trên cả ba trục. Hoàn hảo để khớp với các hình dạng khác. Hỗ trợ cả khối cầu và bán cầu, với các tùy chọn sử dụng cú pháp modular hoặc functional.
Mô tả
Đây là một khối cầu địa tâm hoặc bán cầu cho OpenSCAD, sử dụng các tham số giống như hàm sphere() của OpenSCAD. Nó dựa trên bán cầu địa tâm của tôi, được phát triển từ Geodesic Sphere (icosahedral sphere) của Jamie Kawabata.
Giải thích
Khối cầu mặc định trong OpenSCAD được hiển thị dưới dạng một hình tròn xoay quanh một đường kính. Điều này tạo ra một hình dạng quả cầu với các cạnh kinh độ và vĩ độ, với nhiều mặt phẳng bị lãng phí tập trung ở các cực. Người ta có thể khắc phục vấn đề này bằng cách chia nhỏ một hình hai mươi mặt, tạo ra một khối cầu địa tâm với các mặt phân bố đều. Khối cầu như vậy không có xích đạo đa giác phẳng, do đó nó không thể khớp với các hình dạng đa giác đều khác.
Đoạn mã này tạo ra một khối cầu địa tâm (hoặc bán cầu) dựa trên một khối tám mặt. Không giống như khối cầu dựa trên hình hai mươi mặt, việc sử dụng khối tám mặt tạo ra các xích đạo phẳng trên cả ba mặt phẳng trục. Ba xích đạo này là các đa giác đều có thể khớp với các hình dạng đa giác đều khác (hình trụ, v.v.).
Cả khối cầu tám mặt và khối cầu hai mươi mặt đều bị giới hạn về số cạnh có sẵn trong xích đạo đa giác nếu bạn cắt đôi nó. Xích đạo của khối cầu tám mặt có kích thước chính xác và có thể có 4×2^n cạnh (4, 8, 16, 32, 64, 128).
Nếu bạn cần một bán cầu có nhiều tùy chọn hơn về số cạnh, hãy sử dụng hàm hemisphere() của tôi, phiên bản tám mặt này được dựa trên đó.
Cách sử dụng
Để sử dụng, bạn chỉ cần đặt tệp này vào thư mục chứa các tệp .scad của bạn và thêm dòng này vào các tệp .scad khác của bạn:
use <octsphere.scad>
Cú pháp Modular để tạo khối cầu giống hệt như hàm sphere() của OpenSCAD:
octsphere(<bán_kính|r=bán_kính|d=đường_kính> [, <$fa|$fs|$fn>=số_lượng]);
Thêm tham số hemisphere=true sẽ tạo ra một bán cầu thay thế. Ví dụ:
// khối cầu địa tâm, bán kính 20, đa giác 32 cạnh trên 3 trục
octsphere(r=20, $fn=32);
// tương tự nhưng là bán cầu, nửa trên của khối cầu
octsphere(r=20, hemisphere=true, $fn=32);
Cú pháp Functional (hàm): Bạn có thể gọi octsphere() dưới dạng một hàm, nó trả về một mảng các đỉnh và mặt của đa diện, theo bất kỳ cách nào sau đây:
ph_array = octsphere(radius);
ph_array = octsphere(r=radius);
ph_array = octsphere(d=diameter);
Một lần nữa, tham số hemisphere=true có thể được thêm vào để tạo ra một bán cầu.
Các ví dụ trên trả về một mảng với ph_array[0] là danh sách các đỉnh 3D và ph_array[1] là danh sách các mặt. Bạn có thể thao tác các đỉnh (lưu mọi thứ vào một mảng đỉnh khác) và gọi polyhedron(), truyền mảng đỉnh mới và mảng mặt ban đầu làm đối số. Bằng cách này, bạn có thể tạo ra các khối cầu bị biến dạng.
Số cạnh trong xích đạo của khối cầu được kiểm soát bởi các biến đặc biệt $fa, $fs và $fn; ví dụ: $fn=32 cho một khối cầu có xích đạo 32 cạnh. Không cần thiết phải vượt quá $fn=128. Các giá trị khác của $fn sẽ tạo ra các khối cầu có số cạnh gần nhất với 4, 8, 16, 32, 64, 128, ... 4×2^n.
Category: Nghệ thuật toán học
Giấy phép
Model files
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!