NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Patrik141414
Člen
Avatar
Patrik141414:30.4.2016 16:43

Ahojte, v škole som dostal zadanie z poč. grafiky, ktoré má v karteziánskom pravotočivom s.s. zobraziť úsečku voliteľnej dĺžky prechádzajúcu začiatkom a definovanú smernicou. Problém je, že úsečku viem vykreslovať len pomocou zač. a koncových bodov, príklad môjho kódu:

public partial class Form1 : Form
    {
        Graphics graf;
        public Form1()
        {
            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)
        {

            Pen drawpen = new Pen(Color.Red, 2);
            pictureBox1.Refresh();
            graf = pictureBox1.CreateGraphics();
            SolidBrush ste = new SolidBrush(Color.Black);

            try
            {
                graf.TranslateTransform(Convert.ToInt32(textBox3.Text), Convert.ToInt32(textBox4.Text));
                graf.FillRectangle(ste, 0, 0, 4, 4);
                var konx = Convert.ToInt32(textBox2.Text);
                var kony = Convert.ToInt32(textBox1.Text);

                graf.DrawLine(drawpen, 0, 0, konx, kony);

            }
            catch(FormatException exp)
            {
                MessageBox.Show("Zadali ste zlý formát");
            }
            graf.Dispose();
        }

    }

Vedel by mi s tým niekto pomôcť? ďakujem

 
Odpovědět
30.4.2016 16:43
Avatar
Odpovídá na Patrik141414
Neaktivní uživatel:30.4.2016 17:26

Stačilo se podívat na wiki - tam je rovnice směrnice přímky Y = K*X + Q. Protože chceš, aby přímka šla počátkem, tak Q bude 0 (takže ho s tama vynecháš). Píše se, že libovolné délky, takže si zvolíš libovolný bod X (podle toho, jak máš velký formulář), a s pomocí Y = K*X (kde K je tedy ta směrnice) dopočítaš druhý koncový bod. Čili X1 = 0, Y1 = 0, X2 = zvolíš si, Y2 = vypočítáš.

Nahoru Odpovědět
30.4.2016 17:26
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.