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

Вход на сайт

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

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

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

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

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

Рейтинг@Mail.ru
Скриншот к примеру
Среда программирования: 
PascalABC.NET
Статья по теме: 

Программа рисующая Обнаженное обдуваемое ветром дерево Пифагора, написанная на Pascal с использованием модуля GraphABC.

Код программы: 

program PythagorasTree;
uses GraphABC;
const
    angle1 = pi / 4; // Угол поворота: ╥/4 = 45°
    angle2 = pi / 6; // Угол поворота: ╥/6 = 30°
    angle3 = pi / 2; // Угол поворота: ╥/2 = 90°
procedure _Line(x, y : Integer; a, b : Real);
begin
    Line(x, y, Round(x + a * cos(b)), Round(y - a * sin(b))); //Процедура отрисовки частей
end; 
procedure DrawTree(x, y : Integer; a, b : real); //Рекурсивная процедура, использует процедуру _line.
begin   
    if a > 4 then
    begin
        a := a * 0.7;
        _Line(x, y, a, b);
        x := Round(x + a * cos(b));
        y := Round(y - a * sin(b));
        DrawTree(x, y, a, b + angle1);
        DrawTree(x, y, a, b - angle2);
    end;
end;
 
begin  
   DrawTree(300, 450, 200, angle3);
end.

Прикрепленный файлРазмер
PythagorasTree.zip56.94 кб