Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
1104 / 480 / 33
Регистрация: 05.07.2018
Сообщений: 1,870
Записей в блоге: 7

Найти четырёхугольник похожий на прямоугольник

15.06.2019, 12:44. Показов 3441. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача
Задано 50 случайных точек. Требуется найти такие четыре точки, которые образуют четырёхугольник похожий по форме на прямоугольник. Условие похожести задать самим. Если такой четырёхугольник существует, то нарисовать его и в заголовок формы вынести слово YES, в противном случае слово NO.
Дополнительно рассмотреть (сравнить) иные алгоритмы решения данной задачи.

Решение
Похожесть четырёхугольника на прямоугольник можно задать условием того, что все четыре угла четырёхугольника близки к 90°. Вместо углов можно использовать косинусы этих углов. Так как косинус прямого угла равен нулю, то я использовал величину Quad = |cos(A)| + |cos(B)| + |cos(C)| + |cos(D)|. И просто положил, что если Quad <= 0.1, то четырёхугольник похож на прямоугольник.
Итак точки заданы в два массива x() и y(). Четырёхугольник обозначен как ABCD. AB, BC, CD, DA - это стороны четырёхугольника, а AC и BD - его диагонали. Программа вычисляет все эти величины. А потом используя теорему косинусов вычисляет косинусы всех четырёх углов (A, B, C, D). Они обозначены как cosA, cosB, cosC, cosD. Для ускорения работы программы она сразу проверяет модули косинусов. Если модуль косинуса угла больше 0.1, то программа переходит к рассмотрению следующего четырёхугольника. В общем эта программа работает. Но это не самое главное.

САМОЕ ГЛАВНОЕ - Это оптимизация программы, вплоть до замены алгоритма
1. Мне кажется, что с условиями я перестарался. То есть в программе проверяются ВСЕ углы, точнее их косинусы. А ведь достаточно проверить только три угла (их косинусы). Ведь если три угла равны (приблизительно конечно) 90°, то четвёртый угол тоже будет равен 90°. То есть следовало бы величину Quad задать как Quad = |cos(A)| + |cos(B)| + |cos(C)| (четвёртый косинус опущен, поскольку лишний)

2. Мне кажется, что я выбрал неверный алгоритм. Надо было видимо сделать иначе. Например. Вычислить все стороны четырёхугольника и похожесть этого четырёхугольника задать как величину Quad = |AB - CD| + |BC - DA|. Иными словами, равенство противоположных сторон есть признак прямоугольника. К нему следует добавить проверку одного (любого) угла на равенство 90° (точнее не самого угла, косинуса угла на равенство 0, приближённое конечно)

3. Тут есть ещё вариант алгоритма. Например вычислить диагонали четырёхугольника и сравнить их на приближенное равенство. Не забыть и проверку угла. Ведь равнобедренная трапеция тоже имеет равные диагонали...

4. Ещё вариант. Найти середины двух диагоналей. Для прямоугольника они совпадают. И проверить, приближенно конечно, вписан ли четырёхугольник в окружность

5. В общем можно ещё задать стороны как вектора и использовать векторную алгебру...
Я высказал общие мысли. Буду рад, если кто-то подскажет лучшее решение, чем моё. Программа прилагается.

Visual Basic
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
Option Explicit
Option Base 1
Dim x!(), y!()
Const n = 50
 
