У меня проблема с домашней задачей, которая запрашивает у пользователя вершины прямоугольной призмы, расположенной в трехмерном пространстве. Мне нужно рассчитать площадь поверхности и объем призмы. Я должен иметь функцию, которая вычисляет расстояние между двумя точками на призме, я могу спросить получить информацию от пользователя, что координаты являютсяРасстояние между двумя координатами в 3D-пространстве призмы
double cx1, cy1, cz1, cx2, cy2, cz2, cx3, cy3, cz3, cx4, cy4, cz4, cx5, cy5, cz5, cx6, cy6, cz6, cx7, cy7, cz7, cx8, cy8, cz8;
int main() {
printf("Enter the first coordinate in the form x y z: \n");
scanf("%lf %lf %lf", &cx1, &cy1, &cz1);
printf("Enter the second coordinate in the form x y z: \n");
scanf("%lf %lf %lf", &cx2, &cy2, &cz2);
printf("Enter the third coordinate in the form x y z: \n");
scanf("%lf %lf %lf", &cx3, &cy3, &cz3);
printf("Enter the fourth coordinate in the form x y z: \n");
scanf("%lf %lf %lf", &cx4, &cy4, &cz4);
printf("Enter the fifth coordinate in the form x y z: \n");
scanf("%lf %lf %lf", &cx5, & cy5, &cz5);
printf("Enter the sixth coordinate in the form x y z: \n");
scanf("%lf %lf %lf", &cx6, &cy6, &cz6);
printf("Enter the seventh coordinate in the form x y z: \n");
scanf("%lf %lf %lf", &cx7, &cy7, &cz7);
printf("Enter the eighth coordinate in the form x y z: \n");
scanf("%lf %lf %lf",&cx8, &cy8, &cz8);
return get_dist(cx1, cx2, cy1, cy2);
}
я присваивается каждому х и г координаты переменного это все в основной функции ... то я сделал это для одной точки:
double get_dist(cx1,cx2,cy1, cy2){
double distance1_2;
distance1_2 = sqrt(((cx2 - cx1)*(cx2 - cx1)) - ((cy2 - cy1)*(cy2 - cy1)));
printf("%lf",distance1_2);
return 0;
}
и он дал мне правильное значение 2, но есть более простой/быстрый способ сделать это чем необходимость выполнять каждую координату отдельно?
Ваш расчет расстояния неправильный, между прочим. – haccks
Координаты группы 3 в структуре «Point3» (или smthg). Сделайте массив из 8 пунктов. – bolov