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

Координаты точек

01.02.2010, 17:29. Показов 13338. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
скажите какие координаты точек нужно задать чтоб строило "Т 9"?

как то так что б получилось
VB.NET
1
2
3
4
5
6
7
8
                   ______________                   _____________
                  l______   ______l                  l    ___ _     l   l
                            l   l                    l    l___ _ l   l   l
                            l   l                    l__________l   l
                            l   l                                    l   l
                            l   l                                    l   l
                            l   l                   ________________l   l
                            l__l                   l____________l
Добавлено через 11 минут
ой немного съехало
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.02.2010, 17:29
Ответы с готовыми решениями:

Координаты точек
Поставлена задача: Даны два числа x,y которые являются координатами точки А. Выяснить в какой четверти лежит данная точка. Примечание:...

Пусть массивы Х [] и Y [] содержат координаты 10 точек
Пусть массивы Х и Y содержат координаты 10 точек. Инициализировать эти массивы произвольными случайными дробными числами. Показать на...

Апплет. Определить координаты точек по отношению к линии
Такой вопрос. Программа рисует апплет с линией и рандомными точками.Проблема в том., что нужно определить какие точки лежат выше линии, а...

4
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
02.02.2010, 06:27
Вот оно тебе надо с координатами воевать? я же тебе уже отвечал в я в java не понимаю а надо срочно решить!!! там именно с координатами.

гораздо красивее будет шрифт увеличить, вот тебе как пример
Java
1
2
3
4
5
  void paintT9(Graphics g, int x, int y) {
    Font StrongFont = new Font("Helvetica", Font.BOLD|Font.ITALIC, 48);
    g.setFont(StrongFont);
    g.drawString("T9", x, y);
  }
0
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 79
02.02.2010, 17:24  [ТС]
это не то... и прога немного другая.

Добавлено через 55 секунд
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
141
142
143
144
145
146
147
148
149
150
151
package computergraphics;
 
import java.awt.Graphics;
 
/**
 * Двумерная фигура с возможностью аффинных преобразований
 * @author Eugeny Berkunsky
 */
public class Figure {
 
    // Координаты фигуры
    private double[] x = {};     ВОТ СЮДА НУЖНЫ КООРДИНАТЫ
    private double[] y = {};
    // private означает, что эти координаты недоступны для других классов
 
    // Матрица преобразования. Сначала это - единичная матрица
    private double[][] matrix = {
        {1, 0, 0},
        {0, 1, 0},
        {0, 0, 1}
    };
 
    /**
     * Получение массива координат X точек, рисуемых на экране
     * @return массив кординат X для рисования на экране
     */
    public int[] getScreenX() {
        int[] xs = new int[x.length];
        for (int i = 0; i < xs.length; i++) {
            xs[i] = (int) (x[i]*matrix[0][0] + y[i]*matrix[0][1] + matrix[0][2]);
        }
        return xs;
    }
 
    /**
     * Получение массива координат Y точек, рисуемых на экране
     * @return массив кординат Y для рисования на экране
     */
    public int[] getScreenY() {
        int[] ys = new int[x.length];
        for (int i = 0; i < ys.length; i++) {
            ys[i] = (int) (x[i]*matrix[1][0] + y[i]*matrix[1][1] + matrix[1][2]);
        }
        return ys;
    }
 
    /**
     * Преобразование "Перенос"
     * @param dx смещение по x
     * @param dy смещение по y
     */
    public void translate(double dx, double dy) {
        // Матрица переноса
        double[][] t = {
            {1, 0, dx},
            {0, 1, dy},
            {0, 0,  1}
        };
 
        // Перемножаем матрицы. Результат записываем в исходную matrix
        matrix = multMatrixes(t, matrix);
    }
    
    /**
     * Преобразование "Масштабирование"
     * @param sx коэффициент растяжения по оси X
     * @param sy коэффициент растяжения по оси Y
     */
    public void scale(double sx, double sy) {
        // Матрица масштабирования
        double[][] s = {
            {sx,  0, 0},
            { 0, sy, 0},
            { 0,  0, 1}
        };
        
        // Перемножаем матрицы. Результат записываем в исходную matrix
        matrix = multMatrixes(s, matrix);        
    }
    
    /**
     * Преобразование "Поворот" вокруг начала координат
     * @param alpha угол поворота в градусах
     */
    public void rotate(double alpha) {
        // переводим угол в радианы
        alpha = Math.toRadians(alpha);
        // Матрица поворота
        double[][] r = {
            {Math.cos(alpha), -Math.sin(alpha), 0},
            {Math.sin(alpha),  Math.cos(alpha), 0},
            {0,                0,               1}
        };
        // Перемножаем матрицы. Результат записываем в исходную matrix
        matrix = multMatrixes(r, matrix);        
    }
 
    /**
     * Преобразование "Поворот" вокруг произвольной точки x0, y0
     * @param alpha угол поворота в градусах
     * @param x0 x-координата центра поворота
     * @param y0 y-координата центра поворота
     */
    public void rotate(double alpha, double x0, double y0) {
        // переводим угол в радианы
        alpha = Math.toRadians(alpha);
        // Матрица поворота
        double[][] r = {
            {Math.cos(alpha), -Math.sin(alpha), 0},
            {Math.sin(alpha),  Math.cos(alpha), 0},
            {0,                0,               1}
        };
        // три последовательных преобразования
        translate(-x0, -y0);
        rotate(alpha);
        translate(x0, y0);
    }
    
    /**
     * Умножение матриц a * b по правилу "строка на столбец"
     * @param a первая матрица
     * @param b вторая матрица
     * @return результат умножения матриц
     */
    private double[][] multMatrixes(double[][] a, double[][] b) {
        double[][] result = new double[a.length][b.length];
        // цикл по строкам матрицы-результата
        for (int i = 0; i < result.length; i++) {
            // цикл по элементам строк матрицы результата
            for (int j = 0; j < result[i].length; j++) {
                result[i][j] = 0;
                for (int k = 0; k < b.length; k++) {
                    result[i][j] += a[i][k] * b[k][j];
                    // это краткая запись такого:
                    // result[i][k] = result[i][k] + a[i][k] * b[k][j];
                }
            }
        }
        return result;
    }
 
    public void draw(Graphics grphcs) {
        int[] sx = new int[x.length];
        int[] sy = new int[y.length];
        for (int i = 0; i < sy.length; i++) {
            sx[i] = (int) (x[i] * matrix[0][0] + y[i] * matrix[0][1] + matrix[0][2]);
            sy[i] = (int) (x[i] * matrix[1][0] + y[i] * matrix[1][1] + matrix[1][2]);
        }
        grphcs.drawPolygon(sx, sy, sx.length);
    }
}
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
03.02.2010, 06:20
А что Eugeny Berkunsky не задал для тебя массив?
тут ещё особенность одна есть: любые координаты которые будут введены в массив являются абсолютными величинами и будут считаться в пикселях, однако, область рисования и её размеры не известны, то есть большая вероятность того, что как не угадывай, а за область вылезешь или будет шибко мелко. В общем предлагаю ввести в клас конструктор определяющий границы области рисования и функцию, которая производит корректировку абсолютных величин массивов х и у в соответсвие с полученными данными.
А выбрать координаты пробуй методом тыка . ты же представляешь букву Т ? начни условно с точки (1,1) прикинь пропорции, скажем длина горизонтальной линии буквы Т в два раза короче вертикальной и пляши от этого (1,1), (11, 1), (6, 1), (6,21) с 9 сложнее, с учётом, что класс рисует линию без отрыва. экспериментируй в общем
1
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 79
10.02.2010, 21:57  [ТС]
что то с 9 туго...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.02.2010, 21:57
Помогаю со студенческими работами здесь

Определить координаты точек, не попавших в первую четверть
Ребята,срочно нужна помощь!! Не знаю, как дальше сделать Задание: Если все заданные точки плоскости принадлежат первой четверти,...

Напечатать координаты всех точек с целыми координатами, находящиеся внутри треугольника
Здравствуйте! Есть задача, решение в голову не приходит. Находил на форуме несколько подобных заданий, где вычисляли площадь треугольника...

Выделить из заданных точек вершины квадрата, на сторонах которого лежит наибольшее количество заданных точек
Нужна помощь, срочно ! На плоскости задано множество точек. Выделить из этих точек вершины квадрата, на сторонах которого лежит наибольшее...

У квадрата ABCD на плоскости известны координаты двух противоположных вершин - точек A и C. Найти координаты точек B и
У квадрата ABCD на плоскости известны координаты двух противоположных вершин - точек A и C. Найти координаты точек B и D. Расположение...

Дано координаты точек x1x2x3. и уравнение прямой y=ax+b вывести масив С в котором координаты точек этой прямой
Пытался сделать так потому что забыл как решение примера занести в масив на выводе огромные числа подскажите где ошыбка #include...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru