Как задать окружность не в центре координат - C#

Узнай цену своей работы

Формулировка задачи:

Извините, если создал тему не в том разделе. Мне нужно задать полу-окружность(рогами вверх) не в центре координат. Координаты центра полу-окружности (-7;2), радиус R = 2. У меня ничего не оплучается, то считает только верхнюю полуокружность, по вообще ничего не считается. Пробовал эти формулы (ссылки на картинки формул с википедии) http://upload.wikimedia.org/math/3/6...f4cde92eb8.png http://upload.wikimedia.org/math/1/9...667fb5a77a.png ПОмогите. Я мозг поломал уже.
я на бумажке посчитал, у меня под корнем получается отрицательное значение. Такого не может быть же. ПОмогите, какую формулу использовать?((

Решение задачи: «Как задать окружность не в центре координат»

textual
Листинг программы
  1. public partial class Form1 : Form
  2.     {
  3.         Graphics graphics;
  4.         Circle circle;
  5.  
  6.         public Form1()
  7.         {
  8.             InitializeComponent();
  9.  
  10.             graphics = this.CreateGraphics();
  11.             circle = new Circle(new RectangleF(this.Width / 2, this.Height / 2, 100, 100));
  12.         }
  13.  
  14.         protected override void OnPaint(PaintEventArgs e)
  15.         {
  16.             base.OnPaint(e);
  17.  
  18.             circle.Draw(graphics);
  19.         }
  20.     }
  21.  
  22.     public class Circle
  23.     {
  24.         public RectangleF rect;
  25.         float step = 0.001f;
  26.  
  27.         public Circle(RectangleF rect)
  28.         {
  29.             this.rect = rect;
  30.         }
  31.  
  32.         public void Draw(Graphics graphics)
  33.         {
  34.             for (float i = 0; i < (float)Math.PI; i += step)
  35.             {
  36.                 double x = (rect.Width / 2) * Math.Cos(i) + rect.X + rect.Width / 2;
  37.                 double y = (rect.Height / 2) * Math.Sin(i) + rect.Y + rect.Height / 2;
  38.                 graphics.FillEllipse(Brushes.Red, (float)x - 0.5f, (float)y - 0.5f, 1, 1);
  39.             }
  40.         }
  41.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы