using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CCC
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Text = "Ракета на экране";
this.Size = new Size(400, 600);
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Black, 2);
int scale = 20; // Масштаб (пикселей на клетку)
int offsetX = 100; // Смещение от края
int offsetY = 400; // Начало координат снизу
// Функция преобразования координат сетки в экранные
Point P(int x, int y) => new Point(offsetX + x * scale, offsetY - y * scale);
// 1. Корпус (основной контур)
g.DrawLine(pen, P(5, 18), P(4, 13)); // Левая сторона носа
g.DrawLine(pen, P(5, 18), P(6, 13)); // Правая сторона носа
g.DrawLine(pen, P(4, 13), P(4, 3)); // Левый борт
g.DrawLine(pen, P(6, 13), P(6, 3)); // Правый борт
g.DrawLine(pen, P(4, 3), P(6, 3)); // Дно корпуса
// 2. Левое крыло
Point[] leftFin = { P(4, 8), P(2, 5), P(2, 1), P(3, 1), P(4, 3) };
g.DrawLines(pen, leftFin);
// 3. Правое крыло
Point[] rightFin = { P(6, 8), P(8, 5), P(8, 1), P(7, 1), P(6, 3) };
g.DrawLines(pen, rightFin);
// 4. Иллюминаторы
int r = scale / 2; // Радиус
g.DrawEllipse(pen, offsetX + 5 * scale - r, offsetY - 12 * scale - r, 2 * r, 2 * r);
g.DrawEllipse(pen, offsetX + 5 * scale - r, offsetY - 10 * scale - r, 2 * r, 2 * r);
}
}
}