Jagged arcs
This commit is contained in:
parent
36ee81fc6b
commit
3fe82bf525
@ -893,6 +893,8 @@ void set_emap(int x, int y);
|
|||||||
|
|
||||||
int parts_avg(int ci, int ni, int t);
|
int parts_avg(int ci, int ni, int t);
|
||||||
|
|
||||||
|
void create_arc(int sx, int sy, int dx, int dy, int midpoints, int variance, int type);
|
||||||
|
|
||||||
int nearest_part(int ci, int t);
|
int nearest_part(int ci, int t);
|
||||||
|
|
||||||
void update_particles_i(pixel *vid, int start, int inc);
|
void update_particles_i(pixel *vid, int start, int inc);
|
||||||
|
34
src/powder.c
34
src/powder.c
@ -1244,6 +1244,40 @@ int nearest_part(int ci, int t)
|
|||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void create_arc(int sx, int sy, int dx, int dy, int midpoints, int variance, int type)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
float xint, yint;
|
||||||
|
int *xmid, *ymid;
|
||||||
|
int voffset = variance/2;
|
||||||
|
xmid = calloc(midpoints + 2, sizeof(int));
|
||||||
|
ymid = calloc(midpoints + 2, sizeof(int));
|
||||||
|
xint = (float)(dx-sx)/(float)(midpoints+1.0f);
|
||||||
|
yint = (float)(dy-sy)/(float)(midpoints+1.0f);
|
||||||
|
xmid[0] = sx;
|
||||||
|
xmid[midpoints+1] = dx;
|
||||||
|
ymid[0] = sy;
|
||||||
|
ymid[midpoints+1] = dy;
|
||||||
|
|
||||||
|
for(i = 1; i <= midpoints; i++)
|
||||||
|
{
|
||||||
|
ymid[i] = ymid[i-1]+yint;
|
||||||
|
xmid[i] = xmid[i-1]+xint;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(i = 0; i <= midpoints; i++)
|
||||||
|
{
|
||||||
|
if(i!=midpoints)
|
||||||
|
{
|
||||||
|
xmid[i+1] += (rand()%variance)-voffset;
|
||||||
|
ymid[i+1] += (rand()%variance)-voffset;
|
||||||
|
}
|
||||||
|
create_line(xmid[i], ymid[i], xmid[i+1], ymid[i+1], 0, 0, type);
|
||||||
|
}
|
||||||
|
free(xmid);
|
||||||
|
free(ymid);
|
||||||
|
}
|
||||||
|
|
||||||
//the main function for updating particles
|
//the main function for updating particles
|
||||||
void update_particles_i(pixel *vid, int start, int inc)
|
void update_particles_i(pixel *vid, int start, int inc)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user