标签: fractals

编程分形

学习分形程序是否有助于清楚地思考某些编程问题?

fractals

1
推荐指数
1
解决办法
2314
查看次数

我的巴恩斯利蕨太瘦了

我是Java编程的新手,最近我决定为学校的论文选择分形的主题.然而,写我的文章的第一步要求我使用Java代码重新创建Barnsley蕨类植物.当我尝试这个时,与我在网上看到的其他蕨类植物相比,我的巴恩斯利蕨看起来太瘦了.我检查了维基百科,以确保我的仿射变换的数量和概率是正确的,但是产生了相同的,瘦的蕨类植物.有人能帮我吗?我最近进入了BufferedImage的领域,听说这是渲染像素的更好方法,但我仍然不确定它是如何工作的.绘画的图形风格是不可靠的还是什么?这是我的代码:

import java.awt.Graphics;
import java.awt.Color;
import java.awt.Canvas;

public class Fern extends Canvas{

    private static final long serialVersionUID = 1L;
    public static final int ITERATION = 100000;

    public  Fern() {
        setBackground(Color.WHITE);
    }

    public void paint(Graphics window)
    {
        double x = .5;
        double y = 0;
        window.setColor(Color.GREEN);
        window.drawRect(200,600,1,1);
        Color color;
        for(int i = 0; i<ITERATION; i++){
            double chance = (Math.random());
            if(chance<.85){
                x=.85*x+.04*y; //x=.85*x+.04*y;
                y=-.04*x+.85*y+1.6; //y=-.04*x+.85*y+1.6;
                color = new Color(Color.GREEN.getRGB());
            }
            else if(chance<.86){
                x=0; //x=0;
                y=.16*y; //y=.16*y;
                color = new Color(Color.BLUE.getRGB());
            }
            else …
Run Code Online (Sandbox Code Playgroud)

java graphics canvas fractals jframe

1
推荐指数
1
解决办法
132
查看次数

Mandelbrot集由特定函数定义

我正在尝试使用canvas,我正在尝试修改这段代码,但不幸的是我不理解它的某些部分.

我的问题是 - 如何自定义上面的代码,例如通过

f(z) = c^e(-z) 
Run Code Online (Sandbox Code Playgroud)

(该公式取自一本带有分形示例的书)?

我知道我需要更改这部分代码:

function computeRow(task) {
    var iter = 0;
    var c_i = task.i;
    var max_iter = task.max_iter;
    var escape = task.escape * task.escape;
    task.values = [];
    for (var i = 0; i < task.width; i++) {
        var c_r = task.r_min + (task.r_max - task.r_min) * i / task.width;
        var z_r = 0, z_i = 0;

        for (iter = 0; z_r*z_r + z_i*z_i < escape && iter < max_iter; iter++) {
            // …
Run Code Online (Sandbox Code Playgroud)

javascript canvas pseudocode fractals mandelbrot

1
推荐指数
1
解决办法
67
查看次数

带有 g2d 的毕达哥拉斯树

我正在尝试构建我的第一个分形(毕达哥拉斯树):

替代文字 http://img13.imageshack.us/img13/926/lab6e.jpg

在 Java 中使用 Graphics2D。这是我现在所拥有的:

import java.awt.*;
import java.awt.geom.*; 
import javax.swing.*;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {

    int i=0;
    Scanner scanner = new Scanner(System.in);

    System.out.println("Give amount of steps: ");
    i = scanner.nextInt();

    new Pitagoras(i);
    }
}

class Pitagoras extends JFrame {

private int powt, counter;

public Pitagoras(int i) {
    super("Pythagoras Tree.");
    setSize(1000, 1000);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    powt = i;
}

private void paintIt(Graphics2D g) {

    double p1=450, p2=800, size=200;

    for (int i = …
Run Code Online (Sandbox Code Playgroud)

java graphics fractals figures

0
推荐指数
1
解决办法
3765
查看次数

试图理解Levy曲线(分形)

我被要求实现一个递归函数,它以非负整数n作为输入并返回用字母L,R和F编码的turtle指令,其中L表示向左旋转45度,R表示向右旋转45度,F表示向前旋转.

附加信息我有:对于每个非负整数n> 0,Levy曲线L(n)可以用Levy曲线定义L(n-1); Levy曲线L(0)只是一条直线.

    usage:
    >>> lev(0)
    'F'
    >>> lev(1)
    'LFRRFL'
Run Code Online (Sandbox Code Playgroud)

我对此很新,我不知道如何开始:

到目前为止我只得到:

    from turtle import Screen, Turtle
    def lev(n):
        # base case
        if n ==0:
           return 'F'
        # recursive case
        else:
            return lev(n-1)
Run Code Online (Sandbox Code Playgroud)

我在这里需要一些好的指示.

python fractals

0
推荐指数
1
解决办法
2399
查看次数

Cantor三元组用Python或C语言设置

我想在Python或C中使用递归函数生成Cantor三元集,但我不知道如何做到这一点.更确切地说,我希望在N递归之后,Python返回类似于列表的内容,该列表包含组成Cantor集的子集的开头和结尾.

c python fractals

-5
推荐指数
1
解决办法
1890
查看次数

标签 统计

fractals ×6

canvas ×2

graphics ×2

java ×2

python ×2

c ×1

figures ×1

javascript ×1

jframe ×1

mandelbrot ×1

pseudocode ×1