Largest right circular cylinder that can be inscribed within a cone which is in turn inscribed within a cube

Given here is a cube of side length a, which inscribes a cone which in turn inscribes a right circular cylinder. The task is to find the largest possible volume of this cylinder.

Examples:

Input: a = 5
Output: 232.593

Input: a = 8
Output: 952.699



Approach:
From the figure, it is very clear, height of cone, H = a and radius of the cone, R = a√2, please refer Largest cone that can be inscribed within a cube.
and, radius of the cylinder, r = 2R/3 and height of the cylinder, h = 2H/3, please refer Largest right circular cylinder that can be inscribed within a cone.
So, radius of cylinder with respect to cube, r = 2a√2/3 and height of cylinder with respect to cube, h = 2a/3.
So, volume of the cylinder, V = 16πa^3/27.

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ Program to find the biggest right circular 
// cylinder that can be inscribed within a right 
// circular cone which in turn is inscribed 
// within a cube
#include <bits/stdc++.h>
using namespace std;
  
// Function to find the biggest
// right circular cylinder
float cyl(float a)
{
  
    // side cannot be negative
    if (a < 0)
        return -1;
  
    // radius of right circular cylinder
    float r = (2 * a * sqrt(2)) / 3;
  
    // height of right circular cylinder
    float h = (2 * a) / 3;
  
    // volume of right circular cylinder
    float V = 3.14 * pow(r, 2) * h;
  
    return V;
}
  
// Driver code
int main()
{
    float a = 5;
    cout << cyl(a) << endl;
  
    return 0;
}

chevron_right


PHP

Output:

232.593


My Personal Notes arrow_drop_up

Budding Web DeveloperKeen learnerAverage CoderDancer&Social Activist

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Mahadev99