Private Sub cmd1_Click()
    ReDim x!(n), y!(n)
    Dim im%, jm%, km%, lm%
    Dim i%, j%, k%, l%, Min!, Quad!
    Dim cosA!, cosB!, cosC!, cosD!
    Dim AB!, BC!, CD!, DA!, AC!, BD!
    
    Randomize Timer
    DrawWidth = 4
    Cls
    
    Scale (-15, 15)-(15, -15)
    
    For i = 1 To n
        x(i) = 20 * Rnd - 10
        y(i) = 20 * Rnd - 10
        PSet (x(i), y(i))
    Next
    
    Min = 1
    
    For i = 1 To n - 3
    For j = i + 1 To n - 2
    For k = j + 1 To n - 1
    For l = k + 1 To n
        AB = R(x(i), y(i), x(j), y(j))
        BC = R(x(j), y(j), x(k), y(k))
        CD = R(x(k), y(k), x(l), y(l))
        DA = R(x(l), y(l), x(i), y(i))
        AC = R(x(i), y(i), x(k), y(k))
        BD = R(x(j), y(j), x(l), y(l))
        
        cosA = (DA ^ 2 + AB ^ 2 - BD ^ 2) / (2 * DA * AB)
        If Abs(cosA) > 0.1 Then Exit For
        cosB = (AB ^ 2 + BC ^ 2 - AC ^ 2) / (2 * AB * BC)
        If Abs(cosB) > 0.1 Then Exit For
        cosC = (BC ^ 2 + CD ^ 2 - BD ^ 2) / (2 * BC * CD)
        If Abs(cosC) > 0.1 Then Exit For
        cosD = (CD ^ 2 + DA ^ 2 - AC ^ 2) / (2 * CD * DA)
        If Abs(cosD) > 0.1 Then Exit For
        
        Quad = Abs(cosA) + Abs(cosB) + Abs(cosC) + Abs(cosD)
        If Quad > 0.1 Then Exit For
        
        If Min > Quad Then
            Min = Quad
            im = i: jm = j: km = k: lm = l
        End If
    Next: Next: Next: Next
    
    If im Then
        frmM.Caption = "YES"
        Line (x(im), y(im))-(x(jm), y(jm))
        Line (x(jm), y(jm))-(x(km), y(km))
        Line (x(km), y(km))-(x(lm), y(lm))
        Line (x(lm), y(lm))-(x(im), y(im))
    Else
        frmM.Caption = "NO"
    End If
End Sub
 
Private Function R(x1!, y1!, x2!, y2!) As Single
    R = Sqr((x1 - x2) ^ 2 + (y1 - y2) ^ 2)
End Function
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.06.2019, 12:44
Ответы с готовыми решениями:

Определите что представляет из себя четырехугольник: ромб, прямоугольник, квадрат, трапеция
Помогите пожалуйста,Даны координаты вершин четырехугольника Составить программу для определения вида Определите один из видов: ромб,...

Объявить систему классов: Точка, Прямоугольник, Квадрат, Ромб, Трапеция, Треугольник, Четырехугольник
Необходимо создать систему классов: Точка, Прямоугольник, Квадрат, Ромб, Трапеция, Треугольник, Многоугольник. А также определить методы,...

Четырехугольник задан координатами своих вершин составить программу которая определяет какой это четырехугольник
Помогите пожалуйста

12
1104 / 480 / 33
Регистрация: 05.07.2018
Сообщений: 1,870
Записей в блоге: 7
15.06.2019, 12:52  [ТС]
забыл добавить рисунок
Миниатюры
Найти четырёхугольник похожий на прямоугольник  
0
1104 / 480 / 33
Регистрация: 05.07.2018
Сообщений: 1,870
Записей в блоге: 7
16.06.2019, 09:15  [ТС]
Я немного разобрался со своей задачей, хотя хотелось бы испробовать и другие алгоритмы.
В моей программе использовалось следующее определение прямоугольника
Определение 1
Прямоугольник - это четырёхугольник у которого все углы прямые.
ту программу можно упростить, если использовать другое определение
Определение 2
Прямоугольник - это четырёхугольник у которого три угла прямые
(то, что и четвёртый угол прямой вытекает из того, что сумма углов четырёхугольника равна 360°)

Теперь я предлагаю вам программу, которая основана на новом определении прямоугольника
Определение 3
Прямоугольник - это четырёхугольник у которого равные диагонали и точка пересечения этих диагоналей является серединой для каждой диагонали (поистине удивительное определение)
Согласно этому определению достаточно вычислить лишь длину диагоналей, координаты середин диагоналей и расстояние между этими серединами.
Для сравнения новой программы со старой, скажу следующее. Здесь не надо вычислять стороны четырёхугольника, а также косинусы углов. То есть вычислений гораздо меньше. Программа прилагается.

Вопрос остаётся прежним. Оценить саму программу. Возможно её можно усовершенствовать. Или предложить иной алгоритм решения этой задачи. Чем больше алгоритмов, тем лучше. Тем выше интеллект программиста и его способность в решении подобных задач.

Есть мысль. А нельзя ли использовать такую вещь как площадь прямоугольника? Ведь площадь равна произведению двух сторон прямоугольника. Для обычного четырёхугольника это неверно!!! Или я ошибаюсь? Кто может что-нибудь сказать по этому поводу? Буду рад вашим ответам, комментариям, замечаниям и критике.

Visual Basic
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
Option Explicit
Option Base 1
Dim x!(), y!()
Const n = 50
 
Private Sub cmd1_Click()
    ReDim x!(n), y!(n)
    Dim im%, jm%, km%, lm%
    Dim i%, j%, k%, l%, Min!, Quad!
    Dim ox1!, oy1!, ox2!, oy2!, Oo!
    Dim AC!, BD!
    
    Randomize Timer
    DrawWidth = 4
    Cls
    
    Scale (-15, 15)-(15, -15)
    
    For i = 1 To n
        x(i) = 20 * Rnd - 10
        y(i) = 20 * Rnd - 10
        PSet (x(i), y(i))
    Next
    
    Min = 1
    
    For i = 1 To n - 3
    For j = i + 1 To n - 2
    For k = j + 1 To n - 1
    For l = k + 1 To n
        AC = R(x(i), y(i), x(k), y(k))
        BD = R(x(j), y(j), x(l), y(l))
        If Abs(AC - BD) > 0.5 Then Exit For
        
        ox1 = (x(i) + x(k)) / 2
        oy1 = (y(i) + y(k)) / 2
        ox2 = (x(j) + x(l)) / 2
        oy2 = (y(j) + y(l)) / 2
        Oo = R(ox1, oy1, ox2, oy2)
        If Oo > 0.5 Then Exit For
        
        Quad = Oo + Abs(AC - BD)
        
        If Min > Quad Then
            Min = Quad
            im = i: jm = j: km = k: lm = l
        End If
    Next: Next: Next: Next
    
    If im Then
        frmM.Caption = "YES"
        Line (x(im), y(im))-(x(jm), y(jm))
        Line (x(jm), y(jm))-(x(km), y(km))
        Line (x(km), y(km))-(x(lm), y(lm))
        Line (x(lm), y(lm))-(x(im), y(im))
    Else
        frmM.Caption = "NO"
    End If
End Sub
 
Private Function R(x1, y1, x2, y2) As Single
    R = Sqr((x1 - x2) ^ 2 + (y1 - y2) ^ 2)
End Function
0
1104 / 480 / 33
Регистрация: 05.07.2018
Сообщений: 1,870
Записей в блоге: 7
17.06.2019, 06:57  [ТС]
я усовершенствовал программу, которая находится в посте #1.
1. Из внутреннего цикла вынесено всё, что только можно вынести. (Сравните эту программу с исходной)
2. Функция R() изменена. Она теперь вычисляет не длину отрезка, а Квадрат длины. То есть из неё удалена операция SQR. В самом деле, зачем извлекать квадратный корень, если потом в целом ряде случаев придётся вновь возводить в квадрат. А сам корень извлекается только там, где это необходимо. (Переменные AB2, BC2, CD2, DA2, AC2, BD2 - означают теперь квадрат длины отрезка)
3. Вероятно, для данного алгоритма, ничего лучшего не сделать. Будем исследовать другие алгоритмы.

Visual Basic
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
Option Explicit
Option Base 1
Dim x!(), y!()
Const n = 50
 
Private Sub cmd1_Click()
    ReDim x!(n), y!(n)
    Dim im%, jm%, km%, lm%
    Dim i%, j%, k%, l%, Min!, Quad!
    Dim cosA!, cosB!, cosC!, cosD!
    Dim AB2!, BC2!, CD2!, DA2!, AC2!, BD2!
    
    Randomize Timer
    DrawWidth = 4
    Cls
    
    Scale (-15, 15)-(15, -15)
    
    For i = 1 To n
        x(i) = 20 * Rnd - 10
        y(i) = 20 * Rnd - 10
        PSet (x(i), y(i))
    Next
    
    Min = 1
    
    For i = 1 To n - 3
    For j = i + 1 To n - 2
        AB2 = R(x(i), y(i), x(j), y(j))
    For k = j + 1 To n - 1
        BC2 = R(x(j), y(j), x(k), y(k))
        AC2 = R(x(i), y(i), x(k), y(k))
    For l = k + 1 To n
        CD2 = R(x(k), y(k), x(l), y(l))
        DA2 = R(x(l), y(l), x(i), y(i))
        BD2 = R(x(j), y(j), x(l), y(l))
        
        cosA = (DA2 + AB2 - BD2) / (2 * Sqr(DA2 * AB2))
        If Abs(cosA) > 0.1 Then Exit For
        cosB = (AB2 + BC2 - AC2) / (2 * Sqr(AB2 * BC2))
        If Abs(cosB) > 0.1 Then Exit For
        cosC = (BC2 + CD2 - BD2) / (2 * Sqr(BC2 * CD2))
        If Abs(cosC) > 0.1 Then Exit For
        
        Quad = Abs(cosA) + Abs(cosB) + Abs(cosC)
        If Quad > 0.1 Then Exit For
        
        If Min > Quad Then
            Min = Quad
            im = i: jm = j: km = k: lm = l
        End If
    Next: Next: Next: Next
    
    If im Then
        frmM.Caption = "YES"
        Line (x(im), y(im))-(x(jm), y(jm))
        Line (x(jm), y(jm))-(x(km), y(km))
        Line (x(km), y(km))-(x(lm), y(lm))
        Line (x(lm), y(lm))-(x(im), y(im))
    Else
        frmM.Caption = "NO"
    End If
End Sub
 
Private Function R(x1, y1, x2, y2) As Single
    R = (x1 - x2) ^ 2 + (y1 - y2) ^ 2
End Function
0
17.06.2019, 07:31

Не по теме:


Извиняюсь, не туда запостил

0
1104 / 480 / 33
Регистрация: 05.07.2018
Сообщений: 1,870
Записей в блоге: 7
17.06.2019, 08:40  [ТС]
Я думал, что хорошо знаю геометрию. А вот сегодня моя программа доказала мне, что это не так. А вы хорошо знаете геометрию? Итак...
Определение
Прямоугольник - это четырёхугольник у которого противоположные стороны равны. А также равны диагонали.

Представить иную фигуру, отличную от прямоугольника, я не мог. А вот программа выдала своё видение этого определения (смотрите рисунок). На рисунке самопересекающийся четырёхугольник. У него противоположные стороны равны и диагонали тоже равны. Что делать? Тут есть несколько решений
1. дополнить наше определение, что стороны не пересекаются
2. ещё лучше, если стороны будут параллельны. То есть применить признаки параллельности сторон.
3. задать условие, что хотя бы один из углов прямой.

ВОПРОС
А что вы можете предложить в этой ситуации?

примечание
я рад, что программа указала мне место под солнцем. А то бы не знал...
Миниатюры
Найти четырёхугольник похожий на прямоугольник  
0
Заблокирован
17.06.2019, 09:35
Лучший ответ Сообщение было отмечено нтч как решение

Решение

нтч, не знаю, рассматривал ли ты такой вариант:
1. перебираем тройки точек А, В, С
2. если угол АВС близок к прямому
3. вычисляем координаты хД=хА+хС-хВ,уД=уА+уС-уВ
4. перебираем остальные (а можно и все, чтобы не заморачиваться)
5. если какая то точка достаточно близка к Д - это и есть наш "прямоугольник"
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
17.06.2019, 10:18
Лучший ответ Сообщение было отмечено нтч как решение

Решение

Цитата Сообщение от нтч Посмотреть сообщение
Прямоугольник - это четырёхугольник
Цитата Сообщение от нтч Посмотреть сообщение
На рисунке самопересекающийся четырёхугольник.
В этой фигуре как минимум 6 углов.
Так что определение верное, а вы просто неправильно программу составили, раз такая коллизия стала возможной.
1
1104 / 480 / 33
Регистрация: 05.07.2018
Сообщений: 1,870
Записей в блоге: 7
17.06.2019, 17:33  [ТС]
Pro_grammer,
спасибо вам. Возможно вы правы. Хотя я использовал в качестве основы предыдущую программу. Там четырёхкратный цикл. Но вот программа выдала однако такую "восьмёрку", где стороны пересекаются. Сам я был невероятно удивлён. Хотя по здравом размышлении пришёл к выводу, что программа сделала то, что ей было приказано. То есть если бы четырёхугольник был бы ВЫПУКЛЫМ, то этого бы не произошло. А в программе такое понятие как выпуклость не рассматривалось вовсе. То есть программа просто соединяла четыре вершины в том порядке в каком ей было предписано.
Так или иначе, но надо рассмотреть задачу. Как определить, что четырёхугольник выпуклый, если заданы его вершины в определённом порядке? Тут надо ещё подумать... не всё так просто как я предполагал изначально...
Спасибо вам ещё раз! Буду уточнять этот казус на форуме "Геометрия". Возможно там ещё что-нибудь подскажут.

Добавлено через 30 минут
Pro_grammer,
нашёл в интернете ответ:
Пусть a, b, c, d - стороны четырёхугольника и e, f - его диагонали. Тогда для Выпуклого четырёхугольника верно неравенство https://www.cyberforum.ru/cgi-bin/latex.cgi?e * f \leq a * c + b*d

А для прямоугольника верно равенство e * f = a * c + b * d
...
теперь сюрпризов не будет

Добавлено через 3 минуты
А полученная программой "восьмёрка" называется антипараллелограммом.

Добавлено через 4 часа 35 минут
Я нашёл поистине удивительное решение проблемы.
Вопрос стоял так... Как отличить выпуклый четырёхугольник от невыпуклого?
ОТВЕТ
У выпуклого четырёхугольника диагонали больше чем стороны
...
советую это запомнить; может кому-нибудь пригодится.
0
 Аватар для Sur_L
103 / 63 / 10
Регистрация: 13.02.2017
Сообщений: 178
17.06.2019, 22:24
Цитата Сообщение от нтч Посмотреть сообщение
выпуклого четырёхугольника диагонали больше чем стороны
Я думал, что достаточно, чтобы у него было ровно 4 угла )
0
Заблокирован
18.06.2019, 02:36
Лучший ответ Сообщение было отмечено нтч как решение

Решение

нтч, всё ж сравни по скорости алгоритмы. Вот мой-
Visual Basic
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
Option Explicit
Option Base 1
Dim X!(), Y!(), L!()
Const n = 200
 
Private Sub cmd2_Click()
    Dim t!, i%, j%, k%, a%, b%, c%, d%, aa%, bb%, cc%, dd%
    Dim AB!, BC!, CA!, ABC!, XD!, YD!, MinD!
    t = Timer
    ReDim X(n), Y(n), L(n, n)
 
    Randomize Timer
    DrawWidth = 4
    Cls
    Scale (-15, 15)-(15, -15)
    For i = 1 To n
        X(i) = 20 * Rnd - 10: Y(i) = 20 * Rnd - 10
        PSet (X(i), Y(i))
    Next
    For i = 1 To n
        For j = 1 To n
            L(i, j) = (X(i) - X(j)) * (X(i) - X(j)) + (Y(i) - Y(j)) * (Y(i) - Y(j))
        Next
    Next
    MinD = 30
    For a = 1 To n
        For b = 1 To n
            AB = L(a, b)
            If AB > 50 Then
                For c = 1 To n
                    BC = L(b, c): CA = L(c, a): ABC = AB + BC
                    If BC > 50 And CA > 50 Then
                        If Abs((AB + BC) / CA - 1) < 0.0001 Then
                            XD = X(a) + X(c) - X(b): YD = Y(a) + Y(c) - Y(b)
                            For d = 1 To n
                                If Abs(XD - X(d)) + Abs(YD - Y(d)) < MinD Then
                                    MinD = Abs(XD - X(d)) + Abs(YD - Y(d))
                                    aa = a: bb = b: cc = c: dd = d
                                End If
                            Next
                        End If
                    End If
                Next
            End If
        Next
    Next
    
    frmM.Caption = "YES " & Timer - t
    Line (X(aa), Y(aa))-(X(bb), Y(bb))
    Line (X(bb), Y(bb))-(X(cc), Y(cc))
    Line (X(cc), Y(cc))-(X(dd), Y(dd))
    Line (X(dd), Y(dd))-(X(aa), Y(aa))
 
End Sub
1
1104 / 480 / 33
Регистрация: 05.07.2018
Сообщений: 1,870
Записей в блоге: 7
18.06.2019, 08:06  [ТС]
Уважаемый Sur_L,
четырёх углов ПРЯМЫХ углов вполне достаточно. Поскольку эти углы уже определяют выпуклый четырёхугольник. А вот другие признаки прямоугольника требуют явно задать условие выпуклости как например то, что диагонали больше сторон.

Уважаемый Остап Бонд,
скорость работы я сейчас проверю. Но я не сомневаюсь, что ваша программа быстрее моих, поскольку все стороны (квадраты сторон) вычисляет отдельно. В то время как у меня всё повторяется (в циклах) многократно. Иными словами, вы вынесли из циклов все многократные повторные вычисления в отдельный массив. Надо это запомнить и применить на практике! Этот подарок дорогого стоит!!!
0
Заблокирован
18.06.2019, 08:47
нтч, ещё советую взять на вооружение привычку уходить от квадратов (и даже кубов), заменяя произведениями - степенные ф-ии существенно тормозят процесс
Цитата Сообщение от нтч Посмотреть сообщение
R = (x1 - x2) ^ 2 + (y1 - y2) ^ 2
Цитата Сообщение от Остап Бонд Посмотреть сообщение
L(i, j) = (X(i) - X(j)) * (X(i) - X(j)) + (Y(i) - Y(j)) * (Y(i) - Y(j))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.06.2019, 08:47
Помогаю со студенческими работами здесь

Найти похожий модуль
Здравствуйте, Можно задать вопрос, по поводу модуля. На сайте http://apelsun.ua/vizitka.html есть Кнопка &quot;-Примеры сайта Визитки...

Найти похожий файл
Вечер добрый, знатоки офиса! Нужно найти решение одной задачке. Есть Экселевские файлы, штук этак 150-200. Поступает еще один файл,...

найти похожий скрипт, пожалуйста
Доброго времени суток, дорогие форумчане. Помогите, пожалуйста, найти скрипт с фиксированным меню и с соответствиями разделу. Примеры:...

Найти похожий элемент из массива
Задачка вот такая: Задана любая n цифра. Например 10. И когда вводим эту цифру должно создать массив с 10 элементами. И из этого ряда...

Где найти элемент управления, похожий на Toolbox в VS
Добрый день. Помогите с поиском компоненты. Пишу в Visual Studio 2008 на C# приложение Windows Forms. Нужен элемент управления такой...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru