Skip to content

Commit 12cc2fc

Browse files
committed
Simplify even more
svn path=/branches/transforms/; revision=4694
1 parent 157ff93 commit 12cc2fc

File tree

1 file changed

+17
-26
lines changed

1 file changed

+17
-26
lines changed

lib/matplotlib/path.py

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -440,20 +440,28 @@ def arc(cls, theta1, theta2, is_wedge=False, n=None):
440440
n = int(2 ** math.ceil((eta2 - eta1) / halfpi))
441441

442442
deta = (eta2 - eta1) / n
443-
etaB = eta1
443+
t = math.tan(0.5 * deta)
444+
alpha = math.sin(deta) * (math.sqrt(4.0 + 3.0 * t * t) - 1) / 3.0
445+
446+
steps = npy.linspace(eta1, eta2, n + 1, True)
447+
cos_eta = npy.cos(steps)
448+
sin_eta = npy.sin(steps)
449+
450+
xA = cos_eta[:-1]
451+
yA = sin_eta[:-1]
452+
xA_dot = -yA
453+
yA_dot = xA
444454

445-
cos_etaB = math.cos(etaB)
446-
sin_etaB = math.sin(etaB)
447-
xB = cos_etaB
448-
yB = sin_etaB
449-
xB_dot = -sin_etaB
450-
yB_dot = cos_etaB
455+
xB = cos_eta[1:]
456+
yB = sin_eta[1:]
457+
xB_dot = -yB
458+
yB_dot = xB
451459

452460
if is_wedge:
453461
length = n * 3 + 4
454462
vertices = npy.zeros((length, 2), npy.float_)
455463
codes = Path.CURVE4 * npy.ones((length, ), Path.code_type)
456-
vertices[1] = [xB, yB]
464+
vertices[1] = [xA[0], yA[0]]
457465
codes[0:2] = [Path.MOVETO, Path.LINETO]
458466
codes[-2:] = [Path.LINETO, Path.CLOSEPOLY]
459467
vertex_offset = 2
@@ -462,28 +470,11 @@ def arc(cls, theta1, theta2, is_wedge=False, n=None):
462470
length = n * 3 + 1
463471
vertices = npy.zeros((length, 2), npy.float_)
464472
codes = Path.CURVE4 * npy.ones((length, ), Path.code_type)
465-
vertices[0] = [xB, yB]
473+
vertices[0] = [xA[0], yA[0]]
466474
codes[0] = Path.MOVETO
467475
vertex_offset = 1
468476
end = length
469477

470-
t = math.tan(0.5 * deta)
471-
alpha = math.sin(deta) * (math.sqrt(4.0 + 3.0 * t * t) - 1) / 3.0
472-
473-
steps = npy.linspace(eta1, eta2, n + 1, True)
474-
cos_eta = npy.cos(steps)
475-
sin_eta = npy.sin(steps)
476-
477-
xA = cos_eta[:-1]
478-
yA = sin_eta[:-1]
479-
xA_dot = -yA
480-
yA_dot = xA
481-
482-
xB = cos_eta[1:]
483-
yB = sin_eta[1:]
484-
xB_dot = -yB
485-
yB_dot = xB
486-
487478
vertices[vertex_offset :end:3, 0] = xA + alpha * xA_dot
488479
vertices[vertex_offset :end:3, 1] = yA + alpha * yA_dot
489480
vertices[vertex_offset+1:end:3, 0] = xB - alpha * xB_dot

0 commit comments

Comments
 (0)