Форум программистов, компьютерный форум CyberForum.ru

Класс точка, ребро, плоскость - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запись в файл http://www.cyberforum.ru/cpp-beginners/thread1207152.html
подскажите где я косячнул при записи в файл В общем суть такая косяк свой никак не найду . При открытии файла всё прекрасно читается и заменяется ,но записывается 1 строка только и начинается поедание оперативки. что то не то с записью вероятнее всего #include <iostream> #include <fstream> #include <cstring>
C++ Перенести в массив С те элементы массива В, которые встречаются в массиве А, удалив их и из А, и из B Заданы массивы действительных чисел а1,а2,…,а20 и b1,b2,…,b30. Перене-сти в массив С те элементы массива В, которые встречаются в массиве А, удалив их и из массива А, и из массива В. Срочно нужно, а с массивами совершенно не дружу((( http://www.cyberforum.ru/cpp-beginners/thread1207126.html
Содание динамического массива известной размерности C++
Доброго времени суток. Возник вопрос. Возможно ли создать такой массив (аналог динамического), когда его размерность определяется в процессе работы. Скажем, его размерность зависит от количества кликов по окну и все в таком духе, т.е. пользователь не задает его размерность при запуске программы. Необходимость для графического редактора. Если есть замена массиву например TList (в borland 7) -...
C++ Запись в файл с заменой
Здравствуйте, уважаемые форумчане!!! У меня к вам вот какой вопрос: Есть программа записи данных в файл, нужно написать программу для замены записи на другую. Вот текст основной программы: int main() { setlocale(0,"rus"); // Замена записей cout<<"<Запись с заменой>"<<endl;
C++ Перемножение двоичных чисел http://www.cyberforum.ru/cpp-beginners/thread1207102.html
Добрый день!:) Возникла проблема при написании калькулятора для двоичных чисел, точнее, проблемы с умножением. Логику сего процесса вроде понимаю, но написать тяжеловато. Походу совсем блондинка:) Есть фрагмент кода: { if (l > l1) //определяем длину по наибольшему числу length = l; else
C++ Подсчет количества слов в файле Дан текстовый файл. Определить, сколько раз каждое слово встречается в тексте. Слова выводить на экран в алфавитном порядке по 20 слов. подробнее

Показать сообщение отдельно
airolove
0 / 0 / 0
Регистрация: 13.06.2014
Сообщений: 10
13.06.2014, 16:14     Класс точка, ребро, плоскость
Здравствуйте, помогите, пожалуйста, с такой задачей.

Есть три класса: точка, ребро, плоскость. Для класса точка надо написать конструктор и функцию, которая будет вычислять расстояние между точками. Точки имеют координаты http://www.cyberforum.ru/cgi-bin/latex.cgi?(x,y,z).

В классе ребро есть две точки http://www.cyberforum.ru/cgi-bin/latex.cgi?start и http://www.cyberforum.ru/cgi-bin/latex.cgi?end, которые берутся из предыдущего класса. В этом классе ребро надо написать конструктор, который будет находить направляющий вектор по этим точкам. Далее ещё нужна функция, которая будет искать расстояние от точки до ребра.

В классе плоскость, собственно, нужен конструктор плоскости по трем точкам. Нужно находить отклонение точки, возвращая только знак http://www.cyberforum.ru/cgi-bin/latex.cgi?+ или http://www.cyberforum.ru/cgi-bin/latex.cgi?-. И ещё есть функция, которая будет проверять, лежат ли какие точки векторов в одной плоскости.

Собственно, первый класс я написал, точка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Point {
public:
double x, y, z;
Point(double X = 0, double Y = 0, double Z = 0) : x(X), y(Y), z(Z) {} // Конструктор
double dist(double x1, double y1, double z1) // расстояние между точками
{
double dx = x - x1;
double dy = y - y1;
double dz = z - z1;
return sqrt( dx * dx + dy * dy + dz * dz);
}
};
А вот со вторым классом есть проблемы, не очень понимаю, как правильно написать сам процесс вычисления направляющего вектора.
C++
1
2
3
4
5
6
7
8
class Side{
    Point start,end;
    Side(Point v1, Point v2)
    {
         start(v1);
         end(v2);
      }
};
То есть математически всё просто, есть http://www.cyberforum.ru/cgi-bin/latex.cgi?A(x1, y1, z1), B(x2, y2, z2) отсюда направляющий вектор http://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{AB} = (x2 - x1; y2 - y1; z2 - z1). Но как это написать, если у меня есть только точка http://www.cyberforum.ru/cgi-bin/latex.cgi?start и http://www.cyberforum.ru/cgi-bin/latex.cgi?end. И пробовал писать функцию расстояния от точки до ребра. Но я как понял, мне нужно действовать так:

1. Мы знаем a,b,c и получаем d - коэффициенты в уравнении плоскости
2. Вычисляем точку пересечения ребра с плоскостью
3. Ищем расстояние между исходной точкой и точкой пересечения.

Но всё упирается в то, что я не могу написать это правильно программно. С 3-м классом пока что только догадки.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru