[Arc] improve some variable names
This commit is contained in:
		
							parent
							
								
									0e34242ba5
								
							
						
					
					
						commit
						c74573e7dd
					
				| @ -246,13 +246,13 @@ class Arc(Shape): | |||||||
| 
 | 
 | ||||||
|         def get_arclens(n_pts: int, a0: float, a1: float, dr: float) -> tuple[NDArray[numpy.float64], NDArray[numpy.float64]]: |         def get_arclens(n_pts: int, a0: float, a1: float, dr: float) -> tuple[NDArray[numpy.float64], NDArray[numpy.float64]]: | ||||||
|             """ Get `n_pts` arclengths """ |             """ Get `n_pts` arclengths """ | ||||||
|             t, dt = numpy.linspace(a0, a1, n_pts, retstep=True)  # NOTE: could probably use an adaptive number of points |             tt, dt = numpy.linspace(a0, a1, n_pts, retstep=True)  # NOTE: could probably use an adaptive number of points | ||||||
|             r0sin = (r0 + dr) * numpy.sin(t) |             r0sin = (r0 + dr) * numpy.sin(tt) | ||||||
|             r1cos = (r1 + dr) * numpy.cos(t) |             r1cos = (r1 + dr) * numpy.cos(tt) | ||||||
|             arc_dl = numpy.sqrt(r0sin * r0sin + r1cos * r1cos) |             arc_dl = numpy.sqrt(r0sin * r0sin + r1cos * r1cos) | ||||||
|             #arc_lengths = numpy.diff(t) * (arc_dl[1:] + arc_dl[:-1]) / 2 |             #arc_lengths = numpy.diff(tt) * (arc_dl[1:] + arc_dl[:-1]) / 2 | ||||||
|             arc_lengths = (arc_dl[1:] + arc_dl[:-1]) * numpy.abs(dt) / 2 |             arc_lengths = (arc_dl[1:] + arc_dl[:-1]) * numpy.abs(dt) / 2 | ||||||
|             return arc_lengths, t |             return arc_lengths, tt | ||||||
| 
 | 
 | ||||||
|         wh = self.width / 2.0 |         wh = self.width / 2.0 | ||||||
|         if num_vertices is not None: |         if num_vertices is not None: | ||||||
| @ -325,7 +325,7 @@ class Arc(Shape): | |||||||
| 
 | 
 | ||||||
|         mins = [] |         mins = [] | ||||||
|         maxs = [] |         maxs = [] | ||||||
|         for a, sgn in zip(a_ranges, (-1, +1), strict=True): |         for aa, sgn in zip(a_ranges, (-1, +1), strict=True): | ||||||
|             wh = sgn * self.width / 2 |             wh = sgn * self.width / 2 | ||||||
|             rx = self.radius_x + wh |             rx = self.radius_x + wh | ||||||
|             ry = self.radius_y + wh |             ry = self.radius_y + wh | ||||||
| @ -336,13 +336,13 @@ class Arc(Shape): | |||||||
|                 maxs.append([0, 0]) |                 maxs.append([0, 0]) | ||||||
|                 continue |                 continue | ||||||
| 
 | 
 | ||||||
|             a0, a1 = a |             a0, a1 = aa | ||||||
|             a0_offset = a0 - (a0 % (2 * pi)) |             a0_offset = a0 - (a0 % (2 * pi)) | ||||||
| 
 | 
 | ||||||
|             sin_r = numpy.sin(self.rotation) |             sin_r = numpy.sin(self.rotation) | ||||||
|             cos_r = numpy.cos(self.rotation) |             cos_r = numpy.cos(self.rotation) | ||||||
|             sin_a = numpy.sin(a) |             sin_a = numpy.sin(aa) | ||||||
|             cos_a = numpy.cos(a) |             cos_a = numpy.cos(aa) | ||||||
| 
 | 
 | ||||||
|             # Cutoff angles |             # Cutoff angles | ||||||
|             xpt = (-self.rotation) % (2 * pi) + a0_offset |             xpt = (-self.rotation) % (2 * pi) + a0_offset | ||||||
| @ -436,15 +436,15 @@ class Arc(Shape): | |||||||
| 
 | 
 | ||||||
|         mins = [] |         mins = [] | ||||||
|         maxs = [] |         maxs = [] | ||||||
|         for a, sgn in zip(a_ranges, (-1, +1), strict=True): |         for aa, sgn in zip(a_ranges, (-1, +1), strict=True): | ||||||
|             wh = sgn * self.width / 2 |             wh = sgn * self.width / 2 | ||||||
|             rx = self.radius_x + wh |             rx = self.radius_x + wh | ||||||
|             ry = self.radius_y + wh |             ry = self.radius_y + wh | ||||||
| 
 | 
 | ||||||
|             sin_r = numpy.sin(self.rotation) |             sin_r = numpy.sin(self.rotation) | ||||||
|             cos_r = numpy.cos(self.rotation) |             cos_r = numpy.cos(self.rotation) | ||||||
|             sin_a = numpy.sin(a) |             sin_a = numpy.sin(aa) | ||||||
|             cos_a = numpy.cos(a) |             cos_a = numpy.cos(aa) | ||||||
| 
 | 
 | ||||||
|             # arc endpoints |             # arc endpoints | ||||||
|             xn, xp = sorted(rx * cos_r * cos_a - ry * sin_r * sin_a) |             xn, xp = sorted(rx * cos_r * cos_a - ry * sin_r * sin_a) | ||||||
| @ -462,19 +462,19 @@ class Arc(Shape): | |||||||
|             "Eccentric anomaly" parameter ranges for the inner and outer edges, in the form |             "Eccentric anomaly" parameter ranges for the inner and outer edges, in the form | ||||||
|                    `[[a_min_inner, a_max_inner], [a_min_outer, a_max_outer]]` |                    `[[a_min_inner, a_max_inner], [a_min_outer, a_max_outer]]` | ||||||
|         """ |         """ | ||||||
|         a = [] |         aa = [] | ||||||
|         for sgn in (-1, +1): |         for sgn in (-1, +1): | ||||||
|             wh = sgn * self.width / 2.0 |             wh = sgn * self.width / 2.0 | ||||||
|             rx = self.radius_x + wh |             rx = self.radius_x + wh | ||||||
|             ry = self.radius_y + wh |             ry = self.radius_y + wh | ||||||
| 
 | 
 | ||||||
|             a0, a1 = (numpy.arctan2(rx * numpy.sin(a), ry * numpy.cos(a)) for a in self.angles) |             a0, a1 = (numpy.arctan2(rx * numpy.sin(ai), ry * numpy.cos(ai)) for ai in self.angles) | ||||||
|             sign = numpy.sign(self.angles[1] - self.angles[0]) |             sign = numpy.sign(self.angles[1] - self.angles[0]) | ||||||
|             if sign != numpy.sign(a1 - a0): |             if sign != numpy.sign(a1 - a0): | ||||||
|                 a1 += sign * 2 * pi |                 a1 += sign * 2 * pi | ||||||
| 
 | 
 | ||||||
|             a.append((a0, a1)) |             aa.append((a0, a1)) | ||||||
|         return numpy.array(a, dtype=float) |         return numpy.array(aa, dtype=float) | ||||||
| 
 | 
 | ||||||
|     def __repr__(self) -> str: |     def __repr__(self) -> str: | ||||||
|         angles = f' a°{numpy.rad2deg(self.angles)}' |         angles = f' a°{numpy.rad2deg(self.angles)}' | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user