Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.227.228.181] |
|
Сообщ.
#1
,
|
|
|
хочется построить на экране что-нить красивое и в движении. Подскажите что-нибудь...
|
Сообщ.
#2
,
|
|
|
>Меня поймет только нейтронная бомба.....
Точно! Понять чего ты конкретно хочешь сложно. Вообще непонятно, может тебе лучше к программистам... |
Сообщ.
#3
,
|
|
|
Цитата ter, 07.10.02, 05:10:23 >Меня поймет только нейтронная бомба..... Точно! Понять чего ты конкретно хочешь сложно. Вообще непонятно, может тебе лучше к программистам... Хочу найти алгоритм построения сложной красивой фигуры(узора и т.д.). Чтобы можно было бы менять в этом алгоритме параметры, и изображение бы тоже изменилось.... |
Сообщ.
#4
,
|
|
|
первое, что приходит на ум.. это фракталы...
а вообще есть алгоритмы, основанные на какой-нить формулке, типа синуса логарифма, и системе координат, которая угол и радиус:) блин, как-то криво говорю постараюсь узнат про второе подробнеее:) |
Сообщ.
#5
,
|
|
|
2Demo_S: фракталы строятся медленно.....
а за инфу по такой системе координат, буду оч. благодарен!!! )) |
Сообщ.
#6
,
|
|
|
Полярная система координат.
Растояние и угол Формулы перевода из одной системы кординат можно легко вывести. Можно построить sinc(r) в изометрии с тенями. выглядит красиво. r- полярный радиус от угла не зависит. |
Сообщ.
#7
,
|
|
|
Цитата Cubloid, 07.10.02, 22:13:13 Можно построить sinc® в изометрии с тенями. выглядит красиво. r- полярный радиус от угла не зависит. а подробнее можно???? |
Сообщ.
#8
,
|
|
|
sinc(x)=sin(x)/x;
В 0 имеет неопределенность 0/0 исправляется явной заменой значения функции на 1, потому что предел справа и слева равен 1. Построить достаточно "просто": Z=sinc(r); x=r*cos(Fi); (1) y=r*sin(Fi); (2) Возведя оба выражения в квадрат и сложив результаты получим: x^2+y^2=r^2*(sin^2(Fi)+cos^2(Fi))=r^2; (Основное тригонометрическое тождество) => r=sqrt(x^2+y^2); Получили уравнение поверхности в декартовых кординатах: Z=sin(sqrt(x^2+y^2))/sqrt(x^2+y^2) если x<>0 and y<>0; (*) Z=1 если x=0 and y=0; Затем разбиваем нашу поверхность на семейство кривых или срезов(как больше нравится называть) вдоль оси Х и У с шагом dx и dy. Вычисляем координаты точек этих кривых, подставляя в (*). В результате имеем координаты x,y,z точки, переводим их в экранные(Самый простой способ это отбросить координату Х например ))) Но это некрасиво )) ) . Выводим на экран точку и так далее пока не пройдем все точки наших срезов. Имеем красивую картинку, но на ней видно линии которые теоретически мы не можем видеть. Ну тут вариантов много как их скрыть. Я могу написать, один очень простой, но я не хочу. Может тогда, вам благородный дон, захочется хоть немного посвятить поиску информации либо в учебниках, либо в голове, либо в интернете(Это все есть в нем... и даже больше). В другом случае вам придеться довольствоваться, тем как это нарисует MatLab or MathCad or something else software that can draw 3D functions with shading and other features... За сим откланиваюсь... |
Сообщ.
#9
,
|
|
|
2Cubloid
Покорнейше благодарю!!!! |
Сообщ.
#10
,
|
|
|
О результатах исследований напишете?
|
Сообщ.
#11
,
|
|
|
как только что-нить будет, обязательно!!!!
|
Сообщ.
#12
,
|
|
|
http://pascal.sources.ru/articles/
http://pascal.sources.ru/demo/ |
Сообщ.
#13
,
|
|
|
Предлагаю использовать эпи- и гипоциклоиды, уравнение в параметрической форме
x(f)=(A+a)*cos(f)-l*a*cos(f*(A+a)/a) y(f)=(A+a)*sin(f)-l*a*sin(f*(A+a)/a) где А/a - количество лепестков (углов, если это так можно назвать); интересно выглядит когда это число дробное, когда иррациональное кривая не замыкается Так вот, меняя l,A,a можно получить интересные еффекты. |