⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transforms 变换.htm

📁 此文件是微软MSDN中d3d部分资料的翻译文件
💻 HTM
📖 第 1 页 / 共 5 页
字号:
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 1"><A 
name=旋转><B><SPAN 
style="FONT-SIZE: 24pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-font-kerning: 18.0pt">旋转<SPAN 
lang=EN-US><o:p></o:p></SPAN></SPAN></B></A></P><SPAN 
style="mso-bookmark: 旋转"></SPAN>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><SPAN lang=EN-US 
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">
<HR align=center width="100%" SIZE=1>
</SPAN></DIV>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN 
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">这里描述的变换是基于左手坐标系的,也许和别处见到的变换矩阵不同。更多信息,请参阅<U>三维坐标系</U>。<SPAN 
lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN 
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">以下变换将点(<SPAN 
lang=EN-US>x,y,z)围绕x轴旋转,产生新的点(x',y',z')。<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN lang=EN-US 
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><!--[if gte vml 1]><v:shape 
id=_x0000_i1067 style="WIDTH: 207pt; HEIGHT: 75.75pt" type = "#_x0000_t75" 
coordsize = "21600,21600"><v:imagedata o:title="matxrot" src = 
"Transform_files/image006.gif"></v:imagedata></v:shape><![endif]--><![if !vml]><img border=0 width=276 height=101
src="Transform_files/image006.gif" v:shapes="_x0000_i1067"><![endif]><o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN 
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">以下变换将点围绕<SPAN 
lang=EN-US>y轴旋转。<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN lang=EN-US 
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><!--[if gte vml 1]><v:shape 
id=_x0000_i1068 style="WIDTH: 207pt; HEIGHT: 75.75pt" type = "#_x0000_t75" 
coordsize = "21600,21600"><v:imagedata o:title="matyrot" src = 
"Transform_files/image007.gif"></v:imagedata></v:shape><![endif]--><![if !vml]><img border=0 width=276 height=101
src="Transform_files/image007.gif" v:shapes="_x0000_i1068"><![endif]><o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN 
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">以下变换将点围绕<SPAN 
lang=EN-US>z轴旋转。<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN lang=EN-US 
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体"><!--[if gte vml 1]><v:shape 
id=_x0000_i1069 style="WIDTH: 207pt; HEIGHT: 75.75pt" type = "#_x0000_t75" 
coordsize = "21600,21600"><v:imagedata o:title="matzrot" src = 
"Transform_files/image008.gif"></v:imagedata></v:shape><![endif]--><![if !vml]><img border=0 width=276 height=101
src="Transform_files/image008.gif" v:shapes="_x0000_i1069"><![endif]><o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN 
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">在这些示例矩阵中,希腊字母(<SPAN 
lang=EN-US>θ)表示旋转的角度,以弧度为单位。当沿着旋转轴朝原点看时,角度以顺时针方向计量。<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN lang=EN-US 
style="FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体">C++应用程序可以用Direct3D扩展(D3DX)工具库提供的<U>D3DXMatrixRotationX</U>,<U>D3DXMatrixRotationX</U>和<U>D3DXMatrixRotationX</U>函数创建旋转矩阵。以下示例是<B>D3DXMatrixRotationX</B>函数的源码。<o:p></o:p></SPAN></P><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt">D3DXMATRIX* WINAPI D3DXMatrixRotationX<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=GramE>( D3DXMATRIX</SPAN> *<SPAN class=SpellE>pOut</SPAN>, float angle )<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt">{<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt">#if DBG<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=GramE>if(</SPAN>!<SPAN class=SpellE>pOut</SPAN>)<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=GramE>return</SPAN> NULL;<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt">#<SPAN class=SpellE>endif</SPAN><o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=GramE>float</SPAN> sin, <SPAN class=SpellE>cos</SPAN>;<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=SpellE>sincosf</SPAN>(angle, &amp;sin, &amp;<SPAN class=SpellE>cos</SPAN>);<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="COLOR: blue">//</SPAN><SPAN style="COLOR: green"> 计算角度的正弦和余弦值。</SPAN><o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=SpellE><SPAN class=GramE>pOut</SPAN></SPAN>-&gt;_11 = 1.0f; <SPAN class=SpellE>pOut</SPAN>-&gt;_12 =<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>0.0f;<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN><SPAN class=SpellE>pOut</SPAN>-&gt;_13 = 0.0f; <SPAN class=SpellE>pOut</SPAN>-&gt;_14 = 0.0f;<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=SpellE><SPAN class=GramE>pOut</SPAN></SPAN>-&gt;_21 = 0.0f; <SPAN class=SpellE>pOut</SPAN>-&gt;_22 =<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN class=SpellE>cos</SPAN>;<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=SpellE>pOut</SPAN>-&gt;_23 = sin;<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN class=SpellE>pOut</SPAN>-&gt;_24 = 0.0f;<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=SpellE><SPAN class=GramE>pOut</SPAN></SPAN>-&gt;_31 = 0.0f; <SPAN class=SpellE>pOut</SPAN>-&gt;_32 = -sin; <SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=SpellE>pOut</SPAN>-&gt;_33 = <SPAN class=SpellE>cos</SPAN>;<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN class=SpellE>pOut</SPAN>-&gt;_34 = 0.0f;<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=SpellE><SPAN class=GramE>pOut</SPAN></SPAN>-&gt;_41 = 0.0f; <SPAN class=SpellE>pOut</SPAN>-&gt;_42 =<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>0.0f;<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN><SPAN class=SpellE>pOut</SPAN>-&gt;_43 = 0.0f; <SPAN class=SpellE>pOut</SPAN>-&gt;_44 = 1.0f;<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN class=GramE>return</SPAN> <SPAN class=SpellE>pOut</SPAN>;<o:p></o:p></SPAN></PRE><PRE><SPAN lang=EN-US style="FONT-SIZE: 10pt">}<o:p></o:p></SPAN></PRE>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all">D3DXMATRIX* 
WINAPI D3DXMatrixRotationX<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>( D3DXMATRIX *pOut, float 
angle )<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all">{<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all">#if 
DBG<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>if(!pOut)<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>return NULL;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all">#endif<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>float sin, 
cos;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>sincosf(angle, &amp;sin, 
&amp;cos);<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN 
style="COLOR: blue">//</SPAN><SPAN style="COLOR: green"> Determine sin and cos 
of angle.</SPAN><o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>pOut-&gt;_11 = 1.0f; 
pOut-&gt;_12 =<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>0.0f;<SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>pOut-&gt;_13 = 0.0f; pOut-&gt;_14 
= 0.0f;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>pOut-&gt;_21 = 0.0f; 
pOut-&gt;_22 =<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>cos;<SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>pOut-&gt;_23 = sin;<SPAN 
style="mso-spacerun: yes">&nbsp; </SPAN>pOut-&gt;_24 = 
0.0f;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>pOut-&gt;_31 = 0.0f; 
pOut-&gt;_32 = -sin;<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
</SPAN>pOut-&gt;_33 = cos;<SPAN style="mso-spacerun: yes">&nbsp; 
</SPAN>pOut-&gt;_34 = 0.0f;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>pOut-&gt;_41 = 0.0f; 
pOut-&gt;_42 =<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>0.0f;<SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>pOut-&gt;_43 = 0.0f; pOut-&gt;_44 
= 1.0f;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN 
lang=EN-US 
style="DISPLAY: none; FONT-SIZE: 13pt; FONT-FAMILY: 宋体; mso-fareast-language: ZH-CN; mso-bidi-font-family: 宋体; mso-hide: all"><o:p>&nbsp;</o:p></SPAN></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -