Browse code

(circle128) Added radius arg

Devine Lu Linvega authored on 09/06/2023 17:53:23
Showing 1 changed files
... ...
@@ -22,17 +22,11 @@ clamp(int val, int min, int max)
22 22
 	return (val >= min) ? (val <= max) ? val : max : min;
23 23
 }
24 24
 
25
-int
26
-cinu(char c)
27
-{
28
-	return c >= '0' && c <= '9';
29
-}
30
-
31 25
 int
32 26
 sint(char *s)
33 27
 {
34 28
 	int i = 0, num = 0;
35
-	while(s[i] && cinu(s[i]))
29
+	while(s[i] && s[i] >= '0' && s[i] <= '9')
36 30
 		num = num * 10 + (s[i++] - '0');
37 31
 	return num;
38 32
 }
... ...
@@ -41,17 +35,17 @@ int
41 35
 main(int argc, char *argv[])
42 36
 {
43 37
 	int seg, offset, i;
44
-	double segf;
38
+	double segf, cx = 128, cy = 128, r;
45 39
 	if(argc < 2) {
46
-		printf("usage: circle128 length\n", argc);
40
+		printf("usage: circle128 length [radius]\n", argc);
47 41
 		return 1;
48 42
 	}
49 43
 	seg = sint(argv[1]);
50 44
 	segf = (double)seg;
51 45
 	offset = seg / 4;
52
-	printf("%d points on a circle128:\n\n", seg);
46
+	r = argc < 3 ? 128 : (double)sint(argv[2]);
47
+	printf("%d points on a circle%d:\n\n", seg, (int)r);
53 48
 	for(i = 0; i < seg; ++i) {
54
-		double cx = 128, cy = 128, r = 128;
55 49
 		double pos = (i - offset) % seg;
56 50
 		double deg = (pos / segf) * 360.0;
57 51
 		double rad = deg * (PI / 180);