Как задать окружность не в центре координат - C#
Формулировка задачи:
Извините, если создал тему не в том разделе.
Мне нужно задать полу-окружность(рогами вверх) не в центре координат. Координаты центра полу-окружности (-7;2), радиус R = 2.
У меня ничего не оплучается, то считает только верхнюю полуокружность, по вообще ничего не считается.
Пробовал эти формулы
(ссылки на картинки формул с википедии)
http://upload.wikimedia.org/math/3/6...f4cde92eb8.png
http://upload.wikimedia.org/math/1/9...667fb5a77a.png
ПОмогите. Я мозг поломал уже.
я на бумажке посчитал, у меня под корнем получается отрицательное значение. Такого не может быть же. ПОмогите, какую формулу использовать?((
Решение задачи: «Как задать окружность не в центре координат»
textual
Листинг программы
public partial class Form1 : Form { Graphics graphics; Circle circle; public Form1() { InitializeComponent(); graphics = this.CreateGraphics(); circle = new Circle(new RectangleF(this.Width / 2, this.Height / 2, 100, 100)); } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); circle.Draw(graphics); } } public class Circle { public RectangleF rect; float step = 0.001f; public Circle(RectangleF rect) { this.rect = rect; } public void Draw(Graphics graphics) { for (float i = 0; i < (float)Math.PI; i += step) { double x = (rect.Width / 2) * Math.Cos(i) + rect.X + rect.Width / 2; double y = (rect.Height / 2) * Math.Sin(i) + rect.Y + rect.Height / 2; graphics.FillEllipse(Brushes.Red, (float)x - 0.5f, (float)y - 0.5f, 1, 1); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д