-
Notifications
You must be signed in to change notification settings - Fork 0
/
fractol_help.c
118 lines (108 loc) · 3.56 KB
/
fractol_help.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* fractol_help.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: ddehtyar <[email protected]> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2018/06/20 19:03:54 by ddehtyar #+# #+# */
/* Updated: 2018/06/20 19:03:56 by ddehtyar ### ########.fr */
/* */
/* ************************************************************************** */
#include "fractol.h"
void burningship_set(t_fractol *den)
{
int color;
den->pr = 1.0 * (den->x - WIDTH / 2) / (0.5 * den->zoom * WIDTH) + den->x1;
den->pi = (den->y - WIDTH / 2) / (0.5 * den->zoom * WIDTH) + den->y1;
b_zero(den);
den->i = -1;
while (++den->i < den->maxi)
{
den->or = den->nr;
den->oi = den->ni;
den->nr = den->or * den->or - den->oi * den->oi + den->pr;
den->ni = fabs(den->or * den->oi) * -2 + den->pi;
if ((den->nr * den->nr + den->ni * den->ni) > 4)
break ;
if (den->i < den->maxi && den->i > 1)
color = chec_color(den->i, den);
if (den->i >= den->maxi - 4 || den->i == 0)
color = 0;
ft_create_img(den, den->x, den->y, color);
}
}
void star_set(t_fractol *den)
{
int color;
den->pr = 1.0 * (den->x - WIDTH / 2) / (0.3 * den->zoom * WIDTH) + den->x1;
den->pi = (den->y - WIDTH / 2) / (0.3 * den->zoom * WIDTH) + den->y1;
b_zero(den);
den->i = -1;
while (++den->i < den->maxi)
{
den->or = den->nr;
den->oi = den->ni;
den->nr = den->or * den->or - den->oi * den->oi + den->pr;
den->ni = -2 * den->or * den->oi + den->pi;
if ((den->nr * den->nr + den->ni * den->ni) > 4)
break ;
if (den->i < den->maxi && den->i > 1)
color = chec_color(den->i, den);
if (den->i >= den->maxi - 4 || den->i == 0)
color = 0;
ft_create_img(den, den->x, den->y, color);
}
}
void cock_set(t_fractol *den)
{
int color;
den->pr = 1.0 * (den->x - WIDTH / 2.0) / (0.3 * den->zoom
* WIDTH) + den->x1;
den->pi = (den->y - WIDTH / 2.0) / (0.3 * den->zoom * WIDTH) + den->y1;
b_zero(den);
den->i = -1;
while (++den->i < den->maxi)
{
den->or = den->nr;
den->oi = den->ni;
den->nr = (den->or * den->or) - (den->oi * den->oi) + den->pr;
den->ni = den->or * -2 * fabs(den->oi) + den->pi;
if ((den->nr * den->nr + den->ni * den->ni) > 4)
break ;
if (den->i < den->maxi && den->i > 1)
color = chec_color(den->i, den);
if (den->i >= den->maxi - 4 || den->i == 0)
color = 0;
ft_create_img(den, den->x, den->y, color);
}
}
void buffalo_set(t_fractol *den)
{
int color;
den->pr = 1.0 * (den->x - WIDTH / 2.0) / (0.3 * den->zoom
* WIDTH) + den->x1;
den->pi = (den->y - WIDTH / 2.0) / (0.3 * den->zoom * WIDTH) + den->y1;
b_zero(den);
den->i = -1;
while (++den->i < den->maxi)
{
den->or = den->nr;
den->oi = den->ni;
den->nr = fabs(den->or * den->or - den->oi * den->oi) + den->pr;
den->ni = fabs(den->or * den->oi) * -2 + den->pi;
if ((den->nr * den->nr + den->ni * den->ni) > 4)
break ;
if (den->i < den->maxi && den->i > 1)
color = chec_color(den->i, den);
if (den->i >= den->maxi - 4 || den->i == 0)
color = 0;
ft_create_img(den, den->x, den->y, color);
}
}
void b_zero(t_fractol *den)
{
den->nr = 0;
den->ni = 0;
den->oi = 0;
}