Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/34: Рейтинг темы: голосов - 34, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 12.03.2016
Сообщений: 19

Нарисовать круг с пользовательским радиусом. Как передать значение String из s1-JFrame в s2-Canvas?

14.12.2018, 17:40. Показов 6934. Ответов 21

Студворк — интернет-сервис помощи студентам
Задача:
Нарисовать круг с пользовательским радиусом.

Предполагаемый сценарий реализации:
Пользователь вводит значение радиуса в JTextField input,
программа должна нарисовать кружок с этим радиусом.

Проблема:
Не могу передать данные из String s1 (пользовательский ввод) в String s2 (в дальнейшем для преобразования в int r).
Разумеется, для простоты кода отключены
- слушатели (искусственно JTextField input = new JTextField("13",12); ),
- исключения (считаем, что вводится только int-число) и прочее.

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
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class UserCircleJTextField extends JFrame {
    UserCircleJTextField(String s){
        super(s);
        String s1, s2;
 
        JPanel container = new JPanel();
        container.setLayout(null);
        
        JTextField input = new JTextField("13",12);
        input.setBounds(20,30,40,25);
        container.add(input);
        
        PaintCircle pc = new PaintCircle();
        pc.setBounds(0,0,800,600);
        container.add(pc);
        
        setVisible(true);
        setLocation(300,200);
        setSize(800,600);
        setContentPane(container);
        
        s1 = input.getText();
        
        System.out.println("В UserCircleJTextField-class s1=***"+s1+"***");
 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
     
     // =================== Как передать значение из s1 в s2, т.е. s2=s1 ??? ===================
            //String s2 = s1; 
    String paintCircle(String st1){
         System.out.println("В paintCircle-function st1=***"+st1+"***");
        return st1;
    }
    
    public class PaintCircle extends Canvas {
         String s2 = paintCircle("21"); // - ok!
         //String s2 = input.getText();
         //String s2 = s1;
        //  String s2 = UserCircleJTextField.UserCircleJTextField(s1);
 
        public void paint(Graphics gr) {
               int x,y,r;
               x = 100;
               y = 100;
               r = Integer.parseInt(s2);
                     gr.setColor(Color.BLUE);
                     gr.fillOval(x,y,r,r);
                     gr.drawString("R="+s2, x+r, y+r);
                     System.out.println("В paint Graphics gr s2=***"+s2+"***");
        }
 
    }
    
// ========== main =============
    public static void main(String[] args) {
        JFrame urerWindow = new UserCircleJTextField("Окно для ввода-вывода input=JTextField и PaintCircle(x,y,R=input)");
        urerWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.12.2018, 17:40
Ответы с готовыми решениями:

Как нарисовать на экране круг нужным радиусом?
Как нарисовать на экране круг нужным радиусом? Напр., user вводит в Edit1 число 15 и рисуется круг с R=15см. User берет линейку и измеряет...

Ввести радиус в Edit, нарисовать круг с этим радиусом
при вводе в Edit радиуса, рисуется круг с этим радиусом

Нарисовать круг с определённым диаметром (радиусом), чтобы он касался точки
Доброго времени суток! Помогите пожалуйста со следующей задачей. В общем у меня есть точка допустим A с координатами (x, y) Мне нужно...

21
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
14.12.2018, 18:21
какая-то дичь. Прочитай про области видимости, например. Прежде чем лезть в гуй разберись с основами языка
0
1 / 1 / 0
Регистрация: 12.03.2016
Сообщений: 19
14.12.2018, 18:49  [ТС]
xoraxax, допустим...
Только как это поможет?
Я пытаюсь передать значение переменной из одного класса в другой.
И не получается это.
При чем тут видимость?
С основами языка я, согласен, так и не смог разобраться.
Так Помоги, Великий!
А писать отписку из всякой чуши - вовсе не показатель умений, а напротив:
Показатель лишь хамства, себялюбия.
Как можно Разобраться, когда задаешь вопрос в попытках это сделать,
а получаешь такие вот ответы.
Так ответь по существу, о, Великий Могучий Умник!
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
14.12.2018, 19:02
все просто, копируешь java области видимости, вставляешь в любимый поисковик и читаешь

Добавлено через 5 минут
чтобы было понятнее, проблема, которую ты обозначил - на самом деле не проблема, а следствие того, что ты не понимаешь язык
0
1 / 1 / 0
Регистрация: 12.03.2016
Сообщений: 19
14.12.2018, 20:35  [ТС]
xoraxax, ну, давай так:
есть переменная извне (я задаю её в TextField, но мог бы считать из файла, БД и т.п.),
задача - передать её значение в метод, который будет её использовать -
в моем случае - это значение радиуса для рисования круга.
Я согласен, что пытаюсь понять как это вообще можно реализовать, и пока не получается.
Именно потому, что не могу найти подобного примера такого простого действия,
а мною написанный код, не работает, я и обращаюсь на форум к знатокам.
Так помоги с ответом, пожалуйста.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
14.12.2018, 20:52
Java
1
2
3
4
5
6
Ну если тебе ее надо передать в метод, так почему ты этого не делаешь?
public void drawCircle(int radius) {
 ...
 рисуем круг
 ...
}
Добавлено через 1 минуту
зачем делать вложенный класс, если можно его не делать, тоже не понятно.
Если ты хочешь задать состояние объекта при его создании, можно написать соответствующий конструктор.

Добавлено через 1 минуту
еще раз, чтобы было понятнее, хрен знает, чего ты хочешь, поэтому отвечать на твои вопросы довольно сложно.
0
1 / 1 / 0
Регистрация: 12.03.2016
Сообщений: 19
16.12.2018, 09:47  [ТС]
xoraxax, ты про это: ?

public class PaintCircle extends Canvas {

У меня в ином случае окно почему-то оставалось прозрачным (может, какое-то свойство как-то надо было переопределить...)

В таком виде вообще не работает:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class PaintCircle extends Canvas {
         String s2 = paintCircle("21"); // - ok!
         public void drawCircle(int radius) {
           public void paint(Graphics gr) {
               int x,y,r;
               x = 100; y = 100;
               r = Integer.parseInt(s2);
                     gr.setColor(Color.BLUE);
                     gr.fillOval(x,y,r,r);
                     gr.drawString("R="+s2, x+r, y+r);
                     System.out.println("В paint Graphics gr s2=***"+s2+"***");
          }
                }
}
Поменял местами вложения, тоже ни к чему не привело:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class PaintCircle extends Canvas {
         String s2 = paintCircle("21"); // - ok!
         public void paint(Graphics gr) {
               int x,y,r;
               x = 100; y = 100;
               r = Integer.parseInt(s2);
            public void drawCircle(int radius) {
                     gr.setColor(Color.BLUE);
                     gr.fillOval(x,y,r,r);
                     gr.drawString("R="+s2, x+r, y+r);
                     System.out.println("В paint Graphics gr s2=***"+s2+"***");
            }
                }
}
- И теперь я ещё больше не понимаю как тогда вообще описать метод drawCircle(int radius) без paint, если не вкладывать одно в другое: как тогда компилятору понимать что такое fillOval, setColor и прочее, относящееся к paint.

Я уже думал, что, возможно, JTextField неуместно здесь использовать, но дело всё-таки не в нём.
Из JTextField я всего лишь вытаскиваю String s1, которую в дальнейшем хочу преобразовать в int radius, а уже этот radius и отдавать в fillOval(x,y,r,r);
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
16.12.2018, 11:22
DrDany, да хотя бы так...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
class PaintCircle{
    private int radius;
 
    public PaintCircle(int radius) {
        this.radius = radius;
    }
 
// some methods...
}
 
// Main
PaintCircle pc = new PaintCircle(Integer.parseInt(input.getText());
//...
0
1 / 1 / 0
Регистрация: 12.03.2016
Сообщений: 19
16.12.2018, 11:57  [ТС]
iSmokeJC, не совсем понял.
input.getText() у меня не определяется в PaintCircle, в котором я и предполагаю сами графические элементы разместить ( gr.fillOval(x,y,r,r).
К PaintCircle pc = new PaintCircle(Integer.parseInt(input.getTe xt());
я должен в main'e добавить ещё нечто вроде:
"
pc.setBounds(0,0,800,600);
container.add(pc);
"
- Так?

И главное:
Сам PaintCircle не оставлять пустым, как у меня: PaintCircle(),
а передать именно ему переменную input из "JTextField input = new JTextField("13",12);",
таким образом получается:
PaintCircle(Integer.parseInt(input.getTe xt());
- и переменная должна задаваться именно через main, а не в теле метода, где описывается непосредственно рисования?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
16.12.2018, 12:04
я бы предложил начать с самого начала - hello world, кошечки, собачки, вот это все
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
16.12.2018, 12:05
Цитата Сообщение от DrDany Посмотреть сообщение
Так?
Не так. Ничего в мэйне не надо добавлять.
Цитата Сообщение от DrDany Посмотреть сообщение
не в теле метода, где описывается непосредственно рисования
Я тебе дал набросок, где текстфилд в мэйне, и из него берется значение и передается в конструктор PaintCircle. Никакая input туда не передается.
Цитата Сообщение от DrDany Посмотреть сообщение
должна задаваться именно через main
Вообще-то не надо городить огород в мэйне в принципе.
1
1 / 1 / 0
Регистрация: 12.03.2016
Сообщений: 19
16.12.2018, 12:22  [ТС]
iSmokeJC, ну, вот я тоже так и понимал изначально, что в мэйне 1,5-2 строчки приветствуется, а не плантации.
По сути в моём исходнике текстфилд - тоже в конструкторе лежит, только в другом.
И я пытаюсь два конструктора использовать не там, где нужно - в этом моя ошибка?
Если б я понял саму ошибку именно в подходе - наверняка, уже бы всё исправил.
Я пользуюсь такой логикой:
1. Создаю текстфилд в окне класса
Java
1
2
public class UserCircleJTextField extends JFrame {
...}
2. Из текстфилда читаю значение input
3. Преобразовываю его в int
4. Далее: класс-рисовалка
Java
1
2
public class PaintCircle extends Canvas {
...}
непосредственно выводит в это же окно круг с центром в х,у и радиусом r, взятым из input
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
16.12.2018, 12:29
DrDany, если у тебя функционал расширяться не будет, можно сделать топорно, в одном классе. Прикрути туда кнопку, повесь на нее обработчик и в нем забирай значение из текстфилда и с ним вызывай метод отрисовки овала.
0
1 / 1 / 0
Регистрация: 12.03.2016
Сообщений: 19
16.12.2018, 12:43  [ТС]
iSmokeJC, хочется сразу по-нормальному учиться, а не топорно.
ООП всё-таки тем и отличается от процедурного программирования, что каждая гайка в своем классе, методе, а не тупо в тысячах строк галимого кода.
За основу своего этого кода я брал чужой пример Блокнота, в котором значение из текстфилда выводилось в текстареа - просто строками. Ну, да какая разница - s1 я преобразовал в int, только не смог в методы paint'a передать.
TextArea стоял в том же классе от JFrame - и всё было понятно.
Как только я ввел элементы paint, началась Задача.
Потому как стало непонятно куда его приткнуть.
В оригинале было так:
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
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class EventExample extends JFrame{
    EventExample(String s){
        super(s);
        //JTextField myLabel = new JTextField("",5);
        JPanel container1 = new JPanel();
        container1.setLayout(null);
        
        JTextField input = new JTextField("0",5);
        container1.add(input);
        input.setBounds(10,10,50,25);
        
        JButton send = new JButton ("Сохранить");
        container1.add(send);
        send.setBounds(70,10,100,25);
        
        JTextArea memory = new JTextArea();
        //memory.setEditable(false);
        container1.add(memory);
        memory.setBounds(10,50,250,55);
    public static void main(String[] args) {
        JFrame NoteBook = new EventExample("Мой блокнот");
        NoteBook.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
}
0
16.12.2018, 12:47

Не по теме:

Цитата Сообщение от DrDany Посмотреть сообщение
хочется сразу по-нормальному учиться
Похвально, похвально!

0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
16.12.2018, 13:15
Цитата Сообщение от DrDany Посмотреть сообщение
В оригинале было так:
по-моему это вообще не компилируется
0
1 / 1 / 0
Регистрация: 12.03.2016
Сообщений: 19
16.12.2018, 13:31  [ТС]
xoraxax, я снизу мэйн опустил.
Так что в чистом виде, конечно, не будет.
Это - фрагмент, когда я переходил от тексареа к кружочку.
Полный работающий листинг так выглядит:
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class EventExample extends JFrame{
    EventExample(String s){
        super(s);
        JPanel container1 = new JPanel();
        container1.setLayout(null);
        
        JTextField input = new JTextField("0",5);
        container1.add(input);
        input.setBounds(10,10,50,25);
        
        JButton send = new JButton ("Сохранить");
        container1.add(send);
        send.setBounds(70,10,100,25);
        
        JTextArea memory = new JTextArea();
        //memory.setEditable(false);
        container1.add(memory);
        memory.setBounds(10,50,250,55);
        
        //String s1 = input.getText();
        class DrawBar extends Canvas {
               public void paint(Graphics gr) {
                   int x,y;
                   //Integer.parseInt(input.getText());
                   System.out.println("В DrawBar: ***"+input.getText()+"***");
                   String s1 = (input.getText());
                   //s1 = s2;
                   x = 10; //parseInt(s1);
                   y = 200;
                         gr.setColor(Color.BLUE);
                         gr.fillRect(x,y,10,10);
                         gr.setColor(Color.RED);
                         gr.drawString("= "+s1+" =", x+5, y);
 
                         addKeyListener(new KeyAdapter() {
                             public void keyTyped(KeyEvent e) {
                                if (e.getKeyChar()==' ') {
                                   repaint();
                                }
                             }
                          });
                   }
        }
        
        input.addActionListener(new Handler(input, memory));
        send.addActionListener(new Handler(input, memory));
        setVisible(true);
        setLocation(200,100);
        setSize(800,600);
        DrawBar myDrawBar = new DrawBar();
        myDrawBar.setBounds(0,0,200,300);
        container1.add(myDrawBar);
        
        setContentPane(container1);
 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
    
    public static void main(String[] args) {
        JFrame NoteBook = new EventExample("Мой блокнот");
        NoteBook.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
}
 
class Handler implements ActionListener{ // обработчик
    private JTextField input;
    private JTextArea memory;
    public String s2;
    Handler(JTextField input, JTextArea memory){
        this.input = input;
        this.memory = memory;
    }
 
    public void actionPerformed(ActionEvent aevt){ // метод описывает действия, которые буду происходить при нажатии на Кнопку или клавишу <Enter>
        //memory.append(input.getText()+"\n");
        //s2 = input.getText();
        s2 = getst1(input.getText());
        System.out.println(s2);
        memory.append(s2+"\n");
        input.setText("");
        }
    
    public String getst1(String st1) {
        return st1 = input.getText();
        }
 
}
Значение переменной input успешно передается в JTextArea внутри одного метода,
я хочу сделать, чтобы оно передавалось на графический элемент (в этом коде - это квадрат, суть задачи не изменилась, я лишь попытался отсеять лишнее, чтобы лучше разобраться, заменив на круг, убрав ТехтАреа).

Добавлено через 2 минуты
xoraxax, по аналогии должен рисоваться круг.
Т.е. вместо "приклеивания" в ТекстАреа введённой строки, она парсится в int и выводится круг input-радиуса

Добавлено через 1 минуту
xoraxax, что я на самом деле неправильно делаю в моем подходе к решению задачи?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
16.12.2018, 14:13
Цитата Сообщение от DrDany Посмотреть сообщение
что я на самом деле неправильно делаю в моем подходе к решению задачи?
ты не понимаешь, что ты делаешь. На вот разберись, как работает.
https://docs.oracle.com/javase... index.html
0
1 / 1 / 0
Регистрация: 12.03.2016
Сообщений: 19
16.12.2018, 14:45  [ТС]
xoraxax, спасибо!
Почитаю ещё и это.
Доки читал - и пришёл сюда именно, когда запутался.
Чтобы разобраться где именно не понимаю.
0
296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592
17.12.2018, 13:07
Лучший ответ Сообщение было отмечено DrDany как решение

Решение

простите что мешаю обучению, но все как то похоже на попытку проломить стену за которой дремучий лес не туда.

вашу задачу можно вот так например решить.

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package base;
 
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
 
 
 
public class Test03
{
    public JFrame win;
    public JTextField tf;
    public JLabel jl;
    
    
    public Test03()
    {
        makeWindow();
        makeElement();
    }
    
    
    private void makeWindow()
    {
        JPanel panel = new JPanel();
        panel.setPreferredSize(new Dimension(800, 600));
        panel.setOpaque(false);
        win = new JFrame("Круговорот");
        win.add(panel);
        win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        win.setResizable(false);
        win.pack();
        win.setLayout(null);
        win.setLocationRelativeTo(null);
        win.setVisible(true);
    }
    
    
    private void makeElement()
    {
        //
        jl = new JLabel();
        jl.setBounds(0, 0, 800, 600);
        jl.setHorizontalAlignment(SwingConstants.CENTER);
        jl.setVerticalAlignment(JLabel.CENTER);
        jl.setLayout(null);
        jl.setOpaque(false);
        jl.setVisible(true);
        win.add(jl);
        
        //
        tf = new JTextField();
        tf.addKeyListener(new KeyAdapter()
        {
            public void keyTyped(KeyEvent e)
            {
                char c = e.getKeyChar();
                if (((c < '0') || (c > '9')) && (c != KeyEvent.VK_BACK_SPACE))
                {
                    e.consume();
                }
            }
        });
        tf.setBounds(550, 520, 100, 30);
        tf.setForeground(Color.BLACK);
        tf.setLayout(null);
        tf.setHorizontalAlignment(JTextField.RIGHT);
        win.add(tf);
        
        //
        JButton jb = new JButton("Рисовать");
        jb.setBounds(670, 520, 70, 30);
        jb.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            { 
                if(tf.getText().trim().length() > 0)
                {
                    if (Integer.parseInt(tf.getText()) < jl.getHeight()/2)
                    {
                        makeCircle(jl, Integer.parseInt(tf.getText())*2);
                    }
                    else
                    {
                        JOptionPane.showMessageDialog(null, new String[]{"Введенный радиус больше допустимого"});
                    }
                }
            }
        });
        jb.setMargin(new Insets(0,0,0,0));
        jb.setHorizontalTextPosition(SwingConstants.CENTER);
        jb.setForeground(Color.BLACK);
        jb.setOpaque(true);
        jb.setContentAreaFilled(true);
        jb.setBorderPainted(true);
        jb.setFocusPainted(false);
        jb.setLayout(null);
        win.add(jb);
    }
    
    
    private void makeCircle(JLabel lb, int r)
    {
        BufferedImage bf = new BufferedImage(lb.getWidth(), lb.getHeight(), BufferedImage.TYPE_INT_ARGB);
        Graphics g = bf.createGraphics();
        Graphics2D g2 = (Graphics2D)g;
 
        g2.setColor(new Color(125,125,125,255));
        g2.setStroke(new BasicStroke((float) 3, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
        g2.drawOval((lb.getWidth()-r)/2, (lb.getHeight()-r)/2, r, r);
        g2.dispose();
        
        lb.setIcon(new ImageIcon(bf));
        lb.repaint();
 
        bf.flush();
    }
    
 
    public static void main(String[] args)
    {
        new Test03();
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.12.2018, 13:07
Помогаю со студенческими работами здесь

Нарисовать круг используя Canvas
Здравствуйте. Совсем недавно начал изучать Java ME, такой вопрос, неужели все так сложно с Canvas? Разве обязательно, чтобы нарисовать...

Дан круг с центром O(Xc,Yc) и радиусом R. Определить лежит точка M(x,y) в круге или снаружи. Нарисовать
Дан круг с центром O(Xc,Yc) и радиусом R. Определить лежит точка M(x,y) в круге или снаружи. Нарисовать

На картинке нарисовать круг с центром в точке (100,100) с радиусом 80 пикселей и заполнить его равномерным шумом
Необходимо в картинке с помощью матлаба нарисовать круг с центром в точке (100,100) с радиусом 80 пикселей и заполнить его равномерным...

Круг задается радиусом и координатами центра. Определить, найдется ли среди данных десяти кругов круг, лежащий внутри данного круга
Народ, помогите кто может. Не могу никак написать эту программу. Буду очень благодарен.

SFML - ГГ и злое существо: как реализовать круг провокации (центр - позиция существа) с определенным радиусом?
Доброго времени суток! Имеются спрайты ГГ и некого &quot;агрессивного&quot; существа. При входе в невидимый круг провокации (центр - позиция...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru