Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
haimed

Tính diện tích tạo nên từ những vùng giao nhau giữa 2 đường polyline

Các bài được khuyến nghị

ThuyLinh313    146

Việc tính toán diện tích dựa vào lệnh Area hoặc dựa vào diện tích của đối tượng hatch gặp nhiều rủi ro. Với các hình không chứa các phân đoạn cong thì không nên sử dụng. Có thể coi bài toán trên là bài toán tính diện tích hình đa giác. Chia nhỏ đa giác thành các tam giác nhỏ để tính.

Với nhu cầu thông thường như hình 2 (diện tích giật cấp mái taluy) là tính diện tích 1 đa giác không tự cắt thì bạn có thể sử dụng hàm này của mình. trong đó lst là danh sách tọa độ điểm theo thứ tự đỉnh của đa giác. Hàm trả về giá trị âm nếu danh sách điểm lst theo chiều kim đồng hồ và ngược lại.

(defun Get-Area (lst / dt i)
(setq dt 0.0 i 0 lis (append lis (list (car lst))))
(repeat (1- (length lst))
 (setq dt (+ dt (- (* (car (nth i lst)) (cadr (nth (1+ i) lst)))
                     (* (cadr (nth i lst)) (car (nth (setq i (1+ i)) lst)))))))
(* dt 0.5))

Nếu muốn tính diện tích đa giác tự cắt (như hình 1) thì bạn cần kiểm tra điều kiện tự cắt của đa giác và lấy ra danh sách các điểm tự cắt của nó. tại mỗi điểm tự cắt diện tích các tam giác con sẽ đổi dấu. dựa vào hàm trên bạn có thể tự xây dựng hàm tổng quát cho mình để dùng được cả với đa giác tự cắt.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Các huynh cho hỏi, Trường hợp đặc biệt là có 2 hình tròn hay hình bất kỹ, một cái lớn, một cái bé. cái bé nằm trong cái lớn, vậy có lisp nào tính diện tích khoảng giữa 2 hình đó không nhỉ. VD như tính diện tích thành ống trên mặt cắt ngang chẳng hạn. Thank

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
trieubb    5

Với bài toán rõ ràng như thế bạn nên hatch và đọc property Area của Hatch

Vâng bạn, vấn đề là bản vẽ rất nhiều, nên làm thủ công như vậy thì chết

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

7 năm rồi mà không có cao thủ nào dứt điểm cái LISP này sao

Hì Bạn đã thật sự chờ 7 năm cơ à :)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Nếu vẫn còn làm công việc đó Bạn vào đây xem sao nhé!

Do nghề mình cũng hay đụng vấn đề này nên "Thấy hay là làm"

(à mình lấy ý tưởng từ pfievxd)

 

https://www.facebook.com/huy.duongtrung/videos/721324744718032/?l=6051686449029806241

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
trieubb    5

Nếu vẫn còn làm công việc đó Bạn vào đây xem sao nhé!

Do nghề mình cũng hay đụng vấn đề này nên "Thấy hay là làm"

(à mình lấy ý tưởng từ pfievxd)

 

https://www.facebook.com/huy.duongtrung/videos/721324744718032/?l=6051686449029806241

sao không có lisp nhỉ bạn

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×