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

Вход на сайт

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

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

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

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

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

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

Пример построения Н-фрактала. Вначале строится одна фигура, потом 4, потом 16. Размер каждых следующих фигур меньше в 2 раза предыдущих (предыдущей, если первой).

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

import java.awt.*;
import javax.swing.*;
 
public class HFractal extends JComponent{
 
	static int razmer = 100;
	static int min = 5;
 
	public HFractal(){
		JFrame jf = new JFrame();
		jf.setSize(500, 500);
		jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);		
		jf.setLocationRelativeTo(null);
 
		jf.getContentPane().add(this);	
 
		jf.setVisible(true);		
		jf.repaint();
 
	}
 
 
	public void DrawH(Graphics g, int x, int y, int raz){		// метод рисующий Н
 
 
		 g.drawLine( x - raz, y - raz, x - raz, y + raz);
         g.drawLine (x - raz, y, x + raz, y);
         g.drawLine( x + raz, y - raz, x + raz, y + raz);
 
 
	}
	private void DrawHF(Graphics g, int x1, int y1, int razmer, int min){
 
		int x11 = x1 + razmer; int y11 = y1 + razmer;
        int x01 = x1 - razmer; int y01 = y1 + razmer;
        int x00 = x1 - razmer; int y00 = y1 - razmer;
        int x10 = x1 + razmer; int y10 = y1 - razmer;
 
        	DrawH(g, x1, y1, razmer);            
            razmer = razmer/2;
 
        if(razmer >= min){           
            DrawHF(g, x11, y11, razmer, min);
            DrawHF(g, x01, y01, razmer, min);
            DrawHF(g, x10, y10, razmer, min);
            DrawHF(g, x00, y00, razmer, min);
           }
 
	}
 
 
	public static void main(String[] args) {
 
 
		HFractal hf = new HFractal();
 
		hf.repaint();
	}
 
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
			DrawHF(g, 250, 250, razmer, min);
			repaint();
	       }
 
 
 
}