2009-01-11 49 views

Trả lời

42

Một lựa chọn khác là đặt edgeColor và/hoặc lineStyle thuộc tính của đối tượng xử lý bề mặt là không có.

>> hSurf = surf(X,Y,Z,'EdgeColor','none','LineStyle','none','FaceLighting','phong'); 
+0

nó đã hoạt động! thanks –

10

Lệnh bóng là bạn của bạn:

bóng phẳng - mang đến cho bạn bề mặt mà không cần dòng lưới

che interp - nội suy màu sắc giữa các bản vá lỗi để đưa ra một kết thúc mịn

bóng sắc cạnh - mang đến cho bạn bề mặt với các đường lưới màu đen (tương tự như phẳng)

+0

Tôi đã thực hiện căn hộ tô bóng trước lệnh lướt sóng, nhưng tôi thấy không có sự khác biệt. Tại sao vậy? –

+1

Bạn cần thực thi nó sau lệnh lướt sóng, có thể có cách thiết lập độ bóng mặc định cho một hình mới, nhưng tôi không biết nó là gì. –

16

Đây là giải pháp tổng quát hơn, bạn có thể thay đổi edgeColor sau khi bề mặt đã được tạo. Nó không dựa vào LineStyle và FaceLighting.

a= peaks(1000); 
h = surf(a) 
set(h, ‘edgecolor’,'none’) 

Lưu ý, tôi đã tạo video thứ 45 cho biết điều này xảy ra và cách khắc phục sự cố.

http://blogs.mathworks.com/videos/2008/08/13/matlab-basics-setting-edge-color-for-large-surface-plots/

+0

Phương pháp này cũng hoạt động cho surfl (..). –

3

Tôi tin shading interp là một trong những bạn đang tìm kiếm.

Các vấn đề liên quan