📄 clipline.html
字号:
<html><head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> <title>clipline.m</title><link rel="stylesheet" type="text/css" href="../../m-syntax.css"></head><body><code><span class=defun_kw>function</span> <span class=defun_out>[x1,y1,x2,y2,inside] </span>= <span class=defun_name>clipline</span>(<span class=defun_in>W,b,window</span>)<br><span class=h1>% CLIPLINE clips line into given window.</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Synopsis:</span></span><br><span class=help>% [x1,y1,x2,y2,inside] = clipline(W,b,window)</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Description:</span></span><br><span class=help>% This function returns 2d points (x1,y1) and (x2,y2) </span><br><span class=help>% of a line segment given by line</span><br><span class=help>% W'*x + b = 0</span><br><span class=help>%</span><br><span class=help>% clipped to the given window.</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Input:</span></span><br><span class=help>% W [2x1] Normal of line.</span><br><span class=help>% b [1x1] Line threshold.</span><br><span class=help>% window [4x1] Contains [left right top bottom].</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Output:</span></span><br><span class=help>% x1 [1x1], y1 [1x1] The first point of line segment.</span><br><span class=help>% x2 [1x1], y2 [1x1] The second point of line segment.</span><br><span class=help>% inside [1x1] 1 if line W'*x+b=0 intersects the window. </span><br><span class=help>% </span><br><span class=help>% <span class=help_field>Example:</span></span><br><span class=help>% figure; hold on;</span><br><span class=help>% axis([-1 1 -1 1]);</span><br><span class=help>% window = 0.5*axis;</span><br><span class=help>% [x1,y1,x2,y2]=clipline([-1;1],0,window);</span><br><span class=help>% plot([x1 x2],[y1 y2]);</span><br><span class=help>%</span><br><hr><span class=help1>% <span class=help1_field>About:</span> Statistical Pattern Recognition Toolbox</span><br><span class=help1>% (C) 1999-2003, Written by Vojtech Franc and Vaclav Hlavac</span><br><span class=help1>% <a href="http://www.cvut.cz">Czech Technical University Prague</a></span><br><span class=help1>% <a href="http://www.feld.cvut.cz">Faculty of Electrical Engineering</a></span><br><span class=help1>% <a href="http://cmp.felk.cvut.cz">Center for Machine Perception</a></span><br><br><span class=help1>% <span class=help1_field>Modifications:</span></span><br><span class=help1>% 30-apr-2004, VF</span><br><br><br><hr>theta = -b;<br>alpha = W;<br>minx=window(1);<br>maxx=window(2);<br>miny=window(3);<br>maxy=window(4);<br><br>x=zeros(4,1);<br>y=zeros(4,1);<br><br><span class=keyword>if</span> alpha(1)==0,<br> <span class=keyword>if</span> alpha(2)~=0,<br> x1=minx;<br> y1=theta/alpha(2);<br> x2=maxx;<br> y2=y1;<br> inside=1;<br> <span class=keyword>else</span><br> <span class=comment>% if alpha == 0 then it means the bad input.</span><br> x1=0;<br> y1=0;<br> x2=0;<br> y2=0;<br> inside=0;<br> <span class=keyword>end</span><br><span class=keyword>elseif</span> alpha(2)==0,<br> x1=theta/alpha(1);<br> y1=miny;<br> x2=x1;<br> y2=maxy;<br> inside=1;<br><span class=keyword>else</span><br> y(1)=maxy;<br> x(1)=(theta-alpha(2)*y(1))/alpha(1);<br> y(2)=miny;<br> x(2)=(theta-alpha(2)*y(2))/alpha(1);<br><br> x(3)=maxx;<br> y(3)=(theta-alpha(1)*x(3))/alpha(2);<br> x(4)=minx;<br> y(4)=(theta-alpha(1)*x(4))/alpha(2);<br><br> j=0;<br> <span class=keyword>for</span> i=1:4,<br> <span class=keyword>if</span> x(i) <= maxx & x(i) >= minx & y(i) <= maxy & y(i) >= miny,<br> <span class=keyword>if</span> j==0,<br> j=j+1;<br> x1=x(i);<br> y1=y(i);<br> <span class=keyword>elseif</span> j==1,<br> j=j+1;<br> x2=x(i);<br> y2=y(i);<br> <span class=keyword>end</span><br> <span class=keyword>end</span><br> <span class=keyword>end</span><br><br> <span class=keyword>if</span> j<2,<br> x1=0;<br> y1=0;<br> x2=0;<br> y2=0;<br> inside=0;<br> <span class=keyword>else</span><br> inside=1;<br> <span class=keyword>end</span><br><span class=keyword>end</span> <span class=comment>% elseif alpha(2)==0</span><br> <br><span class=jump>return</span>; <br></code>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -