parent
8647fc74fd
commit
5c5f62c582
23
README.html
23
README.html
@ -469,6 +469,29 @@ np.bincount(A) == C ?</p>
|
|||||||
<span class="keyword">print</span> <span class="name">np</span><span class="operator">.</span><span class="name">unpackbits</span><span class="punctuation">(</span><span class="name">I</span><span class="punctuation">[:,</span> <span class="name">np</span><span class="operator">.</span><span class="name">newaxis</span><span class="punctuation">],</span> <span class="name">axis</span><span class="operator">=</span><span class="literal number integer">1</span><span class="punctuation">)</span>
|
<span class="keyword">print</span> <span class="name">np</span><span class="operator">.</span><span class="name">unpackbits</span><span class="punctuation">(</span><span class="name">I</span><span class="punctuation">[:,</span> <span class="name">np</span><span class="operator">.</span><span class="name">newaxis</span><span class="punctuation">],</span> <span class="name">axis</span><span class="operator">=</span><span class="literal number integer">1</span><span class="punctuation">)</span>
|
||||||
</pre>
|
</pre>
|
||||||
</li>
|
</li>
|
||||||
|
<li><p class="first">Consider 2 sets of points P0,P1 describing lines (2d) and a point p, how to
|
||||||
|
compute distance from p to each line i (P0[i],P1[i]) ?</p>
|
||||||
|
<pre class="code python literal-block">
|
||||||
|
<span class="keyword">def</span> <span class="name function">distance</span><span class="punctuation">(</span><span class="name">P0</span><span class="punctuation">,</span> <span class="name">P1</span><span class="punctuation">,</span> <span class="name">p</span><span class="punctuation">):</span>
|
||||||
|
<span class="name">T</span> <span class="operator">=</span> <span class="name">P1</span> <span class="operator">-</span> <span class="name">P0</span>
|
||||||
|
<span class="name">L</span> <span class="operator">=</span> <span class="punctuation">(</span><span class="name">T</span><span class="operator">**</span><span class="literal number integer">2</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">sum</span><span class="punctuation">(</span><span class="name">axis</span><span class="operator">=</span><span class="literal number integer">1</span><span class="punctuation">)</span>
|
||||||
|
<span class="name">U</span> <span class="operator">=</span> <span class="operator">-</span><span class="punctuation">((</span><span class="name">P0</span><span class="punctuation">[:,</span><span class="literal number integer">0</span><span class="punctuation">]</span><span class="operator">-</span><span class="name">p</span><span class="punctuation">[</span><span class="literal number integer">0</span><span class="punctuation">])</span><span class="operator">*</span><span class="name">T</span><span class="punctuation">[:,</span><span class="literal number integer">0</span><span class="punctuation">]</span> <span class="operator">+</span> <span class="punctuation">(</span><span class="name">P0</span><span class="punctuation">[:,</span><span class="literal number integer">1</span><span class="punctuation">]</span><span class="operator">-</span><span class="name">p</span><span class="punctuation">[</span><span class="literal number integer">1</span><span class="punctuation">])</span><span class="operator">*</span><span class="name">T</span><span class="punctuation">[:,</span><span class="literal number integer">1</span><span class="punctuation">])</span> <span class="operator">/</span> <span class="name">L</span>
|
||||||
|
<span class="name">U</span> <span class="operator">=</span> <span class="name">U</span><span class="operator">.</span><span class="name">reshape</span><span class="punctuation">(</span><span class="name builtin">len</span><span class="punctuation">(</span><span class="name">U</span><span class="punctuation">),</span><span class="literal number integer">1</span><span class="punctuation">)</span>
|
||||||
|
<span class="name">D</span> <span class="operator">=</span> <span class="name">P0</span> <span class="operator">+</span> <span class="name">U</span><span class="operator">*</span><span class="name">T</span> <span class="operator">-</span> <span class="name">p</span>
|
||||||
|
<span class="keyword">return</span> <span class="name">np</span><span class="operator">.</span><span class="name">sqrt</span><span class="punctuation">((</span><span class="name">D</span><span class="operator">**</span><span class="literal number integer">2</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">sum</span><span class="punctuation">(</span><span class="name">axis</span><span class="operator">=</span><span class="literal number integer">1</span><span class="punctuation">))</span>
|
||||||
|
|
||||||
|
<span class="name">P0</span> <span class="operator">=</span> <span class="name">np</span><span class="operator">.</span><span class="name">random</span><span class="operator">.</span><span class="name">uniform</span><span class="punctuation">(</span><span class="operator">-</span><span class="literal number integer">10</span><span class="punctuation">,</span><span class="literal number integer">10</span><span class="punctuation">,(</span><span class="literal number integer">100</span><span class="punctuation">,</span><span class="literal number integer">2</span><span class="punctuation">))</span>
|
||||||
|
<span class="name">P1</span> <span class="operator">=</span> <span class="name">np</span><span class="operator">.</span><span class="name">random</span><span class="operator">.</span><span class="name">uniform</span><span class="punctuation">(</span><span class="operator">-</span><span class="literal number integer">10</span><span class="punctuation">,</span><span class="literal number integer">10</span><span class="punctuation">,(</span><span class="literal number integer">100</span><span class="punctuation">,</span><span class="literal number integer">2</span><span class="punctuation">))</span>
|
||||||
|
<span class="name">p</span> <span class="operator">=</span> <span class="name">np</span><span class="operator">.</span><span class="name">random</span><span class="operator">.</span><span class="name">uniform</span><span class="punctuation">(</span><span class="operator">-</span><span class="literal number integer">10</span><span class="punctuation">,</span><span class="literal number integer">10</span><span class="punctuation">,(</span> <span class="literal number integer">1</span><span class="punctuation">,</span><span class="literal number integer">2</span><span class="punctuation">))</span>
|
||||||
|
<span class="keyword">print</span> <span class="name">distance</span><span class="punctuation">(</span><span class="name">P0</span><span class="punctuation">,</span> <span class="name">P1</span><span class="punctuation">,</span> <span class="name">p</span><span class="punctuation">)</span>
|
||||||
|
</pre>
|
||||||
|
</li>
|
||||||
|
<li><p class="first">Consider 2 sets of points P0,P1 describing lines (2d) and a set of point P,
|
||||||
|
how to compute distance from each point j (P[j]) to each line i (P0[i],P1[i]) ?</p>
|
||||||
|
<pre class="code python literal-block">
|
||||||
|
<span class="name">Answer</span> <span class="name">needed</span> <span class="name">actually</span>
|
||||||
|
</pre>
|
||||||
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="adept">
|
<div class="section" id="adept">
|
||||||
|
27
README.rst
27
README.rst
@ -560,6 +560,33 @@ Artisan
|
|||||||
print np.unpackbits(I[:, np.newaxis], axis=1)
|
print np.unpackbits(I[:, np.newaxis], axis=1)
|
||||||
|
|
||||||
|
|
||||||
|
3. Consider 2 sets of points P0,P1 describing lines (2d) and a point p, how to
|
||||||
|
compute distance from p to each line i (P0[i],P1[i]) ?
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
def distance(P0, P1, p):
|
||||||
|
T = P1 - P0
|
||||||
|
L = (T**2).sum(axis=1)
|
||||||
|
U = -((P0[:,0]-p[0])*T[:,0] + (P0[:,1]-p[1])*T[:,1]) / L
|
||||||
|
U = U.reshape(len(U),1)
|
||||||
|
D = P0 + U*T - p
|
||||||
|
return np.sqrt((D**2).sum(axis=1))
|
||||||
|
|
||||||
|
P0 = np.random.uniform(-10,10,(100,2))
|
||||||
|
P1 = np.random.uniform(-10,10,(100,2))
|
||||||
|
p = np.random.uniform(-10,10,( 1,2))
|
||||||
|
print distance(P0, P1, p)
|
||||||
|
|
||||||
|
|
||||||
|
4. Consider 2 sets of points P0,P1 describing lines (2d) and a set of point P,
|
||||||
|
how to compute distance from each point j (P[j]) to each line i (P0[i],P1[i]) ?
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
Answer needed actually
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Adept
|
Adept
|
||||||
=====
|
=====
|
||||||
|
Loading…
Reference in New Issue
Block a user