static public FloatPoint[] ScalePoints(FloatPoint box, FloatPoint size, int _count, float scale_by) { List <FloatPoint> points = new List <FloatPoint>(); FloatPoint scale = FloatPoint.FlattenPoint(box, false); for (float i = -_count; i < _count; i++) { points.Add(scale * scale_by * 0.5f); } return(points.ToArray()); }
static public void DrawCircles(Graphics gfx, Brush brush, float phase, FloatPoint box_dimension, FloatPoint size, int _count, float scale_by) { FloatPoint Offset = box_dimension * 0.5f; FloatPoint scale = FloatPoint.FlattenPoint(box_dimension, false); FloatRect render_rect = new FloatRect(Offset, size); FloatPoint[] points = CirclePoints(phase, box_dimension, size, _count); FloatPoint scaler = scale * (scale_by * 0.5f); for (int i = 0; i < points.Length; i++) { FloatPoint Position = CirclePoint(i, _count, phase); render_rect.Location = Offset + (Position * scaler) - (size * 0.5f); gfx.FillEllipse(brush, render_rect); } }
static public void DrawCirclePoints(Graphics gfx, Brush brush, float phase, FloatPoint box_dimension, FloatPoint size, int _count, float scale_by) { FloatPoint Offset = box_dimension * 0.5f; FloatPoint scale = FloatPoint.FlattenPoint(box_dimension, false); FloatRect render_rect = new FloatRect(Offset, size); for (float i = -_count; i < _count; i++) { FloatPoint Position = new FloatPoint( (float)(-Math.Sin(cvt(_count, i + phase)) * ((scale.X * scale_by) * 0.5f)), (float)(Math.Cos(cvt(_count, i + phase)) * ((scale.Y * scale_by) * 0.5f)) ); render_rect.Location = Offset + Position - (size * 0.5f); gfx.FillEllipse(brush, render_rect); } }
static public void DrawCircleOutlines(Graphics gfx, Pen pen, float phase, FloatPoint box_dimension, FloatPoint size, int _count, float scale_by) { FloatPoint Offset = box_dimension * 0.5f; FloatPoint scale = FloatPoint.FlattenPoint(box_dimension, false); FloatRect render_rect = new FloatRect(Offset, size); FloatPoint[] points = CirclePoints(phase, box_dimension, size, _count); FloatPoint scaler = scale * (scale_by * 0.5f); for (int i = 0; i < points.Length; i++) { FloatPoint Position = new FloatPoint( (float)(-Math.Sin(cvtf(_count, i + phase))), (float)(Math.Cos(cvtf(_count, i + phase))) ); render_rect.Location = Offset + (Position * scaler) - (size * 0.5f); gfx.DrawEllipse(pen, render_rect); } }