Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cmath>
- #include <iostream>
- #include <SDL2/SDL.h>
- class cristall_1
- {
- private:
- int X,Y,Color,R,height;
- double Fi;
- public:
- cristall_1(int X, int Y, int Color, int R, int height, double Fi);
- void DrawCristall(SDL_Renderer* renderer);
- void HideCrisatall();
- void RotateY();
- void RotateX();
- void RotateZ();
- };
- cristall_1::cristall_1(int X, int Y,int Color, int R, int height, double Fi)
- {
- this -> X = X;
- this -> Y = Y;
- this -> Color = Color;
- this -> height = height;
- this -> Fi = Fi;
- }
- void cristall_1::DrawCristall(SDL_Renderer* renderer)
- {
- int X1,Y1,X2,Y2,X3,Y3,X4,Y4,X5,Y5,X6,Y6;
- X1 = X + R*sin(Fi);
- Y1 = Y - R*cos(Fi);
- X2 = X + R*cos(30)*sin(Fi)*3/4;
- Y2 = Y - R*sin(30)*cos(Fi)*3/4;
- X3 = X + R*cos(30)*sin(Fi);
- Y3 = Y + R*sin(30)*cos(Fi);
- X4 = X - R*sin(Fi)*3/4;
- Y4 = Y + R*cos(Fi)*3/4;
- X5 = X - R*cos(30)*sin(Fi);
- Y5 = Y + R*sin(30)*cos(Fi);
- X6 = X - R*cos(30)*sin(Fi)*3/4;
- Y6 = Y - R*sin(30)*cos(Fi)*3/4;
- SDL_RenderDrawLine(renderer,X1,Y1,X2,Y2);
- SDL_RenderDrawLine(renderer,X2,Y2,X3,Y3);
- SDL_RenderDrawLine(renderer,X3,Y3,X4,Y4);
- SDL_RenderDrawLine(renderer,X4,Y4,X5,Y5);
- SDL_RenderDrawLine(renderer,X5,Y5,X6,Y6);
- SDL_RenderDrawLine(renderer, X6,Y6,X1,Y1);
- }
- int main(int argc, char* argv[])
- {
- if (SDL_Init(SDL_INIT_VIDEO) == 0) {
- SDL_Window* window = NULL;
- SDL_Renderer* renderer = NULL;
- if (SDL_CreateWindowAndRenderer(640, 480, 0, &window, &renderer) == 0) {
- SDL_bool done = SDL_FALSE;
- while (!done) {
- SDL_Event event;
- SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);
- SDL_RenderClear(renderer);
- SDL_SetRenderDrawColor(renderer, 255, 255, 255, SDL_ALPHA_OPAQUE);
- SDL_RenderDrawLine(renderer, 320, 200, 300, 240);
- SDL_RenderDrawLine(renderer, 300, 240, 340, 240);
- SDL_RenderDrawLine(renderer, 340, 240, 320, 200);
- SDL_RenderPresent(renderer);
- cristall_1 C1(250,250,15,59,0,0);
- C1.DrawCristall(SDL_Renderer* renderer);
- while (SDL_PollEvent(&event)) {
- if (event.type == SDL_QUIT) {
- done = SDL_TRUE;
- }
- }
- }
- }
- if (renderer) {
- SDL_DestroyRenderer(renderer);
- }
- if (window) {
- SDL_DestroyWindow(window);
- }
- }
- SDL_Quit();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement