2012-03-23 24 views
5

टेक्स्ट (x, y, z, 'text') में टेक्स्ट को साजिश कैसे करें 3 डी स्पेस में काम करता है हालांकि यह 3 डी नहीं है। Matlab में एक साधारण 3 डी पाठ को साजिश करने का कोई तरीका है, इस तरह के रूप में सरल: the textमैटलैब: 3 डी

मुझे छाया में 3 आयाम जोड़ने में सक्षम होने के लिए छाया या प्रतिपादन की आवश्यकता नहीं है।

उत्तर

6

टेक्स्ट का उपयोग करके ऐसा करने का कोई तरीका नहीं है। आपको छवि टेक्स्ट और texture map 2-डी छवि 3-D surface पर होना चाहिए। डिफ़ॉल्ट ग्राफिक्स कुल्हाड़ियों में गाया जाता है के द्वारा एक वर्तनी विषयक प्रक्षेपण का उपयोग कर, इसलिए परिप्रेक्ष्य बनाने के लिए के रूप में आप अपनी छवि में है ऊपर आप या तो करना होगा:

  1. कृत्रिम पर सतह के एक तरफ की लंबाई सिकुड़ने से इसे बनाने के जो छवि बनावट-मैप की गई है।
  2. Adjust the view projection of the axes

उपरोक्त को चित्रित करने के लिए यहां कुछ नमूना कोड दिया गया है। मैं एक नमूना पाठ छवि बना कर शुरूआत करेंगे:

hFigure = figure('Color', 'w', ...  %# Create a figure window 
       'MenuBar', 'none', ... 
       'ToolBar', 'none'); 
hText = uicontrol('Parent', hFigure, ... %# Create a text object 
        'Style', 'text', ... 
        'String', 'PHOTOSHOP', ... 
        'BackgroundColor', 'w', ... 
        'ForegroundColor', 'r', ... 
        'FontSize', 50, ... 
        'FontWeight', 'bold'); 
set([hText hFigure], 'Pos', get(hText, 'Extent')); %# Adjust the sizes of the 
                %# text and figure 
imageData = getframe(hFigure); %# Save the figure as an image frame 
delete(hFigure); 
textImage = imageData.cdata; %# Get the RGB image of the text 

अब जब हम पाठ हम चाहते हैं की एक छवि है, यहाँ है आप कैसे एक 3 डी सतह पर बनावट नक्शे यह और समायोजित कर सकते हैं दृश्य प्रक्षेपण:

surf([0 1; 0 1], [1 0; 1 0], [1 1; 0 0], ... 
    'FaceColor', 'texturemap', 'CData', textImage); 
set(gca, 'Projection', 'perspective', 'CameraViewAngle', 45, ... 
    'CameraPosition', [0.5 -1 0.5], 'Visible', 'off'); 

और यहाँ जिसके परिणामस्वरूप छवि है:

enter image description here

+0

धन्यवाद, है मैं –

+0

वाह, अच्छा समाधान के लिए देख रहा था था .... – ConfusinglyCuriousTheThird