Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
 Аватар для Jaguar
393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 833

Движение под углом 45 градусов

23.04.2011, 00:25. Показов 4348. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вобщем что то у меня тут не получаеться вывести чтобы нормально двигался шарик под углом, пожалуйста может ктонибудь посмотреть что я не так делаю, просто на яве не программировала около месяца , забыл половину.
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
import java.awt.event.*;  import java.applet.*;   import java.awt.*; import java.io.*;
import static java.lang.Math.PI;
import static java.lang.Math.sqrt;
import static java.lang.Math.pow;
import static java.lang.Math.cos;
import static java.lang.Math.acos;  /* - возвращает угол синус которога задан в скобках */
import static java.lang.Math.sin;
import static java.lang.Math.asin;  /* - возвращает угол косинус которога задан в скобках */
import static java.lang.Math.toDegrees; /* - пребразование градусов в радианы */
import static java.lang.Math.round;
import static java.lang.Math.rint;
/*
 <applet code="Clases" width = 500 height = 100>
 </applet>
 */
public class Clases extends Applet   implements Runnable {
    Thread t;
    int x,y,H1,L1;  double H,L; String sH,sL;  
     boolean stopflag = false;
    public void init() {
        
        t = null;
    }
//////////////////////////////////////
    public void start() {
        t = new Thread(this);
        stopflag = false;
        t.start();
    }
    //////////////////////////////////////
    public void run() {
        H=round((15*3*sin(45)-(10*3*3)/2));
        L=round((15*6*cos(45)));
        sH = " "+H; 
        sL = " "+L;
        H1 = Integer.parseInt(sH);
        L1 = Integer.parseInt(sL);
        do {
            try {
                
            x=x+(L1);
            y=y+(H1);
                repaint();
                Thread.sleep(100);
                if(stopflag) break;
            }catch(InterruptedException exc) {  }
        }while((x<=120)&(y<=30));
    }
    //////////////////////////////////////
    public void stop() {
        t=null;
        stopflag = true;
    }
    //////////////////////////////////////
    public void paint(Graphics g) {
     g.drawOval(x, y, 40, 40);
     
    }
 }
Добавлено через 3 часа 0 минут
программировала
программировал

Добавлено через 44 минуты
Ладно, раз никто не помогает
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2011, 00:25
Ответы с готовыми решениями:

Вектор под углом 90 градусов
Как можно провести вектор Ed* что бы как на рисунке был угол между А и вектором Ed* угол 90 градусов?

Градиент под углом ~40 градусов
Доброго времени суток. Как можно реализовать градиент (угол ~40 градусов) как на картинке?

Построить синусоиду под углом к OX в 45 градусов
Здравствуйте, есть интересная задача (по крайней мере для меня). Итак, нужно построить синусоиду под углом к OX в 45 градусов.

10
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
23.04.2011, 01:06
Jaguar, посмотрите Движение фигуры
1
 Аватар для Jaguar
393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 833
23.04.2011, 01:21  [ТС]
Спасибо! Блин, я там чуток кое-что не проходил.

Добавлено через 5 минут
Даже больше

Добавлено через 1 минуту
А вы можете посмотреть пожалуйста , где у вас основная программа(ну тоесть ,где объект джижется под углом)

Добавлено через 1 минуту
вот это :
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
import java.awt.Image;
import java.awt.Point;
 
public class MovingImage {
 
    private Image image;
    private Point location;
    private Scale scale;
    private boolean dirX = true;
    private boolean dirY = true;
 
    public MovingImage(Image image, Point location, Scale scale) {
        this.image = image;
        this.location = location;
        this.scale = scale;
    }
 
    public MovingImage(Image image, Point location, Scale scale, boolean dirX,
            boolean dirY) {
        this.image = image;
        this.location = location;
        this.scale = scale;
        this.dirX = dirX;
        this.dirY = dirY;
    }
 
    public void setImage(Image image) {
        this.image = image;
    }
 
    public Image getImage() {
        return image;
    }
 
    public void setLocation(Point location) {
        this.location = location;
    }
 
    public Point getLocation() {
        return location;
    }
 
    public void setScale(Scale scale) {
        this.scale = scale;
    }
 
    public Scale getScale() {
        return scale;
    }
 
    public void setDirX(boolean dirX) {
        this.dirX = dirX;
    }
 
    public boolean getDirX() {
        return dirX;
    }
 
    public void setDirY(boolean dirY) {
        this.dirY = dirY;
    }
 
    public boolean getDirY() {
        return dirY;
    }
 
}
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
23.04.2011, 01:26
Jaguar, вам надо разобраться, что происходит в классе ViewForm.
Вот ваш код, который я немного переделал до более-менее рабочего состояния
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
import java.applet.*;
import java.awt.*;
 
/*
 <applet code="Clases" width = 500 height = 100>
 </applet>
 */
public class Main extends Applet implements Runnable {
   /**
    * 
    */
   private static final long serialVersionUID = 945921479000566757L;
   Thread t;
   int x, y, H1, L1;
   double H = 0, L = 0;
   String sH, sL;
   boolean stopflag = false;
 
   public void init() {
 
      t = null;
   }
 
   // ////////////////////////////////////
   public void start() {
      t = new Thread(this);
      stopflag = false;
      t.start();
   }
 
   // ////////////////////////////////////
   public void run() {
      H++;
      L++;
      H1 = (int) H;
      L1 = (int) L;
      do {
         try {
 
            x = x + (L1);
            y = y + (H1);
            repaint();
            Thread.sleep(50);
            if (stopflag)
               break;
         } catch (InterruptedException exc) {
         }
      } while ((x <= 150) & (y <= 150));
   }
 
   // ////////////////////////////////////
   public void stop() {
      t = null;
      stopflag = true;
   }
 
   // ////////////////////////////////////
   public void paint(Graphics g) {
      g.drawOval(x, y, 40, 40);
 
   }
}
1
 Аватар для Jaguar
393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 833
23.04.2011, 01:45  [ТС]
Ух, буду смотреть , спасибо , тогда если не пойму , напишу

Добавлено через 1 минуту
А что это?
Java
1
 private static final long serialVersionUID = 945921479000566757L;
Добавлено через 9 минут
M128K145, а вот еще мне надо чтобы еще по параболе двигалось, вот я только не знаю как это реализовать , совместить координаты(x;y) с высотой и длинной(H;L) , уравнения вывести не проблема , но , как всегда же ,в программе это делается сложнее.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
23.04.2011, 02:29
Цитата Сообщение от Jaguar Посмотреть сообщение
А что это?
Это сгенерированный уникальный идентификатор класса.

Цитата Сообщение от Jaguar Посмотреть сообщение
уравнения вывести не проблема , но , как всегда же ,в программе это делается сложнее.
В чем проблема попиксельно нарисовать параболу?
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
import java.applet.*;
import java.awt.*;
 
/*
 <applet code="Clases" width = 500 height = 100>
 </applet>
 */
public class Main extends Applet implements Runnable {
   /**
    * 
    */
   private static final long serialVersionUID = 945921479000566757L;
   Thread t;
   int L = -12;
   boolean stopflag = false;
   private int x, y;
 
   public void init() {
      t = null;
   }
 
   // ////////////////////////////////////
   public void start() {
      t = new Thread(this);
      stopflag = false;
      t.start();
   }
 
   // ////////////////////////////////////
   public void run() {
      do {
         try {
            x = 30 + L;
            y = 150 - L * L;
            L++;
            repaint();
            Thread.sleep(150);
            if (stopflag)
               break;
         } catch (InterruptedException exc) {
         }
      } while (L <= 12);
   }
 
   // ////////////////////////////////////
   public void stop() {
      t = null;
      stopflag = true;
   }
 
   // ////////////////////////////////////
   public void paint(Graphics g) {
      g.drawOval(x, y, 40, 40);
 
   }
}
1
 Аватар для Jaguar
393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 833
23.04.2011, 11:56  [ТС]
M128K145, а в java углы преобразовываются в радианы или в обычные, когда пишешь типо sin(30)?
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
23.04.2011, 14:13
Цитата Сообщение от Java™ Platform, Standard Edition 6 API Specification
Java
1
public static double sin(double a)
Returns the trigonometric sine of an angle. Special cases:
- If the argument is NaN or an infinity, then the result is NaN.
- If the argument is zero, then the result is a zero with the same sign as the argument.
The computed result must be within 1 ulp of the exact result. Results must be semi-monotonic.

Parameters:
a - an angle, in radians.
Returns:
the sine of the argument.
java.lang.Math.sin
0
 Аватар для Jaguar
393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 833
23.04.2011, 14:21  [ТС]
сэннк

Добавлено через 1 минуту
блин в радианах неудобно
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
23.04.2011, 17:44
java.lang.Math.toDegrees
java.lang.Math.toRadians
0
 Аватар для Jaguar
393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 833
23.04.2011, 18:39  [ТС]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.04.2011, 18:39
Помогаю со студенческими работами здесь

Передвижение объекта под углом 45 градусов
Здравствуйте, подскажите как сделать передвижение объекта(Shape1) если нажать две кнопки(вверх, вправо или влево) по 45 град. FormKeyDown

Рисование линий под углом в 45 градусов
Всё перерыл нигде нет этого а надо очень(((( помогите пожалуйста Необходимо написать программу на языке Assembler в среде Borland...

вывести содержимое формы под углом 90 градусов
имеется функция SDK которой передается хэндл окна, а она на нем рисует видеопоток с IP-камеры. в качестве хэндла передаю свойство Handle...

Вращение вокруг точки под углом 45 градусов
Нужно реализовать вращение под углом 45 к двум осям (У и Х) Пробовал так: position = Vector3.Transform(new Vector3(0, 0, 1),...

Движение под углом
Я хотел бы сделать движение объекта под определенным углом. Если я ставлю объект под углом и начинаю двигать через velocity, то объект...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru