Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
14 / 14 / 7
Регистрация: 11.05.2013
Сообщений: 225

Координаты у Point - целочисленные?!

17.09.2013, 21:00. Показов 1902. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В конструкторе Point 2 параметра int.
Почему целочисленные? float сам бог велел сделать ведь, а тут такое...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.09.2013, 21:00
Ответы с готовыми решениями:

Даны целочисленные координаты трех вершин прямоугольника, найти координаты четвертой
Даны целочисленные координаты трех вершин прямоугольника, стороны которого параллельны координатным осям. Найти координаты его четвертой...

Целочисленные координаты в шаре
Здравствуйте. Подскажите, пожалуйста, что не так в коде. При больших числах выдаёт ошибку операции с плавающей точкой. program sphere; ...

Целочисленные координаты точки на плоскости
Даны целочисленные координаты точки на плоскости. Если точка совпадает с началом координат, то вывести 0. Если точка не совпадает с началом...

13
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
17.09.2013, 21:06
потому что есть http://docs.oracle.com/javase/... int2D.html
1
14 / 14 / 7
Регистрация: 11.05.2013
Сообщений: 225
17.09.2013, 21:22  [ТС]
Цитата Сообщение от verylazy Посмотреть сообщение
Тогда почему такое название странное? Обычный Point разве не 2D?
Странное название и абстрактность класса сбили с толку. И конструкция Point.Float странная, после C# непривычная (в последнем подобных конструкций, кажется, нет; по крайней мере я не встречал).

Добавлено через 6 минут
И еще, почему 3-й способ работает? Т. к. Point2D - абстрактный класс? Даже если и так, странно получается: в 1-м случае у Point нет Float, а во втором - есть.
Java
1
2
3
4
Point VertexFirst = new Point.Float(0, 0);
Point VertexFirst = new Point2D.Float(0, 0);
Point2D VertexFirst = new Point.Float(0, 0);
Point2D VertexFirst = new Point2D.Float(0, 0);
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
17.09.2013, 21:24
Я так понял, есть класс Point2D от которого наследуются классы Point, Point2D.Double и Point2D.Float
Просто класс Точка с целочисленными параметрами для конструктора назвали Point, без 2D.
Это я так понял из того, что там написано.

Java
1
2
3
        Point2D p = new Point2D.Double(0, 0);
        Point2D p1 = new Point2D.Float(0, 0);
        Point p2 = new Point(0, 0);
1
14 / 14 / 7
Регистрация: 11.05.2013
Сообщений: 225
17.09.2013, 21:38  [ТС]
Можете, пожалуйста, привести пример кода, как такое реализовать: Point2D.Float? Класс, доступный через другой класс, если можно так выразиться.

Добавлено через 7 минут
И объясните это, пожалуйста: в 1-м случае Point VertexFirst = new Point.Float(0, 0); у Point нет Float, а здесь Point2D VertexFirst = new Point.Float(0, 0); - есть.
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
17.09.2013, 21:44
Спасибо людям, создающим такие темы. Я узнаю много нового для себя.
Мне неловко, потому что я сам вот сейчас вижу и читаю документацию и на ходу пытаюсь что-то понять.
Есть абстрактный класс Point2D.
От него унаследованы три класса, но мне кажется что, унаследованы тут не совсем верное выражение. В доке их называют nested, но потом там же сказано Direct Known Subclasses: Point, Point2D.Double, Point2D.Float
А пример я же выше привел как сделать точку с float координатами.

Ох чувствую уже как меня гуру завтра напоправляют
1
14 / 14 / 7
Регистрация: 11.05.2013
Сообщений: 225
17.09.2013, 21:56  [ТС]
Бегло просмотрел док в первый раз, не увидел "nested", "subclasses" и связанную инфу.

Цитата Сообщение от verylazy Посмотреть сообщение
А пример я же выше привел как сделать точку с float координатами.
Как сделать ее с float-координатами я понял еще после первого вашего сообщения .

Кстати, такой код тоже работает без проблем.
Point.Float VertexFirst = new Point.Float(0, 0);
[Не знаю, как так написал, что у Point не выводился "вмонтированный" класс Float, но неважно.]

P. S. Спасибо, вроде разобрался во всем.
1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
17.09.2013, 22:19
Цитата Сообщение от umc55555 Посмотреть сообщение
Почему целочисленные? float сам бог велел сделать ведь, а тут такое...
Есть такой класс Graphics, так вот он умеет оперировать только целочисленными координатами, вот для него и создан класс Point (а также Rectangle, Dimension и тд), также есть класс Graphics2D, вот он уже умеет работать с нецелыми координатами - так вот для него и созданы все те же классы но только с 2D окончанием
Причина подобного разделения - производительность, так как на экране мы всё отрисовываем по целочисленным координатам, то нет необходимости производить вычисления для чисел с 64 битами к примеру для всяческих прямых линий или квадратиков.
А вот когда нужна какая либо хитрожопая фигурка на экране, типа графика функции или там антиалиаснутый текст рисующийся под углом, вот тогда в дело вступает float и double
1
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
18.09.2013, 13:51
Цитата Сообщение от verylazy Посмотреть сообщение
Есть абстрактный класс Point2D.
От него унаследованы три класса, но мне кажется что, унаследованы тут не совсем верное выражение. В доке их называют nested, но потом там же сказано Direct Known Subclasses: Point, Point2D.Double, Point2D.Float
А кто сказал, что это взаимоисключающие понятия? Внутренний класс прекрасно может наследоваться от внешнего, ничего в этом криминального нет.

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
package ru.skipy.tests;
 
/**
 * Abstract Parent test
 *
 * @author Eugene Matyushkin aka Skipy
 * @since 18.09.13
 */
public abstract class AbstractParent {
 
    public abstract void print();
 
    public static class Child extends AbstractParent{
 
        @Override
        public void print() {
            System.out.println(getClass().getName());
        }
    }
 
    public static void main(String[] args) {
        AbstractParent ap = new AbstractParent.Child();
        ap.print();
    }
}
2
14 / 14 / 7
Регистрация: 11.05.2013
Сообщений: 225
18.09.2013, 20:35  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
public abstract class AbstractParent { public abstract void print(); public static class Child extends AbstractParent{
После шарпа ни за что бы ни пришла в голову конструкция "класс в классе".
mutagen, Skipy, благодарю.
0
19.09.2013, 07:16

Не по теме:

Цитата Сообщение от umc55555 Посмотреть сообщение
После шарпа ни за что бы ни пришла в голову конструкция "класс в классе".
И это странно, ведь в C# есть nested классы, которое также могут наследоваться от любого другого класса.

1
14 / 14 / 7
Регистрация: 11.05.2013
Сообщений: 225
20.09.2013, 22:38  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
в C# есть nested классы, которое также могут наследоваться от любого другого класса
Значит, я с ними просто еще не встречался). Спасибо).
0
21.09.2013, 16:49

Не по теме:

Цитата Сообщение от umc55555 Посмотреть сообщение

Значит, я с ними просто еще не встречался). Спасибо).
это вы текст в серый цвет закрасили? :)

0
21.09.2013, 22:25  [ТС]

Не по теме:


Цитата Сообщение от tankomaz Посмотреть сообщение
это вы текст в серый цвет закрасили?
Не знал про тег)).

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.09.2013, 22:25
Помогаю со студенческими работами здесь

Найти целочисленные координаты точек, попадающих в круг радиуса R с центром в точке Q (A,B)
найти целочисленные координаты точек, попадающих в круг радиуса R с центром в точке Q (A,B)

Даны целочисленные координаты точки на плоскости.Если точка не лежит на координатных осях,то вывести 0...
1 задача! Даны целочисленные координаты точки на плоскости.Если точка не лежит на координатных осях,то вывести 0.Если точка совпадает с...

Даны координаты вершин N-угольника, определить все целочисленные точки, лежащие внутри него
Добрый день. Подскажите максимально быстрый алгоритм. Есть координаты точек N-угольника. Как рассчитать координаты всех точек, которые...

Концы отрезка на плоскости имеют целочисленные координаты. Требуется написать программу, которая вычислит, сколько всего точек с целочисленными коорд
Концы отрезка на плоскости имеют целочисленные координаты. Требуется написать программу, которая вычислит, сколько всего точек с...

Как с помощью лист List point найти координаты всех точек прямой
как с помощью лист List point найти координаты всех точек прямой


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
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, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru