Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.08;
Скачать: CL | DM;

Вниз

Как вывести текст, выкручивающийся по спирали из точки?   Найти похожие ветки 

 
realSanek   (2006-03-15 22:16) [0]

Выложите пожалуйста пример.


 
WondeRu ©   (2006-03-16 09:12) [1]

Вот моя программа 10-летней давности:
SCREEN 12: CLS : f = 0
WINDOW (-5000, 4000)-(5000, -4000)
WHILE INKEY$ = ""
FOR i = 1 TO 6000 STEP 5
PSET (i * COS(i + f), i * SIN(i + f)), i MOD 16
NEXT i
FOR i = 1 TO 6000 STEP 5
PSET (i * COS(i + f), i * SIN(i + f)), 0
NEXT i
f = f - 36
WEND
END


алгоритм ясен, делай по аналогии


 
wicked ©   (2006-03-16 10:39) [2]

ы-ы-ы, как тяжко то..... примеров не дам, но отрисую, как бы я решал такое....

имхо, проблему лучше разделить на 2 - как вывести тескт вдоль любой произвольной полилинии/кривой и как построить эту кривую, чтоб она на спираль была похожа....
1-е - задачка сложная, но увлекательная и имеет множество способов решения...... например, SetWorldTransform (NT/2k/XP only) или CreateFontIndirect, GetGlyphOutline и GetCharacterPlacement, либо использовать что-то наподобие freetype (http://www.freetype.org)
2-е - одно из решений уже показали...


 
Sapersky   (2006-03-16 11:25) [3]

В 3D-графике (OpenGL, DirectX) текст обычно выводится текстурированными полигонами. Если завернуть эти полигоны по спирали по формулам [1] - получится то, что нужно. Конкретно, для D3D есть такой класс CD3DFont - должен быть в составе примеров для DX8 SDK от Clootie (http://www.clootie.ru)
Хотя может быть SetWorldTransform проще, не знаю, не пробовал.



Страницы: 1 вся ветка

Текущий архив: 2006.10.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.057 c
15-1158179578
Ketmar
2006-09-14 00:32
2006.10.08
что за привычка...


11-1133818651
Vedun
2005-12-06 00:37
2006.10.08
Работа с базами данных


1-1156939185
matyx
2006-08-30 15:59
2006.10.08
функция GetSystemTime выдаёт неправильное время


2-1158672632
RomanH
2006-09-19 17:30
2006.10.08
Директории-> поддиректории


2-1158942531
J_SABER
2006-09-22 20:28
2006.10.08
Папки