Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/47: Рейтинг темы: голосов - 47, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 11.04.2011
Сообщений: 18

Вращение фигуры вокруг своего центра тяжести

18.12.2011, 18:13. Показов 9956. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как заставить вращаться треугольник вокруг своего центра тяжести, помогите доделать а то уже 3 час сижу с этой на вид легкой программой. Проблема кроется в конце программы.
З.Ы. центр тяжести отмечен одним концом вращающейся вокруг него линии. треугольник тоже дан.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.*;
 
public class dgfsgsg extends JFrame {
 
    dgfsgsg(String s) {
        super(s);
        DrawPanel panel = new DrawPanel();
        panel.setPreferredSize(new Dimension(300, 300));
        add(panel);
        pack();
        setVisible(true);
        this.setLocationRelativeTo(null);
    }
 
    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {}
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frame = new dgfsgsg("Маятник");
                frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
            }
        });
    }
 
    public class DrawPanel extends JComponent implements Runnable {
 
        private long t = System.nanoTime();
 
        public DrawPanel() {
            super();
            new Thread(this).start();
        }
 
        @Override
        public void run() {
            while (true) {
                repaint();
                try {
                    Thread.sleep(5);
                } catch (InterruptedException ex) {}
            }
        }
 
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2d = (Graphics2D) g;
 
            long tm = System.nanoTime() - t;
            double angle = tm / 300000000.0;            
 
            double sn = Math.cos(angle);
            double cs = Math.sin(angle);
            int x = (int) (75 * cs + 130);
            int y = (int) (75 * sn+ 120);
            g2d.drawLine(130, 120, x, y);
            g2d.drawOval(55, 45, 150, 150);
            //g2d.drawLine(70, 70, x, y);
            int xpoints[] = {70, 250, 70};
            int ypoints[] = {70, 70, 220};
            int num = 3;
            g2d.drawPolygon(xpoints, ypoints, num);
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.12.2011, 18:13
Ответы с готовыми решениями:

Изобразить разносторонний треугольник, вращающийся в плоскости апплета вокруг своего центра тяжести
вот условие: Изобразить разносторонний треугольник, вращающийся в плоскости апплета вокруг своего центра тяжести. Вот то что у меня...

Поворот треугольника вокруг центра тяжести
Доброго времени суток! Выполняю задания с этого сайта...

Вращение равнобедренного треугольника вокруг центра экрана, и одновременно вокруг своего центра. (Turbo Pascal)
Задача в заголовке. Как вращать треугольник вокруг центра я примерно знаю (писали аналогичное для круга), а вот с одновременным вращением...

8
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
20.12.2011, 07:39
А в чем проблема? Алгоритм прост до безобразия:
1. по заданным координатам вершин вычисляешь координаты центра;
2. находишь расстояния от центра до каждой из вершин;
3. вращаешь вершины относительно центра по радиусам, вычисленным на предыдущем шаге.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
20.12.2011, 12:45
Цитата Сообщение от aleksandy Посмотреть сообщение
Алгоритм прост до безобразия:
а разве у треугольников с разными углами центр тяжести в центре???
0
 Аватар для Jaguar
393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 833
20.12.2011, 20:24
Центр тяжести треугольника находится на пересечении трёх медиан.
0
0 / 0 / 0
Регистрация: 11.04.2011
Сообщений: 18
21.12.2011, 10:31  [ТС]
центр тфжести я уже отметил, но не получается заставить вращаться фигуру. Алгоритм мне вполне ясен, реализация не получается.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
21.12.2011, 16:54
В прошлом году писал лабу по подобной теме. В аттаче исходники, собранный джар и тестовые изображения. Переделать, думаю, будет не сложно
Вложения
Тип файла: zip src.zip (15.1 Кб, 363 просмотров)
Тип файла: zip BCG_Labs.jar.zip (28.7 Кб, 255 просмотров)
Тип файла: zip test_images.zip (50.4 Кб, 226 просмотров)
3
 Аватар для skuns
2 / 2 / 2
Регистрация: 28.12.2014
Сообщений: 44
02.01.2015, 11:08
Цитата Сообщение от M128K145 Посмотреть сообщение
В прошлом году писал лабу по подобной теме. В аттаче исходники, собранный джар и тестовые изображения. Переделать, думаю, будет не сложно
M128K145, подскажи пожалуйста материал для изучения, по выполнению тобою показанных лаб.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
04.01.2015, 14:16
skuns, хм... гугл и методички из универа. больше ничего не использовал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2015, 14:16
Помогаю со студенческими работами здесь

Изобразите разносторонний треугольник, вращающийся вокруг своего центра тяжести
Изобразите разносторонний треугольник, вращающийся в плоскости экрана вокруг своего центра тяжести.

Получить на экране разносторонний треугольник, вращающийся вокруг своего центра тяжести
Получить на экране разносторонний треугольник, вращающийся вокруг своего центра тяжести

Вращение картинки вокруг своего центра
В меня есть картинка : img = addPixmap(QPixmap("img.gif")); мне нужно крутить ее вокруг ее центра,методы rotate как извесно вертят...

Вращение квадрата вокруг своего центра
Может кто подсказать как вращать квадрат вокруг своего центра? 2D объект, если применяю формулу вращения вокруг центра, то квадрат не...

Изобразите разносторонний треугольник, вращающийся в плоскости экрана вокруг своего центра тяжести
Изобразите разносторонний треугольник, вращающийся в плоскости экрана вокруг своего центра тяжести.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru