2012-02-28 27 views
8

Trong dự án MATLAB GUI hiện tại của tôi, tôi có hai đối tượng trục. Việc đầu tiên được sử dụng bởi workaround "uibutton" (Tôi không sử dụng GUIDE) để hiển thị công thức LaTeX (theo như tôi biết, chỉ các nhãn rìu có khả năng sử dụng LaTeX trong khi các trường văn bản tĩnh bình thường không ...). Đối tượng trục khác được sử dụng để vẽ một hàm 3D.Làm thế nào để ngăn chặn nhãn LATEX trong MATLAB GUI trở nên mờ?

Chương trình có các bước sau:

  1. các trục đầu tiên creats các LATEX-công thức (ví dụ f (x) =).
  2. Người dùng nhập hàm trong trường chỉnh sửa sau công thức LaTeX (ví dụ: f (x) = a + b).
  3. Người dùng nhấn nút "lô".
  4. Chức năng 3D được vẽ trong đối tượng trục thứ hai.

Vấn đề:

Ngay khi 3D-hàm được âm mưu, sự độc đáo render LaTeX-công thức trở nên rõ nét. Có cách nào để ngăn chặn điều này xảy ra không?

Problem Demonstration

http://i42.tinypic.com/348pq2u.png (Xem ảnh cho vấn đề trình diễn)

+0

dieterw, câu hỏi thú vị! Tất cả tôi có thể cung cấp là bạn có thể tải lên hình ảnh của bạn trực tiếp trong SO nếu bạn muốn. – macduff

+0

hey macduff, cảm ơn bạn đã phản hồi nhanh. vâng, tôi cũng nghĩ về điều đó, nhưng vấn đề là, các hình ảnh sẽ trở thành pixelated nếu người dùng thay đổi kích thước cửa sổ. Điều này sẽ không xảy ra, nếu những phông chữ LaTeX này được hiển thị lại khi thay đổi kích thước. – dieterw

+0

wow! lý luận tuyệt vời! Tôi nghĩ bạn sẽ đi xa trên SO! – macduff

Trả lời

2

Kiểm tra thuộc tính nhân vật của bạn trước và sau khi bạn vẽ cốt truyện 3D

get(gcf, 'renderer') 

tôi đoán là âm mưu thực hiện chức năng 3D thay đổi trình kết xuất đồ họa mặc định ("họa sĩ") cho người khác (có thể là OpenGL). Matlab của Latex rendering dường như không chơi tốt với zbuffer hoặc OpenGL (những bitmap sản xuất hơn là nghệ thuật dòng).

Bạn có thể bị mắc kẹt nếu họa sĩ không thể render đồ họa 3D của bạn đúng, nhưng bạn có thể cố gắng ép buộc nó bằng cách thiết lập các renderer tay lại để họa sĩ

set(gcf, 'renderer', 'painters') 
+0

cảm ơn câu trả lời. tôi đã thử điều đó và thực sự, bằng cách buộc các trình vẽ họa sĩ, các phông chữ LaTeX vẫn mượt mà nhưng như bạn đã đoán, hình 3D không thể được hiển thị đúng cách. Vì không thể đặt các bộ kết xuất khác nhau cho một trục/hình, ý tưởng của tôi là xác định hai số liệu khác nhau (một với nhãn LaTeX và một với ô 3D) trong một cửa sổ và đặt các bộ kết xuất khác nhau cho mỗi hình. Tôi phải thử điều đó, nhưng có lẽ ngày mai. Hoặc là nó thậm chí có thể? – dieterw

+1

@dieterw Tôi thấy rằng nếu bạn cần số liệu xuất bản từ MATLAB và bạn đang kết hợp nghệ thuật và bản vá, bạn thường phải tạo từng thành phần riêng lẻ và sau đó kết hợp chúng trong một chương trình đồ họa, như Adobe Illustrator. Ở đây, bạn cũng có thể chỉ cần thêm văn bản của bạn trực tiếp trong Illustrator sau đó. – Marc

+0

rất thông tin. tôi đoán dòng nghệ thuật bằng 2D-lô và các bản vá lỗi bằng 3D-lô? Vấn đề là chương trình này tôi đã viết được sử dụng để trình diễn trực tiếp một số chức năng kinh tế vi mô mà giáo sư của tôi có thể thay đổi các tham số ở một bên (do đó là nhãn LaTeX) và xem biểu đồ 3D ở phía bên kia. Nếu tôi xuất bản cả trong tài liệu, cách của bạn sẽ là cách tốt nhất tôi đoán. – dieterw

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