MSWLogo - Art
Yehuda Katz ist ein in Herzlyia (Israel) lebender Isreali. Er hat sich um die Verbreitung und Präsentation von Projekten mit Hilfe der Programmierumgebung MSWLogo sehr verdient gemacht. Einige Projekte befassen sich mit der künstlerischen Darstellung von mathematischen Objekten.
Die Darstellung der Grafiken geschieht in einem 3D-Rahmen. Für meine Begriffe ist dieser jedoch zu klein, um die Bilder entsprechend zur Geltung zu bringen. Aus diesem Grunde habe ich den Rahmen vergrößert. Mit Hilfe der Zuweisung make “faktor 3.5 kann die Größe des Rahmens beliebig verändert werden. Zusätzlich müssen dann aber auch die Variablen für die Darstellung der Grafiken vergrößert werden. Dafür gibt es keine allgemein gültige Regeln. Man muss hier unter Umständen ein wenig länger experimentieren, um eine optimale Darstellung zu erreichen.

Yehuda Katz

Der Rahmen
to main
cs
3d_frame
setpensize[6 6]
end

to 3d_frame ; zeichne "3D" frame
reset
make "faktor 3.5
setpc 7
sph -110*:faktor -110*:faktor 0 fd :faktor*220 rt 90 fd :faktor*220
sph -109*:faktor -109*:faktor 0 fd :faktor*218 rt 90 fd :faktor*218
sph -102*:faktor -102*:faktor 90 fd :faktor*204 lt 90 fd :faktor*204
setpc 0
sph -110*:faktor -110*:faktor 90 fd :faktor*220 lt 90 fd :faktor*220
sph -109*:faktor -109*:faktor 90 fd :faktor*218 lt 90 fd :faktor*218
sph -102*:faktor -102*:faktor 0 fd :faktor*204 rt 90 fd :faktor*204
sph 0 0 0 setfc [10 10 10]fill
end

to sph :x :y :head
pu setxy :x :y pd
seth :head
end

to reset ; set/restore MSWLogo defaults
ht wrap ppt clearpalette
setlabelfont[[Arial] -16 0 0 700 0 0 0 177 3 2 1 42]
setactivearea[-500 -500 500 500]
setpc 0 setsc[192 192 192] setfloodcolor 4
setpensize[1 1] setscrunch 1 1
windowdelete "main
end
to main
3d_frame
make "faktor 4
sphc -98*:faktor -86*:faktor 30 15
do :faktor*195 6
end

to do :size :level
if :level<1[stop]
repeat 3[shape rt 120]
fill_it
end

to shape
do :size/2 :level-1
fd :size
end

to fill_it
setfc 7-:level
rt 30 pu fd .6*:size
fill
bk .6*:size pd lt 30
end

Die Prozeduren für den 3D-Frame müssen noch, wie oben angegeben, hinzugefügt werden.

Sierpinski-Dreieck
to main
3d_frame
perspective
setturtle -1 setxyz -500 -500 500
setturtle 0 setpc 6
chess 4*128 4 heading
rr 90 chess 4*128 4 heading
rt 90 lr 90 chess 4*128 4 heading
end

to chess :size :level :startheading
if :level<1[stop]
repeat 4[draw :startheading]
setfc ifelse 0=remainder round(heading-:startheading) 180 [4][1]
fill_it
end

to draw :startheading
fd :size rt 90
chess :size/2 :level-1 :startheading
end

to fill_it
pu rt 45 fd 10 pd
fill ; Red or Blue Checks
pu bk 10 lt 45 pd
end
Download der MSWLogo-Programme zum Thema ART - Stand: 22.02.2018
3D - Frame Start nach dem Laden mit: main

Download (2 kB)

Programm - Sierpinski-Dreieck Start nach dem Laden mit: main

Download (2 kB)

Programm - Schachbretter Start nach dem Laden mit: main

Download (2 kB)