|
From: <md...@us...> - 2010-09-08 15:51:28
|
Revision: 8691
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8691&view=rev
Author: mdboom
Date: 2010-09-08 15:51:18 +0000 (Wed, 08 Sep 2010)
Log Message:
-----------
Another pass at fixing simplification.
Modified Paths:
--------------
branches/v1_0_maint/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.pdf
branches/v1_0_maint/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.png
branches/v1_0_maint/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.svg
branches/v1_0_maint/lib/matplotlib/tests/test_simplification.py
branches/v1_0_maint/src/path_converters.h
Modified: branches/v1_0_maint/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.pdf
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.png
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.svg
===================================================================
--- branches/v1_0_maint/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.svg 2010-09-08 14:32:17 UTC (rev 8690)
+++ branches/v1_0_maint/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.svg 2010-09-08 15:51:18 UTC (rev 8691)
@@ -11,12 +11,12 @@
<g id="figure1">
<g id="patch1">
<path style="fill: #ffffff; stroke: #ffffff; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M0.000000 432.000000L576.000000 432.000000L576.000000 0.000000
-L0.000000 0.000000L0.000000 432.000000"/>
+L0.000000 0.000000z"/>
</g>
<g id="axes1">
<g id="patch2">
<path style="fill: #ffffff; opacity: 1.000000" d="M72.000000 388.800000L518.400000 388.800000L518.400000 43.200000
-L72.000000 43.200000L72.000000 388.800000"/>
+L72.000000 43.200000z"/>
</g>
<g id="line2d1">
<defs>
@@ -25,9 +25,10 @@
</clipPath>
</defs><path style="fill: none; stroke: #0000ff; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#p50431ccdcb28178602d99d9270004dde)" d="M72.000000 388.800000L76.132389 388.704243L76.151520 388.455734
L76.157897 388.474541L76.170651 262.490246L76.177029 70.552590
-L76.272686 388.786908L76.629806 388.799881L221.059337 388.800000
-L485.704389 388.713691L485.729897 388.401770L485.736274 386.681411
-L485.755406 70.552590L485.844686 388.786149L486.182674 388.799863
+L76.183406 112.959876L76.183406 112.959876L76.298194 388.793604
+L77.114469 388.799987L485.704389 388.713691L485.729897 388.401770
+L485.736274 386.681411L485.755406 70.552590L485.768160 379.474263
+L485.768160 379.474263L485.882949 388.795086L487.018080 388.799995
L489.926057 388.800000L489.926057 388.800000"/>
</g>
<g id="matplotlib.axis1">
Modified: branches/v1_0_maint/lib/matplotlib/tests/test_simplification.py
===================================================================
--- branches/v1_0_maint/lib/matplotlib/tests/test_simplification.py 2010-09-08 14:32:17 UTC (rev 8690)
+++ branches/v1_0_maint/lib/matplotlib/tests/test_simplification.py 2010-09-08 15:51:18 UTC (rev 8691)
@@ -141,7 +141,7 @@
print len(simplified)
- assert len(simplified) == 17
+ assert len(simplified) == 20
def test_start_with_moveto():
# Should be entirely clipped away to a single MOVETO
@@ -212,8 +212,8 @@
@image_comparison(baseline_images=['para_equal_perp'])
def test_para_equal_perp():
- x = np.array([0, 1, 2, 1, 0, -1, 0, 1])
- y = np.array([1, 1, 2, 1, 0, -1, 0, 0])
+ x = np.array([0, 1, 2, 1, 0, -1, 0, 1] + [1] * 128)
+ y = np.array([1, 1, 2, 1, 0, -1, 0, 0] + [0] * 128)
fig = plt.figure()
ax = fig.add_subplot(111)
Modified: branches/v1_0_maint/src/path_converters.h
===================================================================
--- branches/v1_0_maint/src/path_converters.h 2010-09-08 14:32:17 UTC (rev 8690)
+++ branches/v1_0_maint/src/path_converters.h 2010-09-08 15:51:18 UTC (rev 8691)
@@ -520,7 +520,7 @@
m_moveto(true), m_after_moveto(false),
m_lastx(0.0), m_lasty(0.0), m_clipped(false),
m_origdx(0.0), m_origdy(0.0),
- m_origdNorm2(0.0), m_dnorm2Max(0.0), m_dnorm2Min(0.0),
+ m_origdNorm2(0.0), m_dnorm2Max(0.0),
m_lastMax(false), m_nextX(0.0), m_nextY(0.0),
m_lastWrittenX(0.0), m_lastWrittenY(0.0)
{
@@ -637,7 +637,6 @@
//set all the variables to reflect this new orig vector
m_dnorm2Max = m_origdNorm2;
- m_dnorm2Min = 0.0;
m_lastMax = true;
m_nextX = m_lastWrittenX = m_lastx = *x;
@@ -677,36 +676,25 @@
/* check if the current vector is parallel or
anti-parallel to the orig vector. If it is
parallel, test if it is the longest of the vectors
- we are merging in that direction. If anti-p, test
- if it is the longest in the opposite direction (the
- min of our final line) */
+ we are merging in that direction. */
double paradNorm2 = paradx * paradx + parady * parady;
- if (perpdNorm2 == paradNorm2) {
+ m_lastMax = false;
+ if (totdot > 0.0)
+ {
+ if (paradNorm2 > m_dnorm2Max)
+ {
+ m_lastMax = true;
+ m_dnorm2Max = paradNorm2;
+ m_nextX = *x;
+ m_nextY = *y;
+ }
+ }
+ else
+ {
_push(&m_lastx, &m_lasty);
_push(x, y);
break;
- } else {
- m_lastMax = false;
- if (totdot >= 0.0)
- {
- if (paradNorm2 > m_dnorm2Max)
- {
- m_lastMax = true;
- m_dnorm2Max = paradNorm2;
- m_nextX = *x;
- m_nextY = *y;
- }
- }
- else
- {
- if (paradNorm2 < m_dnorm2Min)
- {
- m_dnorm2Min = paradNorm2;
- m_nextX = *x;
- m_nextY = *y;
- }
- }
}
m_lastx = *x;
@@ -770,7 +758,6 @@
double m_origdy;
double m_origdNorm2;
double m_dnorm2Max;
- double m_dnorm2Min;
bool m_lastMax;
double m_nextX;
double m_nextY;
@@ -805,7 +792,6 @@
m_origdNorm2 = m_origdx * m_origdx + m_origdy * m_origdy;
m_dnorm2Max = m_origdNorm2;
- m_dnorm2Min = 0.0;
m_lastMax = true;
m_lastWrittenX = m_queue[m_queue_write-1].x;
m_lastWrittenY = m_queue[m_queue_write-1].y;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|