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.

👁️
331
Lượt Xem
❤️
2
Lượt Thích
📥
50
Lượt Tải
Cập Nhật Dec 10, 2025
Chi tiết
Tải xuống
Bình luận
Showcase
Remixes

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$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

Tác phẩm này được cấp phép theo

Creative Commons Zero v1.0 Universal

Public Domain Dedication

Không yêu cầu ghi công
Văn hóa Remix Được phép
Sử dụng thương mại Được phép
Tác phẩm phái sinh Được phép
Được phép chia sẻ

Model files

ALL MODEL FILES (1 files)
Loading files, please wait...
Vui lòng đăng nhập để khoe bản in của bạn.

Remixes (0)