powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Прикрепить ручку к штопору
11 сообщений из 11, страница 1 из 1
Прикрепить ручку к штопору
    #37609673
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курсач по компьютерной графике - изображение штопора. Проблема в "изогнутом к верху и посередине" колене, которое соединяет спираль штопора с его ручкой. Спираль штопора рисую поточечно как

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
            //вычисление вершин
            double ks = 1.0 / M1; //коэффициент заострения
            for (int i = 0; i < N; i++)
            {
                double r1 = r;
                for (int j = 0; j < M + M1; j++)
                {
                    if (j < M)//спираль
                    {
                        V[i, j].x = (R + r * Math.Cos(i * 2 * Math.PI / N)) * Math.Sin(j * k * 2 * Math.PI / (M + M1));
                        V[i, j].y = (R + r * Math.Cos(i * 2 * Math.PI / N)) * Math.Cos(j * k * 2 * Math.PI / (M + M1));
                        V[i, j].z = f * r * Math.Sin(i * 2 * Math.PI / N) + s * k * j * Math.PI / (M + M1);
                    }
                    else //заострение (утончающаяся спираль)
                    {
                        V[i, j].x = (R + r1 * Math.Cos(i * 2 * Math.PI / N)) * Math.Sin(j * k * 2 * Math.PI / (M+M1));
                        V[i, j].y = (R + r1 * Math.Cos(i * 2 * Math.PI / N)) * Math.Cos(j * k * 2 * Math.PI / (M + M1));
                        V[i, j].z = f * r1 * Math.Sin(i * 2 * Math.PI / N) + s * k * j * Math.PI / (M + M1);

                        r1 -= ks; //утоньшение линейное
                    }
                }
            }



Не могу сообразить параметрическое задание колена. Помогите, плиз. Спасибо
...
Рейтинг: 0 / 0
Прикрепить ручку к штопору
    #37609706
Algol36
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kmaw,

Колено это та же самая спираль, только с резко уменьшающимся радиусом.
...
Рейтинг: 0 / 0
Прикрепить ручку к штопору
    #37609712
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Algol36kmaw,

Колено это та же самая спираль, только с резко уменьшающимся радиусом.

надо еще чтобы она вверх изогнулась, и чтобы её конец располагался точно в центре спирали
...
Рейтинг: 0 / 0
Прикрепить ручку к штопору
    #37609717
Algol36
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kmaw,

>её конец располагался точно в центре спирали

он и будет в центре спирали, когда радиус будет нулевой.
...
Рейтинг: 0 / 0
Прикрепить ручку к штопору
    #37609724
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Algol36kmaw,

>её конец располагался точно в центре спирали

он и будет в центре спирали, когда радиус будет нулевой.

надо загнуть конец спирали под 90. но сделать это "плавно"
...
Рейтинг: 0 / 0
Прикрепить ручку к штопору
    #37609741
Algol36
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kmaw,

Он и будет плавно.
Если штопор вдоль оси Y. И колено начинается в точке Y=0, то нужно уменьшать радиус штопора вот так (по гиперболе):
r = R/(y+1) (при y>=0)
r = R (при y<0)
...
Рейтинг: 0 / 0
Прикрепить ручку к штопору
    #37609852
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сдал курсач - забыл "штопор". Как символично!
...
Рейтинг: 0 / 0
Прикрепить ручку к штопору
    #37609956
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, что-то вообще отупляюсь - может на примере моего кода покажите, как надо "согнуть" пружину
...
Рейтинг: 0 / 0
Прикрепить ручку к штопору
    #37609962
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да очень просто. Берёшь похожую фигуру. Цилиндр например. Делаешь ему хорошую тесселяцию
чтоб боковая поверхность была образована сеткой мелких прямоугольников. Далее нужно центральную
часть сделать выпуклой. Для этого образующую цилидра (окружность) делаем меняющейся по
какой-либо кривой (напр. синусоида) так чтоб максимум синуса был по центру цилинда а минимумы
где-то ближе к краям ручки.
...
Рейтинг: 0 / 0
Прикрепить ручку к штопору
    #37609973
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

ну это уже другой кусок - потом его надо присоединить к основной пружине - будут проблемы - у пружины есть интерактивно изменяемые параметры дискретизации и формы, которые должны действовать на неё всю, включая изгиб

я так, наверное сделаю, когда совсем отчаюсь "согнуть" пружину
...
Рейтинг: 0 / 0
Прикрепить ручку к штопору
    #37610008
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спасибо, тема закрыта
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Прикрепить ручку к штопору
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]