// // Matematica.cpp // Testes // // Created by Márcio Sarroglia Pinho on 19/03/20. // Copyright © 2020 Márcio Sarroglia Pinho. All rights reserved. // #include #include class Vetor{ double x,y; public: Vetor(){ x=0; y=0;} // construtora void set(double x, double y) { this->x = x; this->y = y; } void get (double &x, double &y) { x = this->x; y = this->y; } double getX() { return this->x; } double getY() { return this->y; } void add(Vetor v) { this->x += v.getX(); this->y += v.getY(); } void multiply(double n) { this->x *=n; this->y *=n;} void set(Vetor Inicial, Vetor Final) { this->x = Final.getX()-Inicial.getX(); this->y = Final.getY()-Inicial.getY(); } void imprime() { printf("%f, %f", x,y); } double modulo() { double m; m = sqrt(x*x+y*y); return m; } void versor() { x = x/modulo(); y = y/modulo(); } }; double ProdutoEscalar(Vetor V1, Vetor V2) { double Escalar; Escalar = V1.getX()* V2.getX() + V1.getY()* V2.getY(); return Escalar; } int ClassificaPoligono(int num_vert, Vetor pontos[]) { int classe; // a rotina deve retornar 1 quando o polígono // for convexo e 0 quando for côncavo return classe; } int EstaDentroConcavo(int num_vert, Vetor pontos[]) { int classe; // a rotina deve retornar 1 quando o ponto // estiver dentro do polígono e 0 se estiver fora return classe; } int EstaDentroConvexo(int num_vert, Vetor pontos[]) { int classe; // a rotina deve retornar 1 quando o ponto // estiver dentro do polígono e 0 se estiver fora return classe; } int main() { Vetor V1, V2; Vetor A, B, P1; A.set(5,2); B.set(10,2); P1.set(7.5,2.0); V1.set(A, B); V1.versor(); V2.set(A, P1); V2.versor(); printf("Prod Escalar: %f\n", ProdutoEscalar(V1,V2)); //V1.imprime(); printf("\n"); return 0; }