Data update
This commit is contained in:
parent
5af6d93694
commit
796d366b97
455 changed files with 7413 additions and 1900 deletions
50
Task/Polyspiral/Zig/polyspiral.zig
Normal file
50
Task/Polyspiral/Zig/polyspiral.zig
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
const std = @import("std");
|
||||
const rl = @cImport({
|
||||
@cInclude("raylib.h");
|
||||
@cInclude("raymath.h");
|
||||
});
|
||||
|
||||
const SCREEN_WIDTH = 640;
|
||||
const SCREEN_HEIGHT = 480;
|
||||
var incr: f32 = 0;
|
||||
|
||||
pub fn main() void {
|
||||
rl.SetConfigFlags(rl.FLAG_WINDOW_RESIZABLE | rl.FLAG_VSYNC_HINT);
|
||||
rl.SetTargetFPS(60);
|
||||
|
||||
rl.InitWindow(SCREEN_WIDTH, SCREEN_HEIGHT, "Polyspiral");
|
||||
|
||||
while (!rl.WindowShouldClose())
|
||||
updateDrawFrame();
|
||||
|
||||
rl.CloseWindow();
|
||||
}
|
||||
|
||||
fn updateDrawFrame() void {
|
||||
rl.BeginDrawing();
|
||||
|
||||
rl.ClearBackground(rl.BLACK);
|
||||
|
||||
incr = @mod(incr + 0.001, 360);
|
||||
|
||||
drawSpiral(5, std.math.degreesToRadians(f32, incr));
|
||||
|
||||
rl.EndDrawing();
|
||||
}
|
||||
|
||||
fn drawSpiral(_length: f32, _angle: f32) void {
|
||||
const width = rl.GetScreenWidth();
|
||||
const height = rl.GetScreenHeight();
|
||||
var point0 = rl.Vector2{ .x = @as(f32, @floatFromInt(width)) / 2, .y = @as(f32, @floatFromInt(height)) / 2 };
|
||||
var length = _length;
|
||||
var angle = _angle;
|
||||
for (0..150) |_| {
|
||||
const line_vector = rl.Vector2Rotate(rl.Vector2{ .x = length, .y = 0 }, angle);
|
||||
const point1 = rl.Vector2Add(point0, line_vector);
|
||||
rl.DrawLineV(point0, point1, rl.LIME);
|
||||
point0 = point1;
|
||||
length += 3;
|
||||
angle += incr;
|
||||
angle = @mod(angle, comptime @as(f32, (2.0 * std.math.pi)));
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue