Implicit Solid Model

Mô hình Implicit Solid được tạo ra bằng Mathematica thông qua việc sử dụng phương trình toán học và các phép toán Boolean. Đây là một bài tập kỹ thuật CAD nâng cao mô tả hình học phức tạp, được đăng tải lần đầu trên Thingiverse từ năm 2014.

👁️
10
Lượt Xem
❤️
0
Lượt Thích
📥
0
Lượt Tải
Cập Nhật Apr 04, 2026
Chi tiết
Tải xuống
Bình Luận
Khoe bản in
Remix

Mô tả

Mô hình này được tạo ra hoàn toàn bằng phương pháp toán học (Implicit Modeling), trong đó hình dáng được mô tả bằng các phương trình thông qua phần mềm Mathematica, kết hợp các hình khối cơ bản và các phép toán Boolean. Đây là bài tập trong môn ME480 CAD 3DP tại Đại học Washington, tập trung vào việc ứng dụng nâng cao của mô hình hóa 3D và in 3D.

Phần lớn cấu trúc của mô hình được tạo ra bằng phép cộng Boolean (Boolean Addition) giữa dải Mobius và một hình cầu.

Mã code Mathematica được sử dụng

Mã nguồn cơ bản từ Giáo sư Mark Ganter

(Phép hợp Boolean) join[f, g] := Min[f, g] (Phép cắt Boolean) cut[f, g] := Max[f, -g]

(Các phép dịch chuyển) transX [f, s] := f /. x -> (x - s) transY [f, s] := f /. y -> (y - s) transZ[f, s] := f /. z -> (z - s)

(Phép xoay) rotateRZ[f, a] := f /. {x -> x_Cos[a] + y_Sin[a], y -> -x_Sin[a] + yCos[a]} rotateZ[f, a_] := rotateRZ[f, d2R[a]]

(Khai báo hình học cơ bản: Hình cầu) sphere[rad_] := x^2 + y^2 + z^2 - rad^2

(Khai báo hình học cơ bản: Dải Mobius - http://www.wolframalpha.com/input/?i=mobius+strip+Cartesian+equation) mobius[a_] := -a^2 y - 2 a x z + x^2 y - 2 x^2 z + y^3 - 2 y^2 z + y z^2

(Tạo hình học: muckabout3) muckabout3 = cut[sphere[2.75], mobius[3]]

(Tạo hình học: trasn2rotatma3) rotatemuckabout3 = rotateZ[muckabout3, 180] transrotatema3 = transY[rotatemuckabout3, -0.5] trans2rotatema3 = transX[transrotatema3, 0.5]

(Tạo hình học: trans2rotatma13) transrotatema13 = transY[muckabout3, 0.5] trans2rotatema13 = transX[transrotatema13, -0.5]

(Hợp nhất hai hình học) joinedmuckabout3 = join[trans2rotatema13, trans2rotatema3]

(Tạo hình học: transrttma32) muckabout32 = cut[sphere[6], mobius[3]] rotatemuckabout32 = rotateZ[muckabout32, 180] transrotatema32 = transX[rotatemuckabout32, 3] transrtransma32 = transY[transrotatema32, 1] transrttma32 = transZ[transrtransma32, -2.75]

(Hợp nhất hai hình học) joinmuck3s = join[joinedmuckabout3, transrttma32]

(Vẽ mô hình để xem trước) plt = ContourPlot3D[joinmuck3s == 0, {x, -10, 10}, {y, -10, 10}, {z, -10, 10}

(Xuất mô hình dưới định dạng tệp STL) Export["ISMmodel1.stl", plt, "STL"]

Phương trình ISM kết quả

(Dữ liệu phương trình giữ nguyên như bản gốc)

Giấy phép

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

Creative Commons — Attribution — Share Alike

CC-BY-SA

Yêu cầu ghi công
Remix & phái sinh Được phép
Sử dụng thương mại Được phép

File mô hình

TẤT CẢ FILE MÔ HÌNH (1 Tập tin)
Đang tải files, vui lòng chờ...
Vui lòng đăng nhập để bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Vui lòng đăng nhập để khoe bản in của bạn.

Chưa có bản in nào được khoe. Hãy là người đầu tiên!

Remix (0)