Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void makeBuckyBall( Figure &fig){
- Figure base;
- makeIcosahedron(base);
- std::vector<Vector3D> BuckyPoints;
- for(const Face& face: base.faces) {
- int firstVal = face.at(0) -1;
- int secondVal = face.at(1) -1;
- int thirdVal = face.at(2) -1;
- Vector3D subPoint1 = (base.points.at(secondVal)- base.points.at(firstVal))/3.0;
- Vector3D subPoint2 = (base.points.at(thirdVal)- base.points.at(secondVal))/3.0;
- Vector3D subPoint3 = (base.points.at(firstVal)-base.points.at(thirdVal))/3.0;
- Vector3D newPoint1 = base.points.at(firstVal)+subPoint1;
- Vector3D newPoint2 = base.points.at(secondVal)+subPoint2;
- Vector3D newPoint3 = base.points.at(thirdVal)+subPoint3;
- BuckyPoints.push_back(newPoint1);
- BuckyPoints.push_back(newPoint2);
- BuckyPoints.push_back(newPoint3);
- }
- fig.points = BuckyPoints;
- fig.faces.push_back({1, 4, 7, 10, 13});
- fig.faces.push_back({1 ,15 ,2 , 18, 3, 4});
- fig.faces.push_back({4, 3, 5, 24, 6, 7});
- fig.faces.push_back({7, 6, 8, 30, 9, 10});
- fig.faces.push_back({10, 9, 11, 36, 12, 13});
- fig.faces.push_back({13 ,12 ,14, 42, 15, 1});
- fig.faces.push_back({15 ,42, 43, 16, 2});
- fig.faces.push_back({3, 18, 19, 22, 5});
- fig.faces.push_back({6, 24 ,25 ,28, 8});
- fig.faces.push_back({9, 30 ,31 ,34 ,11});
- fig.faces.push_back({12 ,36 ,37, 40, 14});
- fig.faces.push_back({2 ,16 ,45 ,17 ,19 ,18});
- fig.faces.push_back({19 ,17 ,20 ,47 ,21 ,22});
- fig.faces.push_back({22 ,21 ,23 ,25 ,24 ,5});
- fig.faces.push_back({25 ,23 ,26 ,50, 27, 28});
- fig.faces.push_back({28 ,27 ,29 ,31 ,30 ,8});
- fig.faces.push_back({31, 29, 32 ,53, 33 ,34});
- fig.faces.push_back({34 ,33 ,35 ,37 ,36, 11});
- fig.faces.push_back({37, 35, 38, 56, 39 ,40});
- fig.faces.push_back({40, 39, 41, 43, 42, 14});
- fig.faces.push_back({43 ,41 ,44 ,59 ,45, 16});
- fig.faces.push_back({45, 59 ,48 ,20 ,17});
- fig.faces.push_back({21 ,47 ,51, 26 ,23});
- fig.faces.push_back({27 ,50 ,54 ,32 ,29});
- fig.faces.push_back({33 ,53 ,57 ,38 ,35});
- fig.faces.push_back({39 ,56 ,60 ,44 ,41});
- fig.faces.push_back({44 ,60 ,55 ,58 ,48 ,59});
- fig.faces.push_back({20 ,48 ,58 ,46 ,51 ,47});
- fig.faces.push_back({26 ,51 ,46 ,49 ,54 ,50});
- fig.faces.push_back({32, 54 ,49, 52, 57, 53});
- fig.faces.push_back({38, 57 ,52 ,55, 60, 56});
- fig.faces.push_back({55 ,58 ,46 ,49 ,52});
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement