Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "punkt.h"
- #include <cmath>
- #include <vector>
- Punkt::Punkt(){
- this->posX.resize(1);
- this->posY.resize(1);
- this->liczbaWymiarow.resize(2);
- }
- Punkt::Punkt(double iksik, double igrek){
- this->posX.resize(1);
- this->posY.resize(1);
- this->posX[0] = iksik;
- this->posY[0] = igrek;
- }
- double Punkt::GetPunktX(int ktora){
- return this->posX[ktora];
- }
- double Punkt::GetPunktY(int ktora){
- return this->posY[ktora];
- }
- void Punkt::SetPunktX(int ktory, double wartosc){
- this->posX[ktory] = wartosc;
- }
- void Punkt::SetPunktY(int ktory, double wartosc){
- this->posY[ktory] = wartosc;
- }
- void Figura::DodajPunkt(double wspX, double wspY){
- this->posX.resize(posX.size() + 1);
- this->posY.resize(posY.size() + 1);
- this->posX[posX.size()-1] = wspX;
- this->posY[posY.size()-1] = wspY;
- int rozmiar=0;
- rozmiar = liczbaWierzcholkow.size();
- liczbaWierzcholkow.resize(rozmiar+1);
- }
- double Figura::ObliczObwod(int jakafigura){
- double sumaA=0, sumaB=0, sumaC=0, sumaD=0,SUMA=0;
- if(liczbaWierzcholkow.size() == 3){
- sumaA += sqrt(pow((GetPunktX(0)-GetPunktX(1)),2) + pow((GetPunktY(0)-GetPunktY(1)),2));
- sumaB += sqrt(pow((GetPunktX(1)-GetPunktX(2)),2) + pow((GetPunktY(1)-GetPunktY(2)),2));
- sumaC += sqrt(pow((GetPunktX(0)-GetPunktX(2)),2) + pow((GetPunktY(0)-GetPunktY(2)),2));
- SUMA = sumaA + sumaB + sumaC;
- }
- if(liczbaWierzcholkow.size() == 4 && jakafigura == 0){
- sumaA += sqrt(pow(GetPunktX(0) - GetPunktX(1),2) + pow(GetPunktY(0) - GetPunktY(1),2));
- SUMA = 4*sumaA;
- }
- else if(liczbaWierzcholkow.size() == 4 && jakafigura == 1){
- sumaA += sqrt(pow((GetPunktX(0)-GetPunktX(1)),2) + pow((GetPunktY(0)-GetPunktY(1)),2));
- sumaB += sqrt(pow((GetPunktX(1)-GetPunktX(2)),2) + pow((GetPunktY(1)-GetPunktY(2)),2));
- sumaC += sqrt(pow((GetPunktX(0)-GetPunktX(3)),2) + pow((GetPunktY(0)-GetPunktY(3)),2));
- sumaD += sqrt(pow((GetPunktX(2)-GetPunktX(3)),2) + pow((GetPunktY(2)-GetPunktY(3)),2));
- SUMA = sumaA + sumaB + sumaC + sumaD;
- }
- return SUMA;
- }
- Figura::Figura(){
- this->liczbaWierzcholkow = vector<Punkt> (1);
- }
- double Kwadrat::ObliczPole(){
- double suma;
- suma = sqrt(pow(GetPunktX(0) - GetPunktX(1),2) + pow(GetPunktY(0) - GetPunktY(1),2));
- suma = suma*suma;
- return suma;
- }
- double Trojkat::ObliczPole(){
- double pole;
- double sumaA=0, sumaB=0, sumaC=0, SUMA;
- sumaA += sqrt(pow((GetPunktX(0)-GetPunktX(1)),2) + pow((GetPunktY(0)-GetPunktY(1)),2));
- sumaB += sqrt(pow((GetPunktX(1)-GetPunktX(2)),2) + pow((GetPunktY(1)-GetPunktY(2)),2));
- sumaC += sqrt(pow((GetPunktX(0)-GetPunktX(2)),2) + pow((GetPunktY(0)-GetPunktY(2)),2));
- SUMA = (sumaA + sumaB + sumaC)/2;
- pole = sqrt(SUMA*(SUMA-sumaA)*(SUMA-sumaC)*(SUMA-sumaB));
- return pole;
- }
- double Trapez::ObliczPole(){
- double sumaA, sumaB, sumaC, sumaD;
- double pole, modul;
- sumaA += sqrt(pow((GetPunktX(0)-GetPunktX(1)),2) + pow((GetPunktY(0)-GetPunktY(1)),2));
- sumaB += sqrt(pow((GetPunktX(1)-GetPunktX(2)),2) + pow((GetPunktY(1)-GetPunktY(2)),2));
- sumaC += sqrt(pow((GetPunktX(0)-GetPunktX(3)),2) + pow((GetPunktY(0)-GetPunktY(3)),2));
- sumaD += sqrt(pow((GetPunktX(2)-GetPunktX(3)),2) + pow((GetPunktY(2)-GetPunktY(3)),2));
- pole = ((GetPunktX(0)*GetPunktY(1) - GetPunktY(0)*GetPunktX(1)) + (GetPunktX(1)*GetPunktY(2) - GetPunktY(1)*GetPunktX(2)) + (GetPunktX(2)*GetPunktY(3) - GetPunktY(2)*GetPunktX(3)) + (GetPunktX(3)*GetPunktY(0) - GetPunktY(3)*GetPunktX(0))) / 2;
- modul = fabs(pole);
- return modul;
- }
- Kwadrat::Kwadrat(){
- this->jakafigura = 0;
- }
- Trapez::Trapez(){
- this->jakafigura = 1;
- }
- void Kwadrat::SetFigura(int figurka){
- this->jakafigura = figurka;
- }
- void Trapez::SetFigura(int figurka){
- this->jakafigura = figurka;
- }
- int Kwadrat::GetFigura(){
- return jakafigura;
- }
- int Trapez::GetFigura(){
- return jakafigura;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement