1
0
Fork 0
mirror of https://gitlab.rlp.net/mobitar/ReCo.jl.git synced 2024-11-08 22:21:08 +00:00

Higher resolution and fixed segments colors

This commit is contained in:
MoBit 2021-11-11 00:45:41 +01:00
parent b6f7a58b06
commit bfd3cf783c

View file

@ -3,7 +3,7 @@ function animate(sol::Solution, args, name_part::String; framerate::Int64=10)
set_theme!(theme_black()) set_theme!(theme_black())
fig = Figure() fig = Figure(resolution=(1080, 1080))
ax = Axis( ax = Axis(
fig[1, 1]; fig[1, 1];
limits=(-args.l, args.l, -args.l, args.l), limits=(-args.l, args.l, -args.l, args.l),
@ -29,6 +29,18 @@ function animate(sol::Solution, args, name_part::String; framerate::Int64=10)
skin_colors = Vector{RGBAf}(undef, args.N) skin_colors = Vector{RGBAf}(undef, args.N)
@showprogress 0.5 for frame in 1:args.n_frames @showprogress 0.5 for frame in 1:args.n_frames
@simd for i in 1:args.N
circles[i] = Circle(Point2(sol.center[i, frame]), args.particle_diameter / 2)
interaction_circles[i] = Circle(Point2(sol.center[i, frame]), args.interaction_r)
skin_circles[i] = Circle(Point2(sol.center[i, frame]), args.skin_r)
color = get(ColorSchemes.rainbow, rem2pi(sol.φ[i, frame] / (2 * π), RoundDown))
colors[i] = RGBAf(color)
interaction_colors[i] = RGBAf(color, 0.15)
skin_colors[i] = RGBAf(color, 0.05)
end
if frame > 1 if frame > 1
empty!(ax) empty!(ax)
@ -40,23 +52,11 @@ function animate(sol::Solution, args, name_part::String; framerate::Int64=10)
segments_y[2 * i] = sol.center[i, frame][2] segments_y[2 * i] = sol.center[i, frame][2]
end end
linesegments!(ax, segments_x, segments_y; color=1:(args.N)) linesegments!(ax, segments_x, segments_y; color=colors)
else else
println("Started recording!") println("Started recording!")
end end
@simd for i in 1:args.N
circles[i] = Circle(Point2(sol.center[i, frame]), args.particle_diameter / 2)
interaction_circles[i] = Circle(Point2(sol.center[i, frame]), args.interaction_r)
skin_circles[i] = Circle(Point2(sol.center[i, frame]), args.skin_r)
color = get(ColorSchemes.rainbow, rem2pi(sol.φ[i, frame] / (2 * π), RoundDown))
colors[i] = RGBAf(color)
interaction_colors[i] = RGBAf(color, 0.2)
skin_colors[i] = RGBAf(color, 0.05)
end
poly!(ax, circles; color=colors) poly!(ax, circles; color=colors)
poly!(ax, interaction_circles; color=interaction_colors) poly!(ax, interaction_circles; color=interaction_colors)
poly!(ax, skin_circles; color=skin_colors) poly!(ax, skin_circles; color=skin_colors)