2011-10-07 15 views
8

में एक 3 डी प्लॉट में XY विमान पर एक छवि कृपया निम्नलिखित, निम्न सेप्लेस मेथेमेटिका

Can we generate "foveated Image" in Mathematica

Clear[acuity]; 

acuity[distance_, x_, y_, blindspotradius_] := 

With[{\[Theta] = ArcTan[distance, Sqrt[x^2 + y^2]]}, 
     Clip[([email protected][-Abs[\[Theta]]/(15. Degree)] - .05)/.95, 
        {0,1}] (1.-Boole[(x + 100.)^2 + y^2 <= blindspotradius^2])] 

Plot3D[acuity[250., x, y, 9], {x, -256, 256}, {y, -256, 256}, 
PlotRange -> All, Axes -> False, PlotPoints -> 40, 
ExclusionsStyle -> Automatic, Boxed -> False, Mesh -> None] 

enter image description here

से विचार करें मैं कैसे नीचे पर तस्वीर जोड़ सकते हैं एक्स & वाई विमान। फिर सतह पारदर्शी प्लॉट किया है। क्या यह संभव है? (ऊपर वर्णित प्रश्न में समाधान के साथ प्राप्त छवि)।

enter image description here

+0

मैंने उस तस्वीर को पहले देखा था ... इसे एक प्रसिद्ध फोटोग्राफर द्वारा लिया गया था ... उसका नाम क्या था? –

+1

हेनरी कार्टियर ब्रेसन, "सेविले" 1 9 33 :-) – 500

+0

धन्यवाद! गरीब स्पेनिश! –

उत्तर

10
i = Import["http://i.stack.imgur.com/0EizO.png"]; 
p = {{0, 0}, {1, 0}, {1, 1}, {0, 1}}; 
[email protected]{ 
    Plot3D[ 
    acuity[250., x, y, 9], {x, -256, 256}, {y, -256, 256}, 
    PlotRange -> All, PlotPoints -> 40,ExclusionsStyle -> Automatic,Axes -> False, 
    Boxed -> False, Mesh -> None, PlotStyle -> Directive[Opacity[0.5]]], 
    Graphics3D[{Texture[i], 
    Polygon[Join[#, {0}] & /@ (2 p - 1) 256, VertexTextureCoordinates -> p]} 
    ]} 

enter image description here

संपादित

AspectRatio [] के साथ काम, अपनी टिप्पणी में अनुरोध के रूप में:

p = {{0, 0}, {1, 0}, {1, 1}, {0, 1}}; 
r = [email protected]#/[email protected]# &@[email protected]@i; 
a = 1.4; 
[email protected]{Plot3D[ 
     acuity[250., a x, a y, 9], {x, -256 , 256 }, {y, -256 r , 256 r }, 
      PlotRange -> All, PlotPoints -> 40, ExclusionsStyle -> Automatic, 
      Axes -> False, Boxed -> False, Mesh -> None, 
      PlotStyle -> Directive[Opacity[0.5]], AspectRatio -> r], 
    Graphics3D[{Texture[i], 
      Polygon[{{-256 , -256 r, 0}, { 256 , -256 r , 0}, 
         { 256 , 256 r, 0}, {-256 , 256 r, 0}}, 
      VertexTextureCoordinates -> p]}]} 

enter image description here

+0

यह है! शुक्रिया शुक्रिया! – 500

+0

फिर से धन्यवाद। आपके पहले संस्करण में, चित्र अनुपात पर साजिश करने के लिए वैसे भी है? मैं 3 डी प्लॉट में प्लॉटरेंज को समझ नहीं सकता :-( – 500

+0

@ 500 मुझे यकीन नहीं है कि "चित्र अनुपात पर साजिश" से आपका क्या मतलब है। कृपया पुनः लिखें। :) –

संबंधित मुद्दे