Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 13.08.2019, 23:49   #1
Икар К
Пользователь
 
Регистрация: 05.11.2018
Сообщений: 18
По умолчанию [Pascal ABC.NET] Помогите сделать упругую деформацию бруса.

Есть код, что добавить, чтобы брус изогнулся вот так, под своим весом?
Код:
type tt=record x,y: single end; // 2D координаты точки
var a: array[0..2,-3..3]of tt; // брусок, будет изогнут вокруг точки (0,0)
begin
for var i:=0 to 2 do
for var j:=-3 to 3 do // ровный брусок
begin
a[i,j].x:=j*1.0;
a[i,j].y:=i*1.0;
end;
// здесь код изгиба, под действием собственного веса, концы провисают
// как это записать? 
for var i:=0 to 2 do begin
for var j:=-3 to 3 do
write(a[i,j].x,',',a[i,j].y,';'); 
writeln
end;
end.
Изображения
Тип файла: png брус.png (1.0 Кб, 90 просмотров)
Икар К вне форума Ответить с цитированием
Старый 14.08.2019, 03:43   #2
Pvt
Новичок
Джуниор
 
Регистрация: 05.08.2019
Сообщений: 0
По умолчанию

обращайтесь pvt.marat@yandex.ru
e-mail: pvt.marat@yandex.ru
Pvt вне форума Ответить с цитированием
Старый 14.08.2019, 09:07   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,474
По умолчанию

У вас наверное должны быть материалы по задаче? Или откуда это взялось?
По деформации там более сложные формулы расчета. Силы должны быть указаны которые действуют на края бруса.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 14.08.2019, 13:21   #4
Larboss
Недо
Участник клуба
 
Аватар для Larboss
 
Регистрация: 11.08.2011
Сообщений: 1,391
По умолчанию

Пишите: larbossfreelance@yandex.ru
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
Larboss вне форума Ответить с цитированием
Старый 14.08.2019, 16:56   #5
Икар К
Пользователь
 
Регистрация: 05.11.2018
Сообщений: 18
По умолчанию

Задача моя собственная, я сам придумал, и как смог сформулировал
Икар К вне форума Ответить с цитированием
Старый 14.08.2019, 17:06   #6
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,474
По умолчанию

Цитата:
Сообщение от Икар К Посмотреть сообщение
Задача моя собственная, я сам придумал, и как смог сформулировал
Ну в любом случае конкретика нужна. Какой материал бруска? концы свободные как я понимаю? Это же целая физическая модель. В 2 строчки врядли чтото получится изобразить.

А бюджет какой предлагаете?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 14.08.2019, 17:12   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

Та ТС небось просто нарисовать сектор круга ограниченный кругом меньшего диаметра без всякого сопромата)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.08.2019, 17:15   #8
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,474
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Та ТС небось просто нарисовать сектор круга ограниченный кругом меньшего диаметра без всякого сопромата)
Да я тоже так подумал, но вот тут то вроде как очень внятно указано:
Цитата:
// здесь код изгиба, под действием собственного веса, концы провисают
Ну если совсем просто то можно поворачивать каждую точку из центра на определенный угол. Для максимально удаленной точки угол константа. Для остальных брать пропорционально длине. Как то должен изогнуть.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.

Последний раз редактировалось WorldMaster; 14.08.2019 в 17:36.
WorldMaster вне форума Ответить с цитированием
Старый 14.08.2019, 17:36   #9
Pvt
Новичок
Джуниор
 
Регистрация: 05.08.2019
Сообщений: 0
По умолчанию

Цитата:
Сообщение от Икар К Посмотреть сообщение
я сам придумал
длину, массу, профиль, предел упругости знать не обязательно?
e-mail: pvt.marat@yandex.ru
Pvt вне форума Ответить с цитированием
Старый 15.08.2019, 11:30   #10
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,474
По умолчанию

Короче если совсем все просто то вот как то так наверное.

Код:
Image frame = new Bitmap(500, 500);
            int step = 7;
            int xoff = 10;
            int yoff = 10;

            Point center = new Point(5, 0);
            using (Graphics graph = Graphics.FromImage(frame))
            {
                for (int i = 0; i < 11; i++)
                    for (int j = 0; j < 4; j++)
                    {
                        int x = 100 + i * xoff;
                        int y = 0 + j * yoff;

                        double dst = distance(new Point(i, j), center);
                        if (dst != 0)
                        {
                            double dstX = Math.Abs(i - center.X);
                            double fraqX = 0.01;
                            double fraqY = 0.2;

                            if (i > center.X) x += (int)((fraqX * dst * dst * xoff));
                            else if (i < center.X) x -= (int)((fraqX * dst * dst * xoff));
                            y += (int)(0.5 * (fraqY * dst * dst * xoff));
                        }

                        Rectangle rect = new Rectangle(x, y, step, step);
                        graph.FillEllipse(Brushes.Pink, rect);
                        graph.DrawEllipse(Pens.Black, rect);
                    }
            }
            pictureBox1.Image = frame;
Поиграть с коэффициентами чтобы более красиво изгибалось.

ЗЫ. на паскаль уже лень переводить ))
Изображения
Тип файла: png Безымянный.png (21.4 Кб, 46 просмотров)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.

Последний раз редактировалось WorldMaster; 15.08.2019 в 11:43.
WorldMaster вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать все это в Pascal Kazino96 Помощь студентам 5 12.04.2015 14:39
Задача по PASCAl. Помогите сделать. Waia Помощь студентам 1 21.12.2008 19:51
Задача по PASCAl. Помогите сделать. Waia Помощь студентам 3 03.12.2008 19:47
Задача по PASCAl. Помогите сделать. Waia Помощь студентам 3 25.11.2008 10:33