public void WypelnijOdGory(PictureBox pictureBox, Bitmap bitmap, Punkt tmp1, Punkt tmp2, Punkt tmp3, Color kolor) { double invslope1 = (double)((double)(tmp3.zrzutowanyX - tmp1.zrzutowanyX) / (double)(tmp3.zrzutowanyY - tmp1.zrzutowanyY)); double invslope2 = (double)((double)(tmp3.zrzutowanyX - tmp2.zrzutowanyX) / (double)(tmp3.zrzutowanyY - tmp2.zrzutowanyY)); double curx1 = (double)tmp3.zrzutowanyX; double curx2 = (double)tmp3.zrzutowanyX; for (int scanlineY = tmp3.zrzutowanyY; scanlineY > tmp1.zrzutowanyY; scanlineY--) { Projekt1.LiniaSrodek(pictureBox, bitmap, (int)curx1, scanlineY, (int)curx2, scanlineY, kolor); curx1 -= invslope1; curx2 -= invslope2; } }
public static Figura generujProstopadloscian(Punkt lewyDolny, double szerX, double wysY, double dlugZ) { Figura figura = new Figura(); double x = lewyDolny.rzeczywistyX; double y = lewyDolny.rzeczywistyY; double z = lewyDolny.rzeczywistyZ; double x1 = x + szerX; double y1 = y + wysY; double z1 = z + dlugZ; // Przód figura.dodajTrojkat(new Trojkat(new Punkt(x, y, z), new Punkt(x, y1, z), new Punkt(x1, y1, z))); figura.dodajTrojkat(new Trojkat(new Punkt(x, y, z), new Punkt(x1, y1, z), new Punkt(x1, y, z))); // Tył figura.dodajTrojkat(new Trojkat(new Punkt(x1, y, z1), new Punkt(x1, y1, z1), new Punkt(x, y1, z1))); figura.dodajTrojkat(new Trojkat(new Punkt(x1, y, z1), new Punkt(x, y1, z1), new Punkt(x, y, z1))); // Prawa figura.dodajTrojkat(new Trojkat(new Punkt(x1, y, z), new Punkt(x1, y1, z), new Punkt(x1, y1, z1))); figura.dodajTrojkat(new Trojkat(new Punkt(x1, y, z), new Punkt(x1, y1, z1), new Punkt(x1, y, z1))); // Lewa figura.dodajTrojkat(new Trojkat(new Punkt(x, y, z1), new Punkt(x, y1, z1), new Punkt(x, y1, z))); figura.dodajTrojkat(new Trojkat(new Punkt(x, y, z1), new Punkt(x, y1, z), new Punkt(x, y, z))); // Góra figura.dodajTrojkat(new Trojkat(new Punkt(x, y1, z), new Punkt(x, y1, z1), new Punkt(x1, y1, z1))); figura.dodajTrojkat(new Trojkat(new Punkt(x, y1, z), new Punkt(x1, y1, z1), new Punkt(x1, y1, z))); // Dół figura.dodajTrojkat(new Trojkat(new Punkt(x1, y, z1), new Punkt(x, y, z1), new Punkt(x, y, z))); figura.dodajTrojkat(new Trojkat(new Punkt(x1, y, z1), new Punkt(x, y, z), new Punkt(x1, y, z))); return(figura); }
public Trojkat(Punkt p1, Punkt p2, Punkt p3) { this.p1 = p1; this.p2 = p2; this.p3 = p3; }
public Punkt[] SortujPunktyPoY() { Punkt[] posortowane = new Punkt[] { p1, p2, p3 }; Array.Sort(posortowane); return(posortowane); }