Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Вниз3D график по x,y,z Найти похожие ветки
← →
shkeeper (2004-04-22 22:33) [0]Очень нужно! Есть ли какой нибудь спрособ "малой кровью" построить 3Д график (по x,y,z)?
Вариант строить в Excel слишком банален и неудобен. Может кто подскажет где что мона взять?
← →
shkeeper (2004-04-22 22:33) [0]Очень нужно! Есть ли какой нибудь спрособ "малой кровью" построить 3Д график (по x,y,z)?
Вариант строить в Excel слишком банален и неудобен. Может кто подскажет где что мона взять?
← →
shkeeper (2004-04-22 23:15) [1]ну и... что никто не сталкивался... это ужасно..
← →
shkeeper (2004-04-22 23:15) [1]ну и... что никто не сталкивался... это ужасно..
← →
Yegorchic © (2004-04-22 23:19) [2]Посмотри программу в кладовке...
как называется не помню... вроде "Математика 0.5"...
там есть построение 3D графика...
← →
Yegorchic © (2004-04-22 23:19) [2]Посмотри программу в кладовке...
как называется не помню... вроде "Математика 0.5"...
там есть построение 3D графика...
← →
SergLight © (2004-04-23 10:26) [3]TChart
← →
SergLight © (2004-04-23 10:26) [3]TChart
← →
Курдль © (2004-04-23 11:30) [4]
> Очень нужно! Есть ли какой нибудь спрособ "малой кровью"
> построить 3Д график (по x,y,z)?
А что Вы называете "малой кровью"? Такие проги писать - одно сплошное эстетическое удовольствие (жаль, что их редко заказывают). Все проще пареной репы - берете TImage и на его Canvas-е строите все, что заблагорассудится!
← →
Курдль © (2004-04-23 11:30) [4]
> Очень нужно! Есть ли какой нибудь спрособ "малой кровью"
> построить 3Д график (по x,y,z)?
А что Вы называете "малой кровью"? Такие проги писать - одно сплошное эстетическое удовольствие (жаль, что их редко заказывают). Все проще пареной репы - берете TImage и на его Canvas-е строите все, что заблагорассудится!
← →
Algol (2004-04-23 12:09) [5]
> одно сплошное эстетическое удовольствие
Я б так не сказал. Создание интерактивных графиков произвольного типа, с шаблонами, с поддержкой внедрения, да еще и 3D - задача не тривиальная, и довольно сложная.
← →
Algol (2004-04-23 12:09) [5]
> одно сплошное эстетическое удовольствие
Я б так не сказал. Создание интерактивных графиков произвольного типа, с шаблонами, с поддержкой внедрения, да еще и 3D - задача не тривиальная, и довольно сложная.
← →
Курдль © (2004-04-23 12:12) [6]
> Я б так не сказал. Создание интерактивных графиков произвольного
> типа, с шаблонами, с поддержкой внедрения, да еще и 3D
> - задача не тривиальная, и довольно сложная.
Но для меня приятнее, чем создание каких-нить бухгалтерских интерактивных отчетов произвольного типа, с шаблонами, с поддержкой внедрения :)
← →
Курдль © (2004-04-23 12:12) [6]
> Я б так не сказал. Создание интерактивных графиков произвольного
> типа, с шаблонами, с поддержкой внедрения, да еще и 3D
> - задача не тривиальная, и довольно сложная.
Но для меня приятнее, чем создание каких-нить бухгалтерских интерактивных отчетов произвольного типа, с шаблонами, с поддержкой внедрения :)
← →
shkeeper (2004-04-23 15:20) [7]После того как я обрал весь Инет в поисках удобного и НОРМАЛЬНОГО компонента я зациклился на TChart Pro 6.0. Но он выдает все время ошибки, избавится от них никак не могу. А посему пришел к выводу, что еще никто такого компонента не придумал, а те что есть не могут построить диаграмму по 3-м осям, если записей например больше 5000.
Так что нечего тут говорить, что это просто... было бы просто уже б кто нибудь подсказал что-то конкретоное, а все грамотные, пока по делу не начнем говорить... :(
← →
shkeeper (2004-04-23 15:20) [7]После того как я обрал весь Инет в поисках удобного и НОРМАЛЬНОГО компонента я зациклился на TChart Pro 6.0. Но он выдает все время ошибки, избавится от них никак не могу. А посему пришел к выводу, что еще никто такого компонента не придумал, а те что есть не могут построить диаграмму по 3-м осям, если записей например больше 5000.
Так что нечего тут говорить, что это просто... было бы просто уже б кто нибудь подсказал что-то конкретоное, а все грамотные, пока по делу не начнем говорить... :(
← →
Курдль © (2004-04-23 15:26) [8]
> а все грамотные, пока по делу не начнем говорить... :(
Я Вам абсолютно грамотно подсказал, как грамотно пстроить диаграмму по 3-м осям! Надо брать и строить, а не компоненты искать!
Если медленно работает - переходите на ассемблер!
Как сделаете лучший и менее глючный, чем есть - напишите мне - я куплю за большие деньги!
← →
Курдль © (2004-04-23 15:26) [8]
> а все грамотные, пока по делу не начнем говорить... :(
Я Вам абсолютно грамотно подсказал, как грамотно пстроить диаграмму по 3-м осям! Надо брать и строить, а не компоненты искать!
Если медленно работает - переходите на ассемблер!
Как сделаете лучший и менее глючный, чем есть - напишите мне - я куплю за большие деньги!
← →
WebErr © (2004-04-23 16:41) [9]Всё оч. просто:
Дано: исходный вектор P = (x, y, z), найти простейший вариант отображения на плоскость экрана.
Решение:
Пусть некий объект расположен неподалёку от точки O = (0, 0, 0).
(Иначе делаем перенос координат!)
Пусть "камера" направлена в эту точку и имеет сферические координаты с углами (a, b).
Поворачиваем P, используя матрицу поворота T(a, b) =
|| cos(a) -sin(a) 0 ||
|| sin(a)*cos(b) cos(a)*cos(b) -sin(b) ||
|| sin(a)*sin(b) cos(a)*sin(b) cos(b) ||
Q = T*P.
Q = (X, Y, Z).
Итак мы отобразили (непроективно - это посложнее!) P на плоскость экрана.
Теперь можно сделать косметическое преобразование:
xs = X*k + x0
ys = Y*k + y0
И всё! :))))
← →
WebErr © (2004-04-23 16:41) [9]Всё оч. просто:
Дано: исходный вектор P = (x, y, z), найти простейший вариант отображения на плоскость экрана.
Решение:
Пусть некий объект расположен неподалёку от точки O = (0, 0, 0).
(Иначе делаем перенос координат!)
Пусть "камера" направлена в эту точку и имеет сферические координаты с углами (a, b).
Поворачиваем P, используя матрицу поворота T(a, b) =
|| cos(a) -sin(a) 0 ||
|| sin(a)*cos(b) cos(a)*cos(b) -sin(b) ||
|| sin(a)*sin(b) cos(a)*sin(b) cos(b) ||
Q = T*P.
Q = (X, Y, Z).
Итак мы отобразили (непроективно - это посложнее!) P на плоскость экрана.
Теперь можно сделать косметическое преобразование:
xs = X*k + x0
ys = Y*k + y0
И всё! :))))
← →
WebErr © (2004-04-23 17:03) [10]Z координату мы используем для Z-буффера, если надо.
А при проективном преобразовании нужно знать ещё и 3-ю сферическую координату "камеры" r, т.е. C = (r, a, b) в сферических координатах.
Также надо знать длину до фокуса камеры = d.
Получаем преобразование R = R(Q), при некоем p = r/(r-Z).
xr = X*p
yr = Y*p
zr = r-d-Z
R = (xr, yr, zr).
Т.е. проекция применяется после поворота и перед "косметическим" масштабированием. :))))
Литература: "Программирование компьютерной графики" Виктора Порева.
← →
WebErr © (2004-04-23 17:03) [10]Z координату мы используем для Z-буффера, если надо.
А при проективном преобразовании нужно знать ещё и 3-ю сферическую координату "камеры" r, т.е. C = (r, a, b) в сферических координатах.
Также надо знать длину до фокуса камеры = d.
Получаем преобразование R = R(Q), при некоем p = r/(r-Z).
xr = X*p
yr = Y*p
zr = r-d-Z
R = (xr, yr, zr).
Т.е. проекция применяется после поворота и перед "косметическим" масштабированием. :))))
Литература: "Программирование компьютерной графики" Виктора Порева.
← →
WebErr © (2004-04-23 17:06) [11]Разумеется точки, которые после поворота получили координату Z >= r-d не отображаются на экран, т.к. находятся за камерой! :))))
Прошу послать данный материал автору сабжа! :))))
← →
WebErr © (2004-04-23 17:06) [11]Разумеется точки, которые после поворота получили координату Z >= r-d не отображаются на экран, т.к. находятся за камерой! :))))
Прошу послать данный материал автору сабжа! :))))
← →
WebErr © (2004-04-23 17:17) [12]Могу ещё про вертексное построение с закраской Гуро или Фонга рассказать, но лучше сами почитайте книжку - она того стоит!!! :))))
← →
WebErr © (2004-04-23 17:17) [12]Могу ещё про вертексное построение с закраской Гуро или Фонга рассказать, но лучше сами почитайте книжку - она того стоит!!! :))))
← →
Дмитрий (2004-04-23 17:27) [13]Компоненты есть... И очень даже хорошие... Просто искать надо уметь... Я бы тебе выслал одну, да она на домашнем компе висит... А его я увижу, ой, как нескоро... К сожалению не помню как зовётся...
Ещё вариант - OpenGl... Малой крови не обещаю, зато надёжно и со вкусом...
← →
Дмитрий (2004-04-23 17:27) [13]Компоненты есть... И очень даже хорошие... Просто искать надо уметь... Я бы тебе выслал одну, да она на домашнем компе висит... А его я увижу, ой, как нескоро... К сожалению не помню как зовётся...
Ещё вариант - OpenGl... Малой крови не обещаю, зато надёжно и со вкусом...
← →
WebErr © (2004-04-23 17:27) [14]Если что-то непонятно спрашивайте!
← →
WebErr © (2004-04-23 17:27) [14]Если что-то непонятно спрашивайте!
← →
WebErr © (2004-04-23 17:29) [15]
> Дмитрий (23.04.04 17:27) [13]
Это всё здорово, но всегда нужно знать как это всё работает! Это касается не только OpenGL & DirectX, но и всеми любимой VCL - WinAPI знать надо не хуже родных библиотек! :))))
← →
WebErr © (2004-04-23 17:29) [15]
> Дмитрий (23.04.04 17:27) [13]
Это всё здорово, но всегда нужно знать как это всё работает! Это касается не только OpenGL & DirectX, но и всеми любимой VCL - WinAPI знать надо не хуже родных библиотек! :))))
← →
WebErr © (2004-04-23 18:14) [16]Кстати, если неизвесны сферические координаты камеры, а только декартовы (xc, yc, zc), то это даже лучше, тогда оператор T(a, b) считается быстрее, т.к.
< пусть rxy = sqrt(sqr(xc)+sqr(yc)),
тогда r = sqrt(sqr(r0)+sqr(zc)) >
cos(a) = yc/rxy, sin(a) = xc/rxy
cos(b) = zc/r, sin(b) = rxy/r
С уважением, Керимов Владимир. (с) :)))) (спец по 3D графике)
← →
WebErr © (2004-04-23 18:14) [16]Кстати, если неизвесны сферические координаты камеры, а только декартовы (xc, yc, zc), то это даже лучше, тогда оператор T(a, b) считается быстрее, т.к.
< пусть rxy = sqrt(sqr(xc)+sqr(yc)),
тогда r = sqrt(sqr(r0)+sqr(zc)) >
cos(a) = yc/rxy, sin(a) = xc/rxy
cos(b) = zc/r, sin(b) = rxy/r
С уважением, Керимов Владимир. (с) :)))) (спец по 3D графике)
← →
WebErr © (2004-04-23 18:16) [17]Где
r = sqrt(sqr(rxy)+sqr(zc))
- расстояние от начала координат, до камеры! :))))
← →
WebErr © (2004-04-23 18:16) [17]Где
r = sqrt(sqr(rxy)+sqr(zc))
- расстояние от начала координат, до камеры! :))))
← →
WebErr © (2004-04-23 18:50) [18]Если rxy < eps (rxy близко к нулю), то можно взять любые (a, b), в том числе и (0, 0). :))))
← →
WebErr © (2004-04-23 18:50) [18]Если rxy < eps (rxy близко к нулю), то можно взять любые (a, b), в том числе и (0, 0). :))))
← →
csr © (2004-04-24 12:32) [19]Давай, я те такую прогу напишу гы ;) Это ж проще пареной репы! Математику надо было учить :). Естессно за вознаграждение! ;)
← →
csr © (2004-04-24 12:32) [19]Давай, я те такую прогу напишу гы ;) Это ж проще пареной репы! Математику надо было учить :). Естессно за вознаграждение! ;)
← →
Piter © (2004-04-24 14:01) [20]22.04.04 22:33
Очень нужно! ...
22.04.04 23:15
ну и... что никто не сталкивался
нда..
← →
Piter © (2004-04-24 14:01) [20]22.04.04 22:33
Очень нужно! ...
22.04.04 23:15
ну и... что никто не сталкивался
нда..
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.041 c