Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- struct punkt{
- float x;
- float y;
- float z;
- };
- int licz_punkty(int il_war, int il_scianek, float r){
- int war;
- int sciana;
- float kat = 3.1416 /il_scianek*2;
- float z;
- float mod_warstw;
- int sx;
- float ostatni_l;
- float ostatni_p;
- struct punkt **tablica;
- tablica = (struct punkt**) malloc(il_war * sizeof(struct punkt*));
- for(sx = 0; sx < il_war; ++sx){
- tablica[sx] = (struct punkt*)malloc(il_scianek * sizeof(struct punkt));
- }
- for(war=1;war<il_war;war++){
- z=r*sin(war*kat);
- mod_warstw=r*cos(war*kat);
- for(sciana=0;sciana<il_scianek;sciana++){
- tablica[war][sciana].x=cos(sciana*kat)*mod_warstw;
- tablica[war][sciana].y=sin(sciana*kat)*mod_warstw;
- tablica[war][sciana].z = z;
- }
- }
- for(war=1;war<il_war;war++){
- for(sciana=0;sciana<il_scianek;sciana++){
- ostatni_l = tablica[ (war + 1) % il_scianek ][ sciana ];
- ostatni_p = tablica[ (war + 1) % il_scianek ][ (sciana + 1) % il_scianek ];
- }
- }
- for(war=1;war<il_war;war++){
- for(sciana=0;sciana<il_scianek;sciana++){
- printf("%f %f %f \n", tablica[war][sciana].x, tablica[war][sciana].y, tablica[war][sciana].z);
- }
- }
- return 0;
- };
- struct punkt tworz_wektor(struct punkt a, struct punkt b){
- struct punkt *wektor=(struct punkt*)malloc(sizeof(struct punkt*));
- wektor->x =b.x - a.x;
- wektor->x =b.y - a.y;
- wektor->x =b.z - a.z;
- return *wektor;
- };
- struct punkt tworz_normalna(struct punkt a, struct punkt b, struct punkt c){
- struct punkt *normalna=(struct punkt*)malloc(sizeof(struct punkt*));
- normalna->x = (a.x + b.x + c.x) / 3;
- normalna->y = (a.y + b.y + c.y) / 3;
- normalna->z = (a.z + b.z + c.z) / 3;
- struct punkt *zero=(struct punkt*)malloc(sizeof(struct punkt*));
- zero->x = 0;
- zero->y = 0;
- zero->z = 0;
- return tworz_wektor(*zero,*normalna);
- };
- int main(){
- char wybor;
- do{
- printf("\n ---------------\n");
- printf("Wybierz opcje:\n");
- printf(" l - licz punkty \n");
- printf(" \n");
- printf(" w - wyjdz \n");
- printf(" => ");
- scanf("%c",&wybor);
- switch(wybor){
- case 'l':licz_punkty(10,10,10);
- }
- printf("ok\n");
- }
- while (wybor!='w');
- system("pause");
- return 0;
- }
Add Comment
Please, Sign In to add comment