Название: Программа с векторами. Помогите доделать. Отправлено: Hank0098 от Июнь 10, 2013, 22:18 Есть программа, которая выполняет действия с векторами на плоскости(умножение, вычитание, суммирование), При этом графически все отображает(рисует вектора). Проблема в том, что вектору (направленная прямая, которая состоит из двух точек, начала и конца) можно задать только его конец, т.е начало вектора всегда точка с координатами (0;0), а задать можно только точку конца вектора.
Помогите пожалуйста, отблагодарю, не обижу ::) ссылка на прогу: http://www.ex.ua/view/62510997 Название: Re: Программа с векторами. Помогите доделать. Отправлено: mutineer от Июнь 10, 2013, 22:23 так а с чем помочь?
З.Ы. перепакуй файл в zip Название: Re: Программа с векторами. Помогите доделать. Отправлено: Hank0098 от Июнь 10, 2013, 22:59 файл открывается любым архиватором
добавь в скайпе girya88 Название: Re: Программа с векторами. Помогите доделать. Отправлено: Bepec от Июнь 10, 2013, 23:01 Ух ты, новый стандарт видимо придумал гений :) любым архиватором открыть можно :D
Название: Re: Программа с векторами. Помогите доделать. Отправлено: Hank0098 от Июнь 11, 2013, 00:22 теперь в .rar
Название: Re: Программа с векторами. Помогите доделать. Отправлено: Hank0098 от Июнь 11, 2013, 02:16 нужно сделать, что бы вектору можно было задать две точки, а не одну только. Посмотри саму программу.
Название: Re: Программа с векторами. Помогите доделать. Отправлено: mutineer от Июнь 11, 2013, 08:35 Как минимум нужно классу Vector добавить еще один QPoint (точку начала) и адаптировать все методы на работу с двумя точками
Название: Re: Программа с векторами. Помогите доделать. Отправлено: Hank0098 от Июнь 11, 2013, 09:25 кто сможет это сделать, добавляйте в скайпе. Обсудим все.
Название: Q Отправлено: Fregloin от Июнь 11, 2013, 10:41 мда, изначально в проекте у вас полагалось что вектор исходит из центра координат.
ничего сложного не вижу в реализации, добавьте еще одну точку (начальную), и перепишите логику вычислений. подсказка, в библиотеке Qt есть работа с векторами. Название: Re: Программа с векторами. Помогите доделать. Отправлено: Igors от Июнь 11, 2013, 10:49 нужно сделать, что бы вектору можно было задать две точки, а не одну только. Посмотри саму программу. Написано аккуратно, но классы построены неудачнно.Код Вектор - хорошо известное понятие, это просто массив значений. Хотя вектор и точка - разные "сущности", но по данным они неотличимы, поэтому на мой взгляд хорошо определить вектор так Код Ну или воспользоваться готовым классом QVector2D. Члены size и color никакого отношения к вектору не имеют, да и size не целое число. Для операций с парой точек нужен др класс напр Код Или в духе птенцов ассыстента Код Конечно Вы можете сказать "а вот мне нужен такой вектор" (переделывать не хочется). Ну как, можно свинью назвать коровой, но она не станет давать молоко :) Название: Re: Программа с векторами. Помогите доделать. Отправлено: mutineer от Июнь 11, 2013, 10:55 Вектор - хорошо известное понятие, это просто массив значений. Хотя вектор и точка - разные "сущности", но по данным они неотличимы А как насчет особенностей предметной области? Цитировать Вектор в планарной евклидовой геометрии (связанный вектор) — упорядоченная пара точек, одна из которых называется началом, вторая — концом вектора. Название: Re: Программа с векторами. Помогите доделать. Отправлено: Igors от Июнь 11, 2013, 11:22 А как насчет особенностей предметной области? А кто Вас заставляет делать "связанный"? :) Какие разумные операции над ним возможны? Напр как Вы будете складывать/вычитать такие вектора? Бросать exception если точки не совпадают :) Переопределяя известное понятие по-другому Вы наживаете кучу совершенно ненужных забот. Цитировать Вектор в планарной евклидовой геометрии (связанный вектор) — упорядоченная пара точек, одна из которых называется началом, вторая — концом вектора. Название: Re: Программа с векторами. Помогите доделать. Отправлено: mutineer от Июнь 11, 2013, 11:30 Так, стоп, ты сказал что вектор это массив значений и все. И от точки он данными не отличается. Но в случае евклидовой геометрии это малость не так, там вектор это пара точек
К тому же Цитировать Результатом операций со связанными векторами принимается вектор, начальная точка которого совпадает с начальной точкой первого слагаемого при сложении векторов Если точки не совпадают, то второе слагаемое можно просто перенести в нужную точку. Вычитание реализуется через сложение. Название: Re: Программа с векторами. Помогите доделать. Отправлено: Hank0098 от Июнь 11, 2013, 11:52 так кто сможет мне помочь с решением этой проблемы?
Название: Re: Программа с векторами. Помогите доделать. Отправлено: Igors от Июнь 11, 2013, 12:23 Так, стоп, ты сказал что вектор это массив значений и все. И от точки он данными не отличается. Но в случае евклидовой геометрии это малость не так, там вектор это пара точек Это в точности так. Все что написано для векторов в Qt, std:: и еще в десятках мест - все это чисто Евклидова геометрия, для другой (напр на сфере) это работать не будет. Цитировать 3 + 1 = 4 ? В действительности и то и то - Евклидова геометрия, просто представление вектора в виде 2 точек неудачно, ну так никто и не делаетНеверно, потому что 4 - это дважды два! Если точки не совпадают, то второе слагаемое можно просто перенести в нужную точку. Тогда a + b != b + a. Зачем городить такую фигню?Название: Re: Программа с векторами. Помогите доделать. Отправлено: Hank0098 от Июнь 11, 2013, 17:15 Меня вообще кто нибудь слышит?? ;D
Название: Re: Программа с векторами. Помогите доделать. Отправлено: kamre от Июнь 11, 2013, 19:55 Но в случае евклидовой геометрии это малость не так, там вектор это пара точек. Вектор - это прежде всего элемент векторного пространства. А для множества всех пар точек n-мерного евклидова пространства нельзя ввести операции так, чтобы оно соответствовало векторному пространству Rn. Вот если на множестве пар точек ввести отношение эквивалентности, такое что пары эквиваленты <=> отличаются только параллельным переносом, то на классах эквивалентности уже можно ввести нужные операции.... Если точки не совпадают, то второе слагаемое можно просто перенести в нужную точку. Вычитание реализуется через сложение. Название: Re: Программа с векторами. Помогите доделать. Отправлено: Maestro от Июнь 12, 2013, 02:20 Решение этой задачи займет 20-30 строк. Зачем вы виписываете интерфейс вручную? ???
|