Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

Рекурсия присутствует?
И где эти прикрепленные файлы?
Я код на C++ набрал сам. Строил кривую Безье, но "прилипал" к нулю. То есть я задаю точки далеко от нуля, а он строил из нуля, а потом только обходил предложенные точки. Потом я нашёл Ваш сайт и эту статью. Оказалось, что я забыл возвести t в...
просто я не так понял, здесь мы вращаем точки куба что вращает сам куб. Мне нужно вращать просто 3д объект , данный способ не подходит
Задавайте объект в мировых координатах. Вращайте его относительно мировой системы координат. А при отрисовке преобразуйте в экранные координаты. Посмотрите пример преобразования в экранные координаты.

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика

Java

Скриншот к примеру
Среда программирования: 
Eclipce
Статья по теме: 

Программа строит фрактальные деревья по заданным параметрам.

  1. Поля Х и Y отвечают за позицию центра на экране.
  2. Поле Distance отвечает за дистанцию корня дерева от центра.
  3. Поле Number отвечает за количество деревьев, растущих вокруг центра.
  4. Поле Rotation отвечает за поворот деревьев относительно позиции дерева.
  5. В третьем столбике находится спиннер, которым задаётся количество поддеревьев.
  6. В четвёртом столбике в выпадающем меню выбирается параметры какой ветви будут изменяться слайдерами.
Скриншот к примеру
Среда программирования: 
Eclipse
Статья по теме: 

Построить фрактал, описанный в статье.
Функция drawFractal получает в качестве параметров координаты центра круга, затем радиус, затем индекс, определяющий положение его родителя(для самого первого полагаем, что родитель был "снизу"), а также количество итераций. Рисуем круг со входными данными, далее в случае, если итераций не осталось, заканчиваем отрисовку, иначе - находим координаты всех центров потенциальных кругов-потомком, а затем для каждого, кроме того, чье место занято родителем, вызываем эту же самую функцию с соответствующими параметрами.

Скриншот к примеру
Среда программирования: 
Eclipse
Статья по теме: 

Данная программа рисует кривую Минковского.
Алгоритм:
На вход функции отрисовки drawMinkovskyCurve получает параметры, определяющие местоположение двух начальных точек и количество итераций. Далее если количество итераций равно 0, рисуем отрезок между этими точками. В ином случае определяем горизонтальный отрезок или вертикальный, далее заполняем массивы координат ломаной, после чего вызываем нашу функцию рекурсивно для каждого звена ломаной с количеством итераций на 1 меньше.

Скриншот к примеру
Среда программирования: 
NetBeans 7.4

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

Реализована функция Quaternion rotate(double x, double y, вouble z, double i, double j, double k, float angle), которая принимает координаты вращаемой точки, координаты вектора, вокруг которого вращаем точку и угол. Она возвращает кватернион вида (0, x', y', z') с новыми координатми.

Скриншот к примеру
Среда программирования: 
NetBeans 7.4

В классе Mandelbrot хранятся переменные вектора позиции и вращения.