Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 4

Необходимо сделать объемный вращающийся куб

14.12.2009, 16:54. Показов 4622. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна помощь по задачке на qbasic - необходимо сделать объемный вращающийся куб, при этом пользователем должен задаваться его размер... Очень желательно сделать его на этой неделе... Заранее благодарю за помощь!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2009, 16:54
Ответы с готовыми решениями:

Вращающийся куб
Почему куба вообще нет? Как исправить? uses GraphABC; const n = 8; R = 1; W = 500; H = 500; Dist = 10;

Вращающийся куб
вот сам куб, нарисованный на PaintBox как заставить его вращаться, например в лево или в право? procedure TForm1.BitBtn1Click(Sender:...

Вращающийся куб
Итак здравствуйте!!! В интеренете есть куча исходников этого "вращающегося куба", многме из них я уже скачивал и просматривал. и при...

13
VS
 Аватар для VS
1 / 1 / 2
Регистрация: 04.12.2009
Сообщений: 60
14.12.2009, 22:30
QBasic/QuickBASIC
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
DEFINT A-Z
 
One$ = "BR30 BU25 C1 R54 U45 L54 D45 BE20 P1, 1G20 C2 G20"
Two$ = "R54 E20 L54 BD5 P2, 2 U5 C4 G20 U45 E20 D45 BL5 P4, 4"
Plot$ = One$ + Two$
APage% = 0
VPage% = 1
HPage% = 2
Angle% = 0
CLS
SCREEN 8, 0, VPage%, VPage%
 PCOPY VPage%, HPage%
 SLEEP 1
 DO
     SCREEN 8, 0, APage%, VPage%
     CLS 1
     DRAW "TA" + STR$(Angle%) + Plot$
     Angle% = (Angle% + 15) MOD 360
 
     SWAP APage%, VPage%
     Kbd$ = INKEY$
     SELECT CASE Kbd$
          CASE CHR$(0) + CHR$(104)
               PCOPY HPage%, APage%
               SLEEP 3
          CASE ""
          CASE ELSE
               EXIT DO
     END SELECT
 LOOP
 END
0
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 4
15.12.2009, 00:01  [ТС]
Спасибо за пример, но я уже его видел и не смог разобраться как он работает...
И в общем мне надо немного другое, в примере куб вращается вокруг одной грани, а мне необходимо чтобы он вращался вокруг точки в центре куба..
0
159 / 104 / 124
Регистрация: 01.04.2014
Сообщений: 466
Записей в блоге: 7
07.06.2014, 21:28
Примите и этот. Он тоже вращается.
(программа проверена)
QBasic/QuickBASIC
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
DEFSNG F, X-Z
DEFLNG I
CLS
 
SCREEN 12
WINDOW (-6, 4.4)-(6, -4.5)
 
f = .78
DO
   f = f + .01
   x1 = 2.83 * COS(f): y1 = SIN(f)
   x2 = -2.83 * SIN(f): y2 = COS(f)
   x3 = -2.83 * COS(f): y3 = -SIN(f)
   x4 = 2.83 * SIN(f): y4 = -COS(f)
 
   LINE (x1, y1 - 2)-(x2, y2 - 2), 11
   LINE (x2, y2 - 2)-(x3, y3 - 2), 11
   LINE (x3, y3 - 2)-(x4, y4 - 2), 11
   LINE (x4, y4 - 2)-(x1, y1 - 2), 11
   LINE (x1, y1 + 2)-(x2, y2 + 2), 11
   LINE (x2, y2 + 2)-(x3, y3 + 2), 11
   LINE (x3, y3 + 2)-(x4, y4 + 2), 11
   LINE (x4, y4 + 2)-(x1, y1 + 2), 11
   LINE (x1, y1 - 2)-(x1, y1 + 2), 11
   LINE (x2, y2 - 2)-(x2, y2 + 2), 11
   LINE (x3, y3 - 2)-(x3, y3 + 2), 11
   LINE (x4, y4 - 2)-(x4, y4 + 2), 11
 
   FOR i = 1 TO 500000: NEXT i
   LINE (x1, y1 - 2)-(x2, y2 - 2), 0
   LINE (x2, y2 - 2)-(x3, y3 - 2), 0
   LINE (x3, y3 - 2)-(x4, y4 - 2), 0
   LINE (x4, y4 - 2)-(x1, y1 - 2), 0
   LINE (x1, y1 + 2)-(x2, y2 + 2), 0
   LINE (x2, y2 + 2)-(x3, y3 + 2), 0
   LINE (x3, y3 + 2)-(x4, y4 + 2), 0
   LINE (x4, y4 + 2)-(x1, y1 + 2), 0
   LINE (x1, y1 - 2)-(x1, y1 + 2), 0
   LINE (x2, y2 - 2)-(x2, y2 + 2), 0
   LINE (x3, y3 - 2)-(x3, y3 + 2), 0
   LINE (x4, y4 - 2)-(x4, y4 + 2), 0
LOOP WHILE INKEY$ = ""
END
Удачи вам!
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
08.06.2014, 18:29
Averonix, в закреплённой теме есть ссылка на FAQ как подобное делать.
Можно не только куб. Там и проекции и текстуры даже есть, правда QB но не суть.

Прога из сообщения #2 не является ответом, т.к. вращается плоская картинка.

Прога gehh-а тоже смутный вариант, иммитация изометрии, крутить точки по эллипсам
сверху и снизу, во-первых нет относительности в пространстве, во-вторых это не 3D,
а его одноразовая "эмуляция".
1
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
25.07.2014, 01:53
Вот более-менее рабочий вариант:
QBasic/QuickBASIC
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
TYPE poi
  x AS SINGLE
  y AS SINGLE
END TYPE
DECLARE SUB dr (p AS poi, x AS SINGLE, y AS SINGLE, z AS SINGLE, sh AS INTEGER, alfa AS SINGLE, gamma AS SINGLE)
DECLARE SUB drawline (p0 AS poi, p1 AS poi)
DECLARE SUB changescreen ()
CONST sc = 250
CONST w = 320
CONST l = 200
CONST pi = 3.14
 
DIM SHARED sch
SCREEN 7, , 1, 0
DIM STime AS DOUBLE
DIM temp(1 TO 8)  AS poi
DO WHILE INKEY$ = ""
    g = g + (TIMER - STime) * .5
    STime = TIMER
    IF g > 1.6 THEN g = 0
    
    CALL dr(temp(1), 400, -100, -100, 500, .7, g)
    CALL dr(temp(2), 400, -100, 100, 500, .7, g)
    CALL dr(temp(4), 400, 100, 100, 500, .7, g)
    CALL dr(temp(6), 600, -100, 100, 500, .7, g)
    CALL dr(temp(8), 600, 100, 100, 500, .7, g)
    
    IF g < 1.4 THEN CALL dr(temp(5), 600, -100, -100, 500, .7, g)
    IF g > .2 THEN CALL dr(temp(3), 400, 100, -100, 500, .7, g)
    
    CALL drawline(temp(1), temp(2))
    CALL drawline(temp(2), temp(4))
    CALL drawline(temp(6), temp(8))
    CALL drawline(temp(2), temp(6))
    CALL drawline(temp(4), temp(8))
    
    IF g > .2 THEN CALL drawline(temp(3), temp(4))
    IF g > .2 THEN CALL drawline(temp(3), temp(1))
    IF g < 1.3 THEN CALL drawline(temp(5), temp(6))
    IF g < 1.3 THEN CALL drawline(temp(1), temp(5))
    
    CALL changescreen
LOOP
 
SUB changescreen
    SCREEN , , sch, 1 - sch
    sch = 1 - sch
    CLS
END SUB
 
SUB dr (p AS poi, x AS SINGLE, y AS SINGLE, z AS SINGLE, sh AS INTEGER, alfa AS SINGLE, gamma AS SINGLE)
    r = x - sh
    rr = SQR(r ^ 2 + y ^ 2)
    IF r <> 0 THEN rr = rr * SGN(r)
    x1 = sh + rr * SIN(gamma + ATN(y / r))
    y1 = rr * COS(gamma + ATN(y / r))
    r = x1 - sh
    rr = SQR(r ^ 2 + z ^ 2)
    IF r <> 0 THEN rr = rr * SGN(r)
    x1 = sh + rr * COS(alfa + ATN(z / r))
    z1 = rr * SIN(alfa + ATN(z / r))
    a = y1 * sc / x1: b = z1 * sc / x1
    p.x = 160 - a: p.y = 100 - b
END SUB
 
SUB drawline (p0 AS poi, p1 AS poi)
    LINE (p0.x, p0.y)-(p1.x, p1.y)
END SUB
1
156 / 46 / 70
Регистрация: 01.07.2014
Сообщений: 185
25.07.2014, 08:00
Я потрясен!
А что делает процедура changescreen() ??!
Это на грани фантастики!
Был бы вам очень благодарен, если бы вы хоть что-нибудь
добавили к своей программе (мини-REM)
Спасибо!
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
25.07.2014, 16:01
комментарии к программе
Тип poi - содержит координаты точки на экране.
Процедура dr - вычисляет координаты точки на экране по параметрам: координаты точки в пространстве, расстоянию до оси поворота,
углам поворота (alfa=0.7 отвечает за вид "сверху", gamma - отвечает за "поворот" куба), глобальный sc - расстояние от наблюдателя до
экрана. Результат помещается в параметр p.
Процедура drawline - просто рисует линию от точки до точки, координаты которых содержатся в объектах типа poi.
Процедура changescreen - меняет рабочую страницу экрана на демонстрирующуюся и очищает рабочую. В общем, то, что у VS, было в
виде:
QBasic/QuickBASIC
1
2
3
SCREEN 8, 0, APage%, VPage%
...
 SWAP APage%, VPage%
т.к. x=y-x при очередном применении будет в x возвращать то y, то 0.
g = g + (TIMER - STime) * .5 - куб вращается со скоростью полрадиана в секунду. Т.е. за каждую секунду, потраченную на прорисовку,
куб поворачивается на (STime+1-STime)*0.5=0.5 радиан. (STime=Timer - ожидание нового значения времени прорисовки.) Обеспечивает
одинаковую (более-менее) скорость вращения куба при любых fps.
IF g > 1.6 THEN g = 0 - куб делает не полный разворот, а поворачивается 90 градусов и возвращается в исходную позицию.
Блок dr - вычисляются координаты на экране всех нужных в данный момент точек куба.
Блок drawline - прорисовываются все нужные в данный момент ребра куба.
changescreen - демонстрация экрана, работа с новой страницей.
1
156 / 46 / 70
Регистрация: 01.07.2014
Сообщений: 185
25.07.2014, 16:47
Я очень Вам благодарен. Сам я никогда не применял такие
возможности QBasic-а. Да и подобная программа мне встретилась
первый раз. Вы Бейсик-программист N 1 !!!
Большое Спасибо Вам за комментарий.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
27.07.2014, 03:36
Good-Morning, мерцание сильное на DOSBox. Попробуй мой вариант FLIP.
Проекцию я Стасу давал на другом форуме, если найдёшь посмотри, она и тут была где-то,
тема, где был проанализирован чужой код.

Не понятно от чего прётся xod\gehh, 3d пишется элементарно, вроде бы он и заходил в
закреплённую тему.

Добавлено через 16 минут
Сам я никогда не применял такие возможности QBasic-а.
И упаси лосось их применять на QBasic-е... Wireframe - это было на заре 80-x.
Тупо текстуры вышли из моды после Quake 2 и Half-Life, 98-й и 99-й года.
2
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
27.07.2014, 18:31
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Попробуй мой вариант FLIP.
Исправил, спасибо. Как понимаю, это как-то связано с синхроимпульсом?
Оптимизировал, теперь даже на 3000 cycles (DOSBox) тянет.
QBasic/QuickBASIC
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
TYPE poi
  x AS SINGLE
  y AS SINGLE
END TYPE
 
TYPE cube
    top1 AS poi
    top2 AS poi
    top3 AS poi
    top4 AS poi
    top5 AS poi
    top6 AS poi
    top7 AS poi
    top8 AS poi
END TYPE
 
DECLARE SUB drcube (c AS cube, g AS SINGLE)
DECLARE SUB dr (p AS poi, x AS SINGLE, y AS SINGLE, z AS SINGLE, sh AS INTEGER, alfa AS SINGLE, gamma AS SINGLE)
DECLARE SUB drawcube (c AS cube)
DECLARE SUB changescreen ()
CONST sc = 250
CONST w = 320
CONST l = 200
CONST pi = 3.14
 
DIM SHARED sch, r
DIM SHARED DrMemD(0 TO 314)  AS cube
SCREEN 7
DIM STime AS DOUBLE, DTime AS DOUBLE, g AS INTEGER
DIM temp(1 TO 8) AS poi
LOCATE 15, 15
PRINT "loading..."
FOR g = 0 TO 314
    CALL drcube(DrMemD(g), g / 200)
    LOCATE 17, 1
    FOR i = 1 TO INT(40 * (g / 320)) + 1
        PRINT CHR$(177);
    NEXT
NEXT
SCREEN , , 1, 0
STime = TIMER
DO WHILE INKEY$ = ""
    DTime = INT((TIMER - STime) * 1000)
    IF DTime > 3 THEN
        g = g + DTime / 3
        STime = TIMER
        IF g > 314 THEN g = 0
        CALL drawcube(DrMemD(g))
        CALL changescreen
    END IF
LOOP
 
SUB changescreen
    SCREEN , , sch, 1 - sch
    sch = 1 - sch
    WAIT &H3DA, 8
    CLS
END SUB
 
SUB dr (p AS poi, x AS SINGLE, y AS SINGLE, z AS SINGLE, sh AS INTEGER, alfa AS SINGLE, gamma AS SINGLE)
    r = x - sh
    rr = SQR(r ^ 2 + y ^ 2)
    IF r <> 0 THEN rr = rr * SGN(r)
    x1 = sh + rr * SIN(gamma + ATN(y / r))
    y1 = rr * COS(gamma + ATN(y / r))
    r = x1 - sh
    rr = SQR(r ^ 2 + z ^ 2)
    IF r <> 0 THEN rr = rr * SGN(r)
    x1 = sh + rr * COS(alfa + ATN(z / r))
    z1 = rr * SIN(alfa + ATN(z / r))
    a = y1 * sc / x1: b = z1 * sc / x1
    p.x = 160 - a: p.y = 100 - b
END SUB
 
SUB drawcube (c AS cube)
    LINE (c.top3.x, c.top3.y)-(c.top7.x, c.top7.y), 5
    LINE (c.top7.x, c.top7.y)-(c.top8.x, c.top8.y), 5
    LINE (c.top7.x, c.top7.y)-(c.top5.x, c.top5.y), 5
    LINE (c.top1.x, c.top1.y)-(c.top2.x, c.top2.y)
    LINE (c.top2.x, c.top2.y)-(c.top4.x, c.top4.y)
    LINE (c.top3.x, c.top3.y)-(c.top4.x, c.top4.y)
    LINE (c.top3.x, c.top3.y)-(c.top1.x, c.top1.y)
    LINE (c.top5.x, c.top5.y)-(c.top6.x, c.top6.y)
    LINE (c.top6.x, c.top6.y)-(c.top8.x, c.top8.y)
    LINE (c.top1.x, c.top1.y)-(c.top5.x, c.top5.y)
    LINE (c.top2.x, c.top2.y)-(c.top6.x, c.top6.y)
    LINE (c.top4.x, c.top4.y)-(c.top8.x, c.top8.y)
END SUB
 
SUB drcube (c AS cube, g AS SINGLE)
    CALL dr(c.top1, 400, -100, -100, 500, .7, g)
    CALL dr(c.top2, 400, -100, 100, 500, .7, g)
    CALL dr(c.top3, 400, 100, -100, 500, .7, g)
    CALL dr(c.top4, 400, 100, 100, 500, .7, g)
    CALL dr(c.top5, 600, -100, -100, 500, .7, g)
    CALL dr(c.top6, 600, -100, 100, 500, .7, g)
    CALL dr(c.top7, 600, 100, -100, 500, .7, g)
    CALL dr(c.top8, 600, 100, 100, 500, .7, g)
END SUB
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
28.07.2014, 03:46
Good-Morning, всё равно моргать будет, знаю, что по идее не должно, но будет.
Копируй FLIP подчистую, не боись. Суть ещё в том, что у тебя много тригонометрии и
ресурсоёмких операций на каждую вершину. Я тоже свой двиг написал когда, понял что
сильно дофига, что-то закешировал, но всё равно деления, синусы и прочая муть. Можно
взять проекцию вот такую:

QBasic/QuickBASIC
1
2
    x = HalfRezX - ((TY * K1) / (TX + K2)) * K3
    y = HalfRezY - ((TZ * K1) / (TX + K2)) * K4
2 деления, 4 умножения и 2 сложения. Настраивается несложно, подбираешь коэффициенты.
Ежели на QB\QBasic то таймер дополнительно можно эмулировать через эвент PLAY, это
конечно "грязный" метод, но нативный и халявный.
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
28.07.2014, 15:49
Цитата Сообщение от Quiet Snow Посмотреть сообщение
всё равно моргать будет
Не знаю, у меня не моргает. И с 3'000, и с 20'000.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Суть ещё в том, что у тебя много тригонометрии и
ресурсоёмких операций на каждую вершину.
В последней программе данные подготавливаются, поэтому там ничего сложнее умножения нет (и то, в таймере).
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Можно взять проекцию вот такую
Я такую и использую :
QBasic/QuickBASIC
1
 a = y1 * sc / x1: b = z1 * sc / x1
Остальное все - это относиться к повороту точек в пространстве, чтобы можно было поднять камеру, поворачивать объект.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
таймер дополнительно можно эмулировать через эвент PLAY
Не понимаю, чем он лучше Timer-а. Не нашел в последнем возможности сохранения скорости вращения при разных частотах. С помощью таймера я добиваюсь, что скорость вращения одинаковая и на 300, и на 3000, и на 20000, и даже на эмуляторе QB во FreeBasic со всеми 2.2 GHz-ами. С play такое не проходит, хотя, возможно, я что-то делаю неправильно.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
29.07.2014, 06:52
Не понимаю, чем он лучше Timer-а.
Тот же таймер, только больше тактов. Не 18.2 в секунду, а много больше.

С play такое не проходит, хотя, возможно, я что-то делаю неправильно.
<DELETED> Обсудим.

Я такую и использую
Что-то подозрительно мало всего, ну ладно потестирую потом. Ну впринципе я догадывался что
свернуть во что-то такое можно с ограниченными проекционными возможностями.
В ENLIGNT факе для демщиков используется такое:

sx = xSize/2+x*dist/(z+dist),
sy = ySize/2-y*dist/(z+dist).

Добавлено через 12 минут
Остальное все - это относиться к повороту точек в пространстве, чтобы можно было поднять камеру, поворачивать объект.
Достаточно ресурсоёмкое из 3D рассчётов. Где-то я видел на FB, чувак через сдвиговые
операции поворот точек делал. Правда он там копирайт наложил собака, но как-бы можно
простой логикой это делать. Там в демке массив красных точек вращался, ну может видел.

Добавлено через 7 минут
300, и на 3000, и на 20000
3000 тактов это 386-SX на 40 МГц, инфа от Абадябера, можно верить на слово. Ниже можно
уже не ставить на тестирование. Но эмуляция вообще вещь очень кривая, она не учитывает
hardware оптимизацию, да и QuickBasic настолько неповоротлив, что разница в скорости на
разных тачках между его кодом и кодом на ассемблере сильно ощущается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2014, 06:52
Помогаю со студенческими работами здесь

Вращающийся куб
Может кто подскажет как реализовать перспективное изображение куба, вращающееся вокруг произвольного вектора? Может кто нибудь...

Нарисовать вращающийся куб
Всем Привет!. Кто может помочь с кубом?. нужен вращающийся куб.я пыталась. но до вращения так и не доходит. пока куб просто при...

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

Вывести в досе вращающийся 3d куб
Вывести в досе вращающийся 3d куб. Помогите сделать пожалуйста, для masm

Вращающийся куб с кнопками управления
Есть вот такая штука - смотреть. По этой флешке у меня два вопроса. 1) Изначально было 7 кнопок (которые внизу, под кубом). При...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
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
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru