Russian Qt Forum
Май 15, 2024, 22:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 755 756 [757] 758 759 ... 761
11341  Программирование / Алгоритмы / Re: Пересечение поверхностей : Август 30, 2009, 16:07
1) Имем тругольник (твое допущение)
2) Имеем 2 точки на нем соединенные отрезком
Это только очень частный случай. А представьте себе какая-то ваза стоит на полу и немного "вдавлена" в пол. Тут мы имеем сотни отрезков пересечения. Очевидно что пытаться классифицировать все случаи бесполезно, нужна более общая "engine". Какая?
11342  Программирование / Алгоритмы / Re: Пересечение поверхностей : Август 30, 2009, 15:22
1) Все-таки исходные полигоны или треугольники.
2) Результатирующие - только треугольники?

Админы! Похоже в данном разделе вложения файлов не делаются Шокированный.  Это как-то фигово!
Как вариант, можно разместить какртинку на сайте, например здесь http://www.radikal.ru/ и дать ссылку.


Понял, разместил, даю ссылку
http://i022.radikal.ru/0908/b0/b948c7d4e4f7.png

Для простоты полагаем что все состоит из треугольников имеющих представительную площадь. Например на картинке каждый квадрат состоит из 2 треугольников. Результат должен быть в том же формате - корректная геометрия. 
11343  Разное / Говорилка / Re: Программы для продаж : Август 30, 2009, 14:48
Как Юзер добавлю, качать прогу с таких сервисов страшновато - "а вдруг там чего-нибудь похлеще рядового вирусника".
На деле все намного хуже. Сначала смотришь - солидная компания, солидный сайт и т.п.. Разрабатывайте пожалуйста, вот Вам бета-тестирование, мы обеспечиваем на своем сайте и все такое. Ну пашешь конечно как папа Карло. И только потом доходит - меня просто использовали, ничего я здесь заработать не мог "в принципе". И тот кто мне письма хорошие писал - прекрасно об этом знал. И я далеко не первый и не последний мотылек прилетевший на этот огонь  Улыбающийся
11344  Программирование / Алгоритмы / Re: Пересечение поверхностей : Август 30, 2009, 13:58
1) Какого типа пересечения, например в 2-х или в 3-х измерениях
2) Соответсвенно по какому принципу разбивка и сборка новых(очень желательна картинка)
3) Какова цель(не вдаваясь в предметную область)
4) Какие ограничения
1) в 3-х измерениях
2) Никаких принципов пока нет - это и есть цель/тема обсуждения. Пока я умею находить точки/отрезки пересечений.
3) Цель - та же геометрия но с новыми вершинами (вертексами) в местах пересечений. Для этого надо построить новые треугольники.
4) Гарантируется что все исходные полигоны корректны (планарны). Все в памяти (примерно до 12 Gb) свапа на диск нет.

Edit: хотел "прикрепить картинку" а она что-то "не прикрепляется"  Улыбающийся Наверное что-то не так делаю

11345  Программирование / Алгоритмы / Пересечение поверхностей : Август 30, 2009, 12:43
Здравствуйте

Есть полигоны (только треугольники), нужно разбить их в местах где они пересекают друг друга. Задача очень близка к boolean, но в данном случае цель - улучшение качества карты освещенности. Сам инструмент collision detection у меня есть. Я могу определять что ребро и/или полигон пересекает другой полигон, могу найти точки пересечения. Проблема в том что делать когда пересечения найдены и как вообще организовать данные. Например, один большой полигон (такой как пол или потолок) может пересекаться с очень многими другими. Что мне делать с найденными отрезками пересечений? Как собрать их в новые полигоны?

Идеи, предложения?

Заранее спасибо
11346  Qt / Установка, сборка, отладка, тестирование / Re: mac os 10.6 : Август 30, 2009, 10:22
Я буду сидеть на 10.5 до последней возможности. Неприятности искать не надо, они сами нас находят  Улыбающийся  От 10.6 уже получил: скорее всего прийдется переписывать драйверы для hardware key, т.к. все ядро 10.6 в 64-bits. Плачущий 
11347  Программирование / С/C++ / Re: Передача параметров/аргументов : Август 30, 2009, 10:00
Вызов new/delete гораздо дороже чем передача структуры по значению. Само инвертирование довольно сложное, больше 100 строк, поэтому надо держать его в 1 функции. Разумеется, Ваш и мой варианты будут работать, но согласитесь: ковбой из Колорадо написал короче/проще  Улыбающийся   
11348  Qt / Общие вопросы / Re: QFileDialog - не правильно работает под MAC : Август 29, 2009, 19:16
Spectre, я просто рассказал все что я знаю на Mac по этому поводу (начиная с 1994) . Ecли Вас это не устраивает - это не моя проблема (к счастью не я разрабатываю OSX). Будьте здоровы
11349  Программирование / С/C++ / Re: Передача параметров/аргументов : Август 29, 2009, 19:03
Правильнее и наиболее оптимально:
Код:
void InvertMatrix(Matrix& theInvertedMatrix, const Matrix* theSourceMatrix=NULL)
{
   if (theSourceMatrix && theSourceMatrix != &theInvertedMatrix) {theInvertedMatrix= *theSourceMatrix;}

// invert matrix  theInvertedMatrix

}
Так сходу не получается  Улыбающийся Defaulrt NULL не имеет смысла, нет исходной матрицы - нечего инвертировать. Присвоение theInvertedMatrix ничего не дает т.к. theInvertedMatrix должна (довольно тщательно) вычисляться. Логика мало изменилась со времен Аристотеля - и она столь же неумолима (знание классов мало помогает :-)) 
11350  Разное / Говорилка / Re: Программы для продаж : Август 29, 2009, 18:04
Хотел узнать есть ли в мире нета, сайты где каждый может выкласть свои проги(что-то типа http://qt-apps.org) только за деньги (правда небольшие).
Таких сайтов довольно много, и я (к сожалению) имел (не)счастье с этой системой ознакомиться на практике. Мои личные выводы: НИКОГДА юзер не воспринимает серьезно программу/продукт которая "даже" не имеет своего сайта, своей системы платежей и.т.п.  Не имейте иллюзий что кто-то будет продавать Вашу программу за Вас - хотя такой продавец и найдется, его цели будут совсем другие.

Глагол "ложить" должен употребляться с приставкой, глагол "класть" - без приставки. Так и с продажей программ - какую-то "приставку" нужно иметь  Улыбающийся



11351  Программирование / С/C++ / Re: Передача параметров/аргументов : Август 29, 2009, 17:14
Ну и в чем прикол? Не вижу особой разницы.
Разве что
void InvertMatrix( Matrix * theInvertedMatrix, const Matrix * theSourceMatrix );
Лучше чем
void InvertMatrix( Matrix * theInvertedMatrix, Matrix theSourceMatrix );
с точки зрения оптимизации.
В последнем случае - может возникнуть лишнее копирование структуры

Для приколов есть другие threads. Здесь же (увы) прийдется все разжевывать. Часто (в большинстве случаев)  нужно инвертировать матрицу "на месте". В этом случае theInvertedMatrix и theSourceMatrix указывают на тот же адрес. При передаче обеих матриц по адресу/ссылке надо это предусмотреть:

Код:
void InvertMatrix( Matrix * theInvertedMatrix, const Matrix * theSourceMatrix )
{
   Matrix temp;
   if (theInvertedMatrix == theSourceMatrix) {
     temp = *theSourceMatrix;
     theSourceMatrix = &temp;
   }
  
// теперь инвертируем Гауссом и.т.п.
   ....
}

А он просто сказал компилятору то же сделать  и спокойно вызывает

Код:
Matrix M = ...
...
InvertMatrix(&M, M):
11352  Qt / Общие вопросы / Re: QFileDialog - не правильно работает под MAC : Август 29, 2009, 16:50
Причем здесь это.
Диалог с режимом ввода имени файла в Mac есть, что показывает работа в режиме QFileDialog::AcceptSave. Просто в Qt для QFileDialog::AcceptOpen + QFileDialog::AnyFile вызывается не тот Mac диалог(или возможно не в том режиме) это и есть ошибка троллей.
Нативные файловые диалоги "Open" и "Save" = 2 совершенно разных диалога (по крайней мере на Mac). Разные нативные функции (типа NavGetFile/NavPutFile) используются для каждого, разные нативные ресурсы и т.п. Это 2 разных сервиса, а не 2 режима того же диалога. Для "Open" диалога строки ввода никогда не было, а для "Save" всегда была. Претензии к Qt программистам в данном случае беспочвенны  Улыбающийся   
11353  Программирование / С/C++ / Re: Передача параметров/аргументов : Август 29, 2009, 16:29
Чтоб можно было указать исходную матрицу в качестве результирующей.
Прямое попадание. все правильно. Поздравляю! 
11354  Программирование / С/C++ / Re: Передача параметров/аргументов : Август 29, 2009, 16:27
Без контекста использования ничего толкогого о таком способе сказать нельзя.
Так что рассказывай Улыбающийся
Подумайте как было бы удобно (и неудобно) вызывать функцию InvertMatrix. Какие проблемы/неудобства могут возникнуть при использовании классического

void InvertMatrix( Matrix * theInvertedMatrix, const Matrix * theSourceMatrix );

?
11355  Qt / Общие вопросы / Re: QFileDialog - не правильно работает под MAC : Август 29, 2009, 15:58
Есть в режиме QFileDialog::AcceptSave, а значит в Mac есть диалог! Но QT делает неправильный вызов для режима QFileDialog::AcceptOpen + QFileDialog::AnyFile!
Пережил 3 поколения нативных файл диалогов в Mac (каждый раз приходилось переписывать программы). Но ни разу не видел строку ввода чтобы в режиме "Open"  Улыбающийся Конечно, можно ее добавить через customize, но то глухой нативняк.
Страниц: 1 ... 755 756 [757] 758 759 ... 761

Страница сгенерирована за 0.266 секунд. Запросов: 20.