Problem

A given ring segment of a circle segment has to be drawn by a polygon with rounded edges. Bases on this ArchiTalk-Thread: Complex poly math question.

Known distances:
r1: Inner Radius of the segment
alpha: width of the ring in degrees
d: Distance of inner and outer arc
f: Radius of the rounding circles

Solution

There is a inner dependece between the tnagential connection points, the radius f and the segment itself. See:

Script

!»» environment calculations

r2 = r1 + d
L1 = sqr(r1) * sqr(2*f+r1) - R1
L2 = r2 - sqr(r2^2-2*f*r2)
u = atn(f/(r2-L2))
w = atn(f/(r1+L1))

!»» coordinate calculation

x1=r1+L1 : y1=0
x2=f/tan(u) : y2=0
x3=r2*cos(u) : y3=f*r2/(r2-f)
x4=r2*cos(alpha-u) : y4=r2*sin(alpha-u)
x5=(r2-L2)*cos(alpha) : y5=(r2-L2)*sin(alpha)
x6=(r1+L1)*cos(alpha) : y6=(r1+L1)*sin(alpha)
x7=r1*cos(alpha-w) : y7=r1*sin(alpha-w)
x8=r1*cos(w) : y8=f*r1/(r1+f)

!»» output in 2D

poly2_ 9,7,
 x1, y1, 1,
 x2, y2, 1,
 x3, y3, 1001,
 x4, y4, 1001,
 x5, y5, 1001,
 x6, y6, 1,
 x7, y7, 1001,
 x8, y8, 1001,
 x1, y1, 1001

Diese Website benutzt Cookies um die Nutzererfahrung zu verbessern. Datenschutzerklärung