Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
$B>pJs=hM}(B I $B!](B $BBh#1#52s!'(BPython $B$K$h$k(B Blender $B$N@)8f(B
[go: Go Back, main page]

$B>pJs=hM}(B I - $BBh#1#52s(B

$B:#2s$NL\I8(B

  1. Python $B$G(B Blender $B$r@)8f$9$k(B

$B#1!%(BPython $B$G(B Blender $B$rA`:n$9$k(B

$B#1!%#1!!(BPython $B$H(B Blender

Python $B$O(B$B%b%8%e!<%k(B$B$K$h$C$F5!G=$r3HD%$9$k$3$H$,2DG=$J$?$a!$Hs>o$KB?:L$J%b%8%e!<%k$,Ds6!$5$l!$$5$^$6$^$JL\E*$K;HMQ$9$k$3$H$,$G$-$^$9!%$=$N0lJ}$G!$(BPython $B<+BN$r%"%W%j%1!<%7%g%s%=%U%H%&%'%"$KAH$_9~$`$3$H$K$h$C$F!$$=$N%"%W%j%1!<%7%g%s%=%U%H%&%'%"$N5!G=$r3HD%$G$-$k$h$&$K$9$k$3$H$b9T$o$l$F$$$^$9!%(BGIMP $B$d(B Blender $B$b!$(BPython $B$K$h$C$F5!G=$r3HD%$9$k$3$H$,$G$-$^$9!%(B

$B#1!%#2!!(BBlender $B$r5/F0$9$k(B

Blender $B$r5/F0$7$^$9!%(BBlender $B$N(B Python $B%9%/%j%W%H$N%a%C%;!<%8$O(B$BI8=`=PNO(B$B$"$k$$$O(B$BI8=`%(%i!<=PNO(B$B$K=PNO$5$l$k>l9g$,$"$k$N$G!$:#2s$O(B$B%a%K%e!<(B$B$+$i(B$B$G$O$J$/(B$B!$(B$BC$B$r3+$$$F(B blender $B%3%^%s%I$r$B$7$F5/F0$7$F$/$@$5$$!%(B

$B%3%^%s%I$G(B Blender $B$r5/F0$9$k(B
Blender $B$N=i4|@_Dj$r:G=i$K5/F0$7$?$H$-$N>uBV$KLa$9(B
Blender $B$r;H$C$F$$$k$H!$=i4|@_Dj$,JQ$o$C$F$7$^$C$F$$$k$3$H$,$"$j$^$9!%$=$N>l9g$O!$(BFile $B%a%K%e!<$+$i(B Load Factory Settings $B$rA*$s$G$/$@$5$$!%(B
Blender $B$r=i4|@_Dj$KLa$9(B

$B#1!%#3!!(BPython $B%3%s%=!<%k$rI=<($9$k(B

Blender $B$K$O(B Python $B%3%^%s%I$rBPOC%b!<%I$GeIt$N%a%K%e!<$+$i!$(BBlender $B$N2hLL%l%$%"%&%H$r(B "Scripting" $B$K@Z$jBX$($F$/$@$5$$!%(B

Scripting $B%l%$%

$B$3$N2

Scripting $B%l%$%

$B%3%s%=!<%k$K$O(B Blender $B$KAH$_9~$^$l$?(B Python $B$N>pJs$,I=<($5$l$F$$$^$9!%$3$N(B Blender $B$N(B Python $B$N%P!<%8%g%s$O(B 3.2 $B$K$J$C$F$$$^$9!%$^$?!$(Bbpy $B$H$$$&%b%8%e!<%k$,4{$KAH$_9~$^$l$F$$$^$9!%$5$i$K$=$N2<$K(B ">>>" $B$H$$$&%W%m%s%W%H$rI=<($7$F!$(BPython $B%9%/%j%W%H!J%W%m%0%i%`!K$NF~NO$rBT$C$F$$$^$9!%(B

Python $B%3%s%=!<%k(B

$B#1!%#4!!(BPython $B$N%9%/%j%W%H$r

$B$3$N%3%s%=!<%k$K(B Python $B$N%9%/%j%W%H$r=q$$$F(B [Enter] $B$r%?%$%W$9$l$P!$$=$NETEYe$N%7!<%s$KH?1G$5$l$^$9!%$^$:!$(B$BBh#1#22s(B$B$HF1MM$K!$(BBlender $B$KAH$_9~$^$l$?(B Python $B$rEEBn$H$7$F;H$C$F$_$^$7$g$&!%(B

Blender $BFbB"$N(B Python $B$rBPOC%b!<%I$G;H$&(B
>>> 1+1[Enter]
2

$B$3$N(B Python $B$N%P!<%8%g%s$O(B 3 $B$J$N$G!$@0?t$N3d$j;;$G$b>.?tE@0J2<$r5a$a$^$9!%(B

$B@0?t$N3d$j;;$O
>>> 1/2[Enter]
0.5

$B$^$?!$J8;z$N=PNO$K$O(B print $BJ8$G$O$J$/(B print() $B4X?t(B$B$r;H$$$^$9!%(B

$BJ8;z$N=PNO$K$O(B print() $B4X?t$r;H$&(B
>>> print 5/3[Enter]
  File "<blender_console>", line 1
    print 5/3
          ^
SyntaxError: invalid syntax        ← $B%(%i!<(B

>>> print(5/3)[Enter]
1.6666666666666667

Python $B$+$i(B Blender $B$rA`:n$9$k$K$O!$(Bbpy $B%b%8%e!<%k$r;H$$$^$9!%(BBlender $B$N(B Python $B%3%s%=!<%k$G$O!$5/F0;~$K(B import $B$5$l$F$$$^$9!%$^$?!$F~NO$NESCf$G(B Ctrl-$B%9%Z!<%9(B $B$r%?%$%W$9$l$P!$;D$j$NItJ,$rJd40$d8uJd$NI=<($,9T$o$l$^$9!%(B

Ctrl-$B%9%Z!<%9(B $B$G8uJd$rI=<($9$k(B
>>> bpy.Ctrl-$B%9%Z!<%9(B
        app
        context
        data
        ops
        path
        props
        types
        utils
>>> bpy.data.Ctrl-$B%9%Z!<%9(B
             actions
                :
             cameras
                :
             lamps
                :
             objects
                :
             scenes
             screens
                :
             worlds
>>> bpy.data.screens[Enter]
<bpy_collection[7], BlendDataScreens>

$B$3$N(B bpy.data.screens $B$K$O(B Blender $B$N2hLL%l%$%"%&%H$N>pJs$,3JG<$5$l$F$$$^$9!%$3$l$r(B list() $B4X?t(B$B$K$h$C$F%j%9%H2=$9$l$P!$FbMF$r3NG'$9$k$3$H$,$G$-$^$9!%(B

bpy.data.screens $B$r%j%9%H2=$9$k(B
>>> list(bpy.data.screens)[Enter]
[bpy.data.screens['Animation'], bpy.data.screens['Compositing'], bpy.data.screens['Default'],
bpy.data.screens['Game Logic'], bpy.data.screens['Scripting'], bpy.data.screens['UV Editing'],
bpy.data.screens['Video Editing']]

$B=>$C$F(B for $B!A(B in $B$r;H$C$F!$MWAG$r0l$D$:$DA0!W$r.name $B$rDI2C$7$^$9!%#29TL\$N;z2<$2$O(B [Tab] $B%-!<$G9T$G9T$&$3$H$,$G$-$^$9!%#39TL\$O(B [Enter] $B$N$_$r%?%$%W$7$F$/$@$5$$!%(B

bpy.data.screens $B$NMWAG$NL>A0$rI=<($9$k(B
>>> for screen in bpy.data.screens:[Enter]
...     print(screen.name)[Enter]
... [Enter]
Animation
Compositing
Default
Game Logic
Scripting
UV Editing
Video Editing

$B$3$l$O(B Blender $B$N2hLL>eIt$K$"$k2hLL%l%$%"%&%H$N@Z$jBX$($NFbMF$G$9!%(B

$B#1!%#5!!(BPython $B$G(B Blender $B$rA`:n$9$k(B

bpy.data.objects $B$K$O!$8=:_(B Blender $B$,J];}$9$k%*%V%8%'%/%H$,3JG<$5$l$F$$$^$9!%(B

bpy.data.objects $B$NFbMF$rI=<($9$k(B
>>> list(bpy.data.objects)[Enter]
[bpy.data.objects['Camera'], bpy.data.objects['Cube'], bpy.data.objects['Lamp']]

>>> for object in bpy.data.objects:[Enter]
...     print(object.name)[Enter]
... [Enter]
Camera
Cube
Lamp

$B$3$N;~!$%7!<%s$O2

$B%7!<%s$N=i4|uBV(B" width="640" height="480" border="0">

$B$3$N%7!<%s$K$O:8$+$i(B 'Camera'$B!J%+%a%i!K!$(B'Cube'$B!JN)J}BN!K!$$=$l$K(B 'Lamp'$B!J8w8;!K$,$"$k$3$H$,$o$+$j$^$9!%$=$l$G$O!$$3$N(B 'Cube' $B$N0LCV$rJQ99$7$^$9!%(B'Cube' $B$N(B x $B:BI8CM(B bpy.data.objects['Cube'].location.x $B$KCM$rBeF~$7$^$9!%(B

'Cube' $B$N0LCV$rJQ99$9$k(B
>>> bpy.data.objects['Cube'].location.x = 1[Enter]

'Cube' $B$N0LCV$,(B X $BJ}8~!J

Cube $B$r(B x $BJ}8~$K0\F0(B

$B$3$l$G!$1&>e$KI=<($5$l$F$$$k%7!<%sCf$NN)J}BN$N0LCV$,JQ$o$j$^$9!%$7$+$7!$$3$l$G$O$A$g$C$HD9$$$N$G!$(Bbpy.data.objects['Cube'] $B$X$N(B$B;2>H(B$B$rJL$NJQ?t$KBeF~$7$F$*$-$^$9!%BeF~$9$kJQ?t$r(B cube $B$H$7$^$9!%(B

'Cube' $B$N%*%V%8%'%/%H$r(B cube $B$G;2>H$G$-$k$h$&$K$9$k(B
>>> cube = bpy.data.objects['Cube'][Enter]

$B$=$&$9$k$H!$$3$NJQ?t(B cube $B$r;H$C$F%*%V%8%'%/%H(B 'Cube' $B$rA`:n$9$k$3$H$,$G$-$^$9!%(B

$BJQ?t(B cube $B$r;H$C$F(B 'Cube' $B$N%*%V%8%'%/%H$rA`:n$9$k(B
>>> cube.location.y = 2[Enter]

'Cube' $B$N0LCV$,$5$i$K(B y $BJ}8~!J1&J}8~!K$K(B 2$B!J%^%9L\Fs$DJ,!K0\F0$7$^$7$?!%(B

Cube $B$r(B y $BJ}8~$K0\F0(B

$B%?%W%k(B$B$d(B$B%j%9%H(B$B$r;H$C$F!$(Bxyz $BA4It$r0lEY$K;XDj$9$k$3$H$b$G$-$^$9!%%?%W%k!?%j%9%H$N$I$A$i$r;H$C$F$bF1$8$G$9!%(B

$BJQ?t(B cube $B$r;H$C$F(B 'Cube' $B$N%*%V%8%'%/%H$rA`:n$9$k(B
>>> cube.location = (-2, -1, 3)[Enter]
>>> cube.location = [-2, -1, 3][Enter]

'Cube' $B$NCf?4$O(B (-2, -1, 3) $B$N0LCV$K$J$j$^$9!%(B

Cube $B$N(B xyz $B:BI8CM$r@_Dj(B

$B2sE>$N@_DjJ}K!$OJ#?t$"$j$^$9!%(Bcube.ro $B$^$G%?%$%W$7$F!$D>8e$K(B Ctrl-$B%9%Z!<%9(B $B$r%?%$%W$7$F$_$F$/$@$5$$!%(B

cube.ro $B$KB3$/8uJd$rI=<($9$k(B
>>> cube.roCtrl-$B%9%Z!<%9(B
>>> cube.rotation_
                  axis_angle
                  euler
                  mode
                  quaternion
>>> cube.rotation_

$B8=:_$N2sE>$N%b!<%I$rD4$Y$^$9!%>e$N>uBV$KB3$1$F(B mode $B$H%?%$%W$7$F!J(BmCtrl-$B%9%Z!<%9(B $B$G$b2D!K!$(B[Enter] $B$r%?%$%W$7$F$/$@$5$$!%(B

$B2sE>$N%b!<%I$rD4$Y$k(B
>>> cube.rotation_mode[Enter]
'XYZ'

'XYZ' $B$O(B x $B<4Cf?4$N2sE>3Q!$(By $B<4Cf?4$N2sE>3Q!$(Bz $B<4Cf?4$N2sE>3Q!$$9$J$o$A%*%$%i!<(B (Euler) $B3Q$r$=$l$>$l@_Dj$9$k%b!<%I$G$9!%$3$N;~!$3QEY$O(B cube.rotation_euler $B$K(B (x, y, z) $B$"$k$$$O(B [x, y, z] $B$G@_Dj$7$^$9!%$^$?2sE>$O(B x $B<4Cf?4(B → y $B<4Cf?4(B → z $B<4Cf?4$N=g$KE,MQ$5$l$^$9!%$b$7$3$l$,(B 'YXZ' $B$J$i!$2sE>$O(B y $B<4Cf?4(B → x $B<4Cf?4(B → z $B<4Cf?4$N=g$KE,MQ$5$l$^$9!%$J$*!$2sE>3Q$NC10L$O(B$B%i%8%"%s(B$B$J$N$GCm0U$7$F$/$@$5$$!%(B

x $B<4Cf?4$K(B 0.52 radian $B!JLs(B 30°$B!K2sE>$9$k(B
>>> cube.rotation_euler.x = 0.52[Enter]                 #
>>> cube.rotation_euler = (0.52, 0, 0)[Enter]           # $B$I$l$bF1$8(B
>>> cube.rotation_euler = [0.52, 0, 0][Enter]           #

x $B<4!J@V$$Lp0u!KCf?4$K(B 0.52 $B%i%8%"%s!JLs(B 30°$B!K2sE>$7$^$9!%(B

x $B<4Cf?4$N2sE3Q$r(B 0.52 radian $B$K@_Dj(B" width="640" height="480" border="0">

rotation_axis_angle $B$O%*%V%8%'%/%H$NCf?4$rDL$k<4$NJ}8~%Y%/%H%k$H2sE>3Q$G;XDj$9$kJ}K!$G$9!%$3$NJ}K!$G2sE>$r@_Dj$9$k$K$O!$$"$i$+$8$a(B rotation_mode $B$K(B 'AXIS_ANGLE' $B$r@_Dj$7$F$*$-$^$9!%(B

$B<4$H3QEY$r;XDj$7$F2sE>$9$k(B
>>> cube.rotation_mode = 'AXIS_ANGLE'[Enter]
>>> cube.rotation_axis_angle = [1, 1, 0, 0.3][Enter]  # $B<4$NJ}8~%Y%/%H%k$N(B x, y, z $B@.J,!$2sE>3Q(B
>>> cube.rotation_axis_angle[3] = 0.6[Enter]          # $B<4$O$=$N$^$^$K$7$F3QEY$@$1JQ99(B

(1, 1, 0) $B$r<4$K(B 0.6 $B%i%8%"%s2sE>$7$^$9!%(B

$B<4$H3QEY$r;XDj$7$F2sE(B" width="640" height="480" border="0">

$B#1!%#6!!%*%Z%l!<%?(B

Python $B$+$i(B Blender $B$N%a%K%e!<$KMQ0U$5$l$F$$$k5!G=!J(B$B%*%Z%l!<%?(B$B!$(Bbpy.ops$B!K$r8F$S=P$7$F!$%7!<%s$rA`:n$9$k$3$H$,$G$-$^$9!%$^$:!$A`:n$NBP>]$H$J$k%*%V%8%'%/%H$rA*Br$7$^$9!%$3$l$O%^%&%9$J$I$r;H$C$FA*Br$9$k$3$H$b$G$-$^$9$,!$
'Lamp' $B$rA*Br$9$k(B
>>> bpy.data.objects['Lamp'].select = True[Enter]

$B4{$K(B 'Cube' $B$,A*Br$5$l$F$$$l$P!$$3$l$G(B 'Cube' $B$H(B 'Lamp' $B$,N>J}A*Br$5$l$^$9!%(B

$B%*%V%8%'%/%H$NA*Br(B

$BA*Br$r2r=|$9$k$K$O(B select $B$K(B False $B$rBeF~$7$^$9!%(B

$BA*Br$r2r=|$9$k(B
>>> bpy.data.objects['Lamp'].select = False[Enter]
>>> cube.select = False[Enter]

'Cube' $B$H(B 'Lamp' $B$NA*Br$,2r=|$5$l$^$9!%(B

$BA*Br$N2r=|(B

$BA*Br$7$?%*%V%8%'%/%H$r:o=|$G$-$^$9!%$^$:!$(B'Cube' $B$rA*Br$7$^$9!%$=$l$+$i(B bpy.ops.object.delete() $B$GA*BrCf$N%*%V%8%'%/%H!JJ#?t2D!K$r:o=|$7$^$9!%(B

$BA*Br$7$?%*%V%8%'%/%H$r:o=|$9$k(B
>>> cube.select = True[Enter]
>>> bpy.ops.object.delete()[Enter]
{'FINISHED'}

'Cube' $B$,:o=|$5$l$^$7$?!%(B

$BA*Br$7$?%*%V%8%'%/%H$N:o=|(B

$B#2!%(BBlender-Python $B%9%/%j%W%H$N:n@.(B

$B#2!%#1!!%F%-%9%H%(%G%#%?(B

Blender $B$N(B Python $B%9%/%j%W%H$bDL>o$N%F%-%9%H%(%G%#%?$r;H$C$F:n@.$G$-$^$9$,!$(BBlender $B<+BN$K$b(B Python $B%9%/%j%W%H$r:n@.$9$k$?$a$N%F%-%9%H%(%G%#%?$,AuHw$5$l$F$$$^$9!%:#2s$O$3$l$r;H$$$^$9!%(BBlender $B$N2hLL$N:8B&Cf1{$K$"$k(B "New" $B$N$H$3$m$r%/%j%C%/$7$F$/$@$5$$!%(B

$B%F%-%9%H%U%!%$%k$N?75,:n@.(B

$B$3$l$G(B$B%F%-%9%H%U%!%$%k$,?75,:n@.(B$B$5$l$^$9!%(B

$B?75,:n@.$5$l$?%F%-%9%H%U%!%$%k(B

$B$3$3$K%9%/%j%W%H$r%?%$%W$7$^$9!%F|K\8l$OF~NO$G$-$^$;$s!%(B

#!BPY
import bpy

$BDL>o$N%9%/%j%W%H$G$O!$#19TL\$G(B #! $B$KB3$1$F$=$N%9%/%j%W%H$r2r$BBh#72s$G2r@b$7$?(B magic$B!J%^%8%C%/%J%s%P!import bpy $B$K$h$C$F!$(BPython $B$+$i(B Blender $B$r@)8f$9$k$?$a$N(B bpy $B%b%8%e!<%k$rF3F~$7$^$9!%$3$l$O!$(BBlender $B$N%3%s%=!<%k$G$O<+F0E*$KF3F~$5$l$F$$$^$9$,!$%9%/%j%W%H%U%!%$%k$G$OL@<(E*$KF3F~$9$kI,MW$,$"$j$^$9!%(B

$B$3$N%9%/%j%W%H$rAlt-P $B!J(B[Alt] $B%-!<$r2!$7$J$,$i(B P$B!K$r%?%$%W$9$l$P!$%9%/%j%W%H$,(B$B$B$5$l$^$9!%(B

$B%9%/%j%W%H$N<B9T(B

$B=PNO$O%F%-%9%H%(%G%#%?$N>eIt$K$"$k%&%#%s%I%&$KI=<($5$l$^$9!%%(%i!<$b$3$3$KI=<($5$l$^$9!%$?$@$7!$$3$NItJ,$r(B $B%9%/%m!<%k$7$J$$$H8=$l$J$$(B$B>l9g$,$"$j$^$9!%$"$H!$%(%i!<$N>\:Y$,(B$BC$B$3$H$b$"$j$^$9!%(B

$B%9%/%j%W%H$N=PNO(B

$B#2!%#2!!%*%V%8%'%/%H$rDI2C$9$k(B

$B$=$l$G$O!$$3$N%9%/%j%W%H$K8=:_$N%7!<%s$+$i$9$Y$F$N(B 'MESH' $B%*%V%8%'%/%H!JN)J}BN$d5e$J$I!K$*$h$S:`

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)
$B%7!<%s$+$i(B MESH $B%*%V%8%'%/%H$r:o=|$9$k(B
  1. $B8=:_$N%7!<%s$K7k9g$5$l$F$$$k%*%V%8%'%/%H(B bpy.context.scene.objects $B$N8D!9$NMWAG(B item $B$N$&$A!$
  2. $B$=$N8e(B bpy.data.objects $B$N8D!9$NMWAG(B item $B$N$&$A!$F1MM$K
  3. $B$=$7$F!$$=$l$i$N%*%V%8%'%/%H$N$b$H$N%a%C%7%e$r$9$Y$F:o=|$7$^$9!%(B
  4. bpy.data.material $B$N8D!9$NMWAG(B item $B:o=|$7$^$9!%(B
$B6u$K$J$C$?%7!<%s(B

$B$3$l$ru(B (Primitives) $B$G$9!%$3$N5e$NB0@-$O!$J,3d%l%Y%k(B subdivisions = 3$B!$H>7B(B size = 0.5 $B$H$7$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5)

$B$3$l$r

$B5e$r0l8DDI2C(B

$BDI2C$9$k5e$N0LCV$r;XDj$9$k$K$O!$0z?t(B location $B$K:BI8$r;XDj$7$^$9!%:BI8$O(B (0, 1, 0) $B$H$7$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (0, 1, 0))
$B5e$N0LCV$r;XDj$7$FDI2C$9$k(B

$B$b$&0l$D5e$rDI2C$7$^$9!%$3$N5e$O(B (0, -1, 0) $B$N0LCV$KG[CV$7$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (0, 1, 0))
bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (0, -1, 0))

$B

$B5e$r$b$&0l$DG[CV$9$k(B

$B#2!%#3!!?^7A$rJB$Y$FG[CV$9$k(B

$B$b$7F1$8?^7A$r$?$/$5$sJB$Y$?$$$J$i!$$I$&$9$l$P$h$$$G$7$g$&$+!)0l$D0l$D!$$B7+$jJV$7(B$B$N=PHV$G$9!%(B

$B%W%m%0%i%^$K$D$$$F(B
$B%W%m%0%i%^$O!$$b$7$+$7$?$i!$$H$F$bLLE]$/$5$,$j20$N?M$K8~$$$F$$$k?&6H$+$bCN$l$^$;$s!%LLE]$/$5$,$j20$@$+$i!$LLE]$J;E;v$rM?$($i$l$?;~$K!$$=$l$r3Z$K$d$k$K$O$I$&$9$l$P$$$$$+$r9M$($F$7$^$$$^$9!%$=$7$F!$$=$N$^$^$d$k$H#1;~4V$O$+$+$C$F$7$^$&;E;v$KBP$7$F!$$=$l$r<+F02=$9$k%W%m%0%i%`$r#3;~4V$+$1$F:n$k$N$,!$%W%m%0%i%^$N=,@-$J$N$+$b$7$l$^$;$s!%!J>iCL$@$+$i$M!K(B

$BNc$($P!$5e$r2$l$N0LCV$N(B x $B$O(B -2 $B!A(B 2 $B$K$7$^$9!%(B

$B5e$r0lNs$KG[CV$9$k(B

$B0lDj2s?t$N7+$jJV$7$O(B for $B!A(B in $B$H!J(BPython $B$N%P!<%8%g%s(B 3 $B$G$O(B xrange() $B$G$O$J$/!K(Brange() $B$r;H$C$F!$

for i in range(5):
    # $B$3$3$K7+$jJV$9FbMF$r=q$/(B

$B$7$?$,$C$F!$$3$3$G%7!<%s$K?^7A!J5e!K$rDI2C$9$k=hM}$r9T$($P!$%7!<%s$KJ#?t$N5e$rDI2C$9$k$3$H$,$G$-$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

for i in range(5):
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5)

$B$7$+$7!$$3$N$^$^$G$O$9$Y$F$N5e$,86E@(B (0, 0, 0) $B$K=E$J$C$FG[CV$5$l$F$7$^$$$^$9!%5e$4$H$K0[$J$k0LCV$KG[CV$9$k$?$a$K$O!$7+$jJV$7$4$H$K0[$J$k0LCV$r;XDj$9$kI,MW$,$"$j$^$9!%(B

$BH?I|;R(B (iterator) $B$N(B range(5) $B$O(B [0, 1, 2, 3, 4] $B$rJV$7$^$9$+$i!$(Bi $B$K$O(B 0 $B!A(B 4 $B$NCM$,F~$j$^$9!%5e$NHV9f(B i $B$H0LCV(B x $B$H$N4X78$O(B x = 2i - 4 $B$G$9$+$i!$

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

for i in range(5):
    x = 2 * i - 4
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, 0, 0))

$B$3$l$r

$B5e$r0lNs$KG[CV$9$k%9%/%j%W%H$N<B9T7k2L(B

$B$J$*!$(Brange() $B$O(B range($B=i4|CM(B$B!$(B$B>e8BCM(B$B!$(B$BA}J,(B$B!K(B $B$N$h$&$K;XDj$9$k$3$H$b$G$-$k$N$G!$(Brange(-4, 5, 2) $B$H$9$l$P>e$N(B x $B$N$h$&$JCM$NAH(B [-4, -2, 0, 2, 4] $B$rD>@\@8@.$9$k$3$H$,$G$-$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

for x in range(-4, 5, 2):
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, 0, 0))

$B2l9g$O!$7+$jJV$7$rFs=E$K$7$^$9!JFs=E%k!<%W!K!%(B

$B5e$rFs<!85$KG[CV$9$k(B

$B3FNs$O@h$[$I:n$C$?5e$r0lNs$KG[CV$9$k%9%/%j%W%H$G:n@.$9$k$3$H$,$G$-$^$9$+$i!$$3$l$r$5$i$K(B y = [-3, -1, 1, 3] $B$K$D$$$F7+$jJV$7$^$9!%$3$l$O(B for y in range(-3, 4, 2): $B$G$B%$%s%G%s%H!J;z2<$2!K$rDI2C(B$B$7$^$9!%$^$?!$5e$N0LCV(B location $B$r(B (x, y, 0) $B$KJQ99$7$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

for y in range(-3, 4, 2):
    for x in range(-4, 5, 2):
        bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, y, 0))

$B$3$l$r

$B5e$rFs<!85$KG[CV$9$k%9%/%j%W%H$N<B9T7k2L(B

$B#2!%#4!!(Bmath$B!J?tCM7W;;!K%b%8%e!<%k$N;HMQ(B

$B:#EY$O!$2

$B5e$r1_7A$KG[CV$9$k(B

$B$3$3$G$O;03Q4X?t(B sin$B!$(Bcos $B$r;HMQ$7$^$9!%;03Q4X?t$N$h$&$J?t3X4X?t$r;HMQ$9$k>l9g$K$O!$(Bmath $B%b%8%e!<%k$rF3F~$7$^$9!%(B $B$^$?!$G[CV$9$k5e$N?t$r(B n$B!$G[CV$9$k1_$NH>7B$r(B r $B$H$7$^$9!%$H$j$"$($:(B n = 12$B!$(Br = 4 $B$K$7$F$*$-$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

import math

n = 12
r = 4

$B$3$N>l9g$b(B for $B!A(B in $B$H(B range() $B$r;H$C$F(B n $B8D$N5e$r%7!<%s$KDI2C$7$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

import math

n = 12
r = 4

for i in range(n):
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5)

$BJQ?t(B i $B$r;H$C$F3QEY(B t $B$r5a$a$^$9!%(Bi $B$O(B 0 $B!A(B n - 1 $B$NCM$r;}$A$^$9!%(Bn = 12 $B$J$i(B 0 $B!A(B 11 $B$G$9!%$=$&$9$k$H!$(Bi $BHVL\$N5e$N3QEY(B t $B$O!$(Bt = 2πi / n $B$K$J$j$^$9!%1_<~N((Bπ $B$O!$(Bmath $B%b%8%e!<%k$G$O(B math.pi $B$KF~$C$F$$$^$9!%$^$?;03Q4X?t(B sin$B!$(Bcos $B$O(B math.sin()$B!$(Bmath.cos() $B$G8F$S=P$9$3$H$,$G$-$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

import math

n = 12
r = 4

for i in range(n):
    t = 2.0 * math.pi * i / n
    x = r * math.cos(t)
    y = r * math.sin(t)
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, y, 0))

$B$3$N%9%/%j%W%H$r

$B5e$r1_7A$KG[CV$9$k%9%/%j%W%H$N<B9T7k2L(B

$B#2!%#5!!:`

$B?^7A$K?'$rIU$1$k$K$O!$:`bpy.data.materials.new(name) $B$G9T$$$^$9!%(Bname $B$O$3$N:`A0$NJ8;zNs$G$9!%:n@.$5$l$?%G!<%?$K?'$J$I$N%Q%i%a!<%?$r@_Dj$7!$(Bdata.materials.append($B:`) $B$K$h$C$F%*%V%8%'%/%H%G!<%?$KDI2C$7$^$9!%D>A0$K(B bpy.ops.mesh.primitive_ico_sphere_add() $B$G:n$i$l$?%*%V%8%'%/%H%G!<%?$O!$(Bbpy.context.object $B$GF@$i$l$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

import math

n = 12
r = 4

material = bpy.data.materials.new('Red')
material.diffuse_color = (1, 0, 0)

for i in range(n):
    t = 2.0 * math.pi * i / n
    x = r * math.cos(t)
    y = r * math.sin(t)
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, y, 0))
    bpy.context.object.data.materials.append(material)

$B?'$N%G!<%?$O(B$B%?%W%k(B (r, g, b) $B$d(B$B%j%9%H(B [r, g, b] $B$G;XDj$7$^$9!%(Br, g, b $B$O$=$l$>$l8w$N;086?'$N@V!$NP!$@D$NH?$l$NCM$NHO0O$O(B 0$B!A(B1 $B$G$9!%$3$N%9%/%j%W%H$r

$B:`<A$N@_Dj(B

$B?^7A$4$H$K?'$rJQ$($k$K$O!$?'$4$H$K:`$B%j%9%H(B$B$K$7$F!$$=$NO;$D$NMWAG$K$=$l$>$l0[$J$k?'$rEPO?$7$F$$$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

import math

n = 12
r = 4

materials = []
for i in range(1, 7):
    materials.append(bpy.data.materials.new('Color' + str(i)))
    materials[-1].diffuse_color = ((i >> 2) & 1, (i >> 1) & 1, i & 1)

for i in range(n):
    t = 2.0 * math.pi * i / n
    x = r * math.cos(t)
    y = r * math.sin(t)
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, y, 0))
    bpy.context.object.data.materials.append(materials[i % 6])
$B%W%m%0%i%_%s%08@8l$N1i;;;R(B
$B%W%m%0%i%_%s%08@8l$K$O!$;MB'1i;;!J2C8:>h=|!K$rI=$9(B +, -, *, / $B$N1i;;;R$NB>$K!$$5$^$6$^$J1i;;;R$,MQ0U$5$l$F$$$^$9!%0J2<$N(B Python $B$N1i;;;R$O!$(BC $B8@8l$rM3Mh$H$7$F$$$^$9!%(B
>>
$B%S%C%H%7%U%H1i;;;R!%$?$H$($P!$@0?t$N(B 5 $B$OFs?J?t$G$O(B 101 $B$K$J$j$^$9!%$3$l$r(B |0|1|0|1| $B$HI=$7$?$H$7$^$9!%(B>> $B$N1&B&$,(B 1 $B$N$H$-!$:8B&$N@0?t$N3F7e!J%S%C%H!K$r1&$K(B 1 $B%1%?$:$i$7$^$9!%$=$N:]!$1&$+$i$"$U$l$?7e$O$j$r<< $B$H$$$&1i;;;R$b$"$j$^$9!%$3$l$O3F7e$r:8$K$:$i$7$^$9!%(B5 << 1 $B$O(B |0|1|0|1| $B$r(B |1|0|1|0| $B$K$7$^$9$+$i!$$3$l$O==?J?t$N(B 10 $B$K$J$j$^$9!%FsG\$9$k$N$HF1$8$G$9!%(B
&
$B%S%C%HO@M}@Q1i;;;R!%$3$l$O@0?t$rFs?J?t$GI=$7$?$H$-$N3F7e$NO@M}@Q$r5a$a$^$9!%(B5 & 2 $B$O(B |0|1|0|1| $B$H(B |0|0|1|0| $B$NN>J}$NBP1~$9$k7e$,(B 1 $B$N;~$=$N7e$,(B 1 $B$K$J$j$^$9$N$G!$7k2L$O(B |0|0|0|0| $B$9$J$o$A(B 0 $B$K$J$j$^$9!%(B5 & 1 $B$O(B |0|1|0|1| $B$H(B |0|0|0|1| $B$G$9$+$i7k2L$O(B |0|0|0|1| $B$9$J$o$A(B 1 $B$K$J$j$^$9!%(B& $B$N1&B&$,(B 1 $B$N$H$-!$:8B&$N@0?t$NFs?J?tI=5-$K$*$1$k:G2<0L7e$r$K(B |$B!J%S%C%HO@M}OB!K!$(B^$B!J%S%C%HGSB>E*O@M}OB!K!$$=$l$KC19`1i;;;R!J:8B&$K$7$+?tCM$rCV$+$J$$!K$N(B ~$B!J%S%C%HO@M}H]Dj!&%S%C%HH?E>!K$,$"$j$^$9!%(B
%
$B@0?t$N>jM>!%3d$j;;$NM>$j$r5a$a$^$9!%(B11 % 3 $B$O(B 11 ÷ 3 = 3 $B$"$^$j(B 2 $B$J$N$G(B 2 $B$K$J$j$^$9!%(Bi % 6 $B$O(B i $B$,$I$N$h$&$JCM$G$"$C$F$b(B 0 $B!A(B 5 $B$N4V$N@0?t$K$J$j$^$9!%(B
$B$7$?$,$C$F!$(B((i >> 2) & 1, (i >> 1) & 1, i & 1) $B$O(B i = 0 → (0, 0, 0)$B!$(Bi = 1 → (0, 0, 1)$B!$(Bi = 2 → (0, 1, 0)$B!$(Bi = 3 → (0, 1, 1)$B!$(Bi = 4 → (1, 0, 0)$B!$(Bi = 5 → (1, 0, 1)$B!$(Bi = 6 → (1, 1, 0)$B!$(Bi = 7 → (1, 1, 1) $B$K$J$j$^$9!%(B

$B$3$N%9%/%j%W%H$r

$B?^7A$4$H$K:`<A$r@_Dj(B

$B#2!%#6!!8w8;$rG[CV$9$k(B

$B$=$l$G$O!$$3$N%7!<%s$r%l%s%@%j%s%0$9$k$?$a$K!$$^$:8w8;$N0LCV$HJ}8~$r@_Dj$7$^$9!%8=:_$N%7!<%sCf$N8w8;$N%*%V%8%'%/%H%G!<%?$O(B bpy.data.objects['Lamp'] $B$GF@$k$3$H$,$G$-$^$9$+$i!$0lC6!$JQ?t(B lamp $B$KBeF~$7$^$9!%$=$7$F(B lamp.location $B$K0LCV!$(Blamp.rotation_euler $B$K3QEY!J%*%$%i!<3Q!K$r@_Dj$7$^$9!%8w8;$Nlamp.data.type $B$K@_Dj$7$^$9!%(B'POINT'$B!JE@8w8;!K!$(B'SUN'$B!JJ?9T8w@~!K!$(B'SPOT'$B!J%9%]%C%H%i%$%H!K!$(B'HEMI'$B!JH>5e8w8;!K!$(B'AREA'$B!J%(%j%"%i%$%H!K$J$I$,BeF~$G$-$^$9!%(Blamp.data.falloff_type $B$O8w8;$+$i$N5wN%$K$h$k8w$N6/EY$N8:?j$N@_Dj$G!$%G%U%)%k%H$N(B 'INVERSE_SQUARE'$B!J5wN%$NFs>h$KH?HfNc!K$G$O0E$/$J$j$9$.$k$N$G!$(B'INVERSE_LINEAR' $B$r@_Dj$7$F$$$^$9!%$^$?!$$3$N8w8;$K$h$C$F1F$rH/@8$5$;$k>l9g$K$O(B lamp.data.shadow_method $B$K(B 'RAY_SHADOW'$B!$1F$rH/@8$5$;$J$$$J$i(B 'NOSHADOW' $B$rBeF~$7$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

import math

n = 12
r = 4

materials = []
for i in range(1, 7):
    materials.append(bpy.data.materials.new('Color' + str(i)))
    materials[-1].diffuse_color = ((i >> 2) & 1, (i >> 1) & 1, i & 1)

for i in range(n):
    t = 2.0 * math.pi * i / n
    x = r * math.cos(t)
    y = r * math.sin(t)
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, y, 0))
    bpy.context.object.data.materials.append(materials[i % 6])

lamp = bpy.data.objects['Lamp']
lamp.location = (20, 10, 10)
lamp.rotation_euler = (-0.2, -0.4, 0)
lamp.data.falloff_type = 'INVERSE_LINEAR'
lamp.data.shadow_method = 'NOSHADOW'

$BJQ99$,40N;$7$?$i!$$3$N%9%/%j%W%H$r0lEY[F12] $B%-!<$r%?%$%W$7$F%l%s%@%j%s%0$7$F$_$F$/$@$5$$!%85$N%&%#%s%I%&$KLa$9$K$O(B [Esc] $B%-!<$r%?%$%W$7$^$9!%(B

$B#2!%#7!!%+%a%i$rG[CV$9$k(B

$BF1MM$K!$%+%a%i$N0LCV$HJ}8~$r@_Dj$7$^$9!%$3$l$b8=:_$N%7!<%sCf$N%+%a%i$N%*%V%8%'%/%H%G!<%?$r(B bpy.data.objects['Camera'] $B$GF@$k$3$H$,$G$-$^$9$+$i!$$3$l$r0lC6!$JQ?t(B camera $B$KBeF~$7$^$9!%$=$7$F(B camera.location $B$K0LCV!$(Bcamera.rotation_euler $B$K3QEY!J%*%$%i!<3Q!K$r@_Dj$7$^$9!%$^$?(B camera.data.type $B$K(B 'PERSP' $B$rBeF~$9$l$PF);kEj1F(B (perspective)$B!$(B'ORTHO' $B$rBeF~$9$l$PD>8r!JJ?9T!KEj1F(B (orthographic) $B$K$J$j$^$9!%F);kEj1F$N>l9g!$%+%a%i$N2h3Q$r@_Dj$9$k$K$O(B camera.data.angle $B$K3QEY$rC10L$r%i%8%"%s$GBeF~$7$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

import math

n = 12
r = 4

materials = []
for i in range(1, 7):
    materials.append(bpy.data.materials.new('Color' + str(i)))
    materials[-1].diffuse_color = ((i >> 2) & 1, (i >> 1) & 1, i & 1)

for i in range(n):
    t = 2.0 * math.pi * i / n
    x = r * math.cos(t)
    y = r * math.sin(t)
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, y, 0))
    bpy.context.object.data.materials.append(materials[i % 6])

lamp = bpy.data.objects['Lamp']
lamp.location = (20, 10, 10)
lamp.rotation_euler = (-0.2, -0.4, 0)
lamp.data.falloff_type = 'INVERSE_LINEAR'
lamp.data.shadow_method = 'NOSHADOW'
camera = bpy.data.objects['Camera'] camera.location = (15, 0, 15) camera.rotation_euler = (0, 1, 0) camera.data.type = 'PERSP' camera.data.angle = 1

$BJQ99$,40N;$7$?$i!$$3$N%9%/%j%W%H$r0lEY[F12] $B%-!<$r%?%$%W$7$F%l%s%@%j%s%0$7$F$_$F$/$@$5$$!%85$N%&%#%s%I%&$KLa$9$K$O(B [Esc] $B%-!<$r%?%$%W$7$^$9!%(B

$B#2!%#8!!GX7J?'$r;XDj$9$k(B

$BGX7J?'$O(B bpy.data.objects['World'] $B$GF@$i$l$k8=:_$N%o!<%k%I%*%V%8%'%/%H%G!<%?$K@_Dj$7$^$9!%$3$l$r0lC6!$JQ?t(B world $B$KBeF~$7!$(Bworld.horizon_color $B$K?eJ?@~J}8~$N6u$N?'!$(Bworld.zenith_color $B$KE7D:J}8~$N6u$N?'$r@_Dj$7$^$9!%$=$7$F(B world.use_sky_blend $B$K(B True $B$rBeF~$7$F$*$1$P!$GX7J$,?eJ?@~J}8~$+$iE7D:J}8~$X$N%0%i%G!<%7%g%s$K$J$j$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

import math

n = 12
r = 4

materials = []
for i in range(1, 7):
    materials.append(bpy.data.materials.new('Color' + str(i)))
    materials[-1].diffuse_color = ((i >> 2) & 1, (i >> 1) & 1, i & 1)

for i in range(n):
    t = 2.0 * math.pi * i / n
    x = r * math.cos(t)
    y = r * math.sin(t)
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, y, 0))
    bpy.context.object.data.materials.append(materials[i % 6])

lamp = bpy.data.objects['Lamp']
lamp.location = (20, 10, 10)
lamp.rotation_euler = (-0.2, -0.4, 0)
lamp.data.falloff_type = 'INVERSE_LINEAR'
lamp.data.shadow_method = 'NOSHADOW'

camera = bpy.data.objects['Camera']
camera.location = (15, 0, 15)
camera.rotation_euler = (0, 1, 0)
camera.data.type = 'PERSP'
camera.data.angle = 1 world = bpy.data.worlds['World'] world.horizon_color = (0.2, 0.4, 0.6) world.zenith_color = (0.0, 0.0, 0.2) world.use_sky_blend = True

$BJQ99$,40N;$7$?$i!$$3$N%9%/%j%W%H$r0lEY[F12] $B%-!<$r%?%$%W$7$F%l%s%@%j%s%0$7$F$_$F$/$@$5$$!%85$N%&%#%s%I%&$KLa$9$K$O(B [Esc] $B%-!<$r%?%$%W$7$^$9!%(B

$B#2!%#9!!%l%s%@%j%s%0@_Dj(B

$B$$$h$$$h!$%7!<%s$N:G=*E*$J%l%s%@%j%s%0$r9T$$$^$9!%%7!<%s$N%l%s%@%j%s%0@_Dj$O!$=hM}BP>]$H$J$C$F$$$k%7!<%s$r(B bpy.context.scene $B$+$iF@$F!$$=$l$KBP$7$F9T$$$^$9!%%7!<%sL>(B 'Scene' $B$r(B bpy.data.scenes['Scene'] $B$GL@<(E*$K;XDj$7$FF@$k$3$H$b$G$-$^$9!%%7!<%s$K$OB??t$N@_Dj9`L\$,$"$j$^$9$,!$$3$3$G$O%l%s%@%j%s%02hA|$N(B xy $BJ}8~$N2rA|EY(B scene.resolution_x$B!$(Bscene.resolushon_y $B$*$h$Sscene.resolution_percentage $B$r@_Dj$7$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

import math

n = 12
r = 4

materials = []
for i in range(1, 7):
    materials.append(bpy.data.materials.new('Color' + str(i)))
    materials[-1].diffuse_color = ((i >> 2) & 1, (i >> 1) & 1, i & 1)

for i in range(n):
    t = 2.0 * math.pi * i / n
    x = r * math.cos(t)
    y = r * math.sin(t)
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, y, 0))
    bpy.context.object.data.materials.append(materials[i % 6])

lamp = bpy.data.objects['Lamp']
lamp.location = (20, 10, 10)
lamp.rotation_euler = (-0.2, -0.4, 0)
lamp.data.falloff_type = 'INVERSE_LINEAR'
lamp.data.shadow_method = 'NOSHADOW'

camera = bpy.data.objects['Camera']
camera.location = (15, 0, 15)
camera.rotation_euler = (0, 1, 0)
camera.data.type = 'PERSP'
camera.data.angle = 1 world = bpy.data.worlds['World'] world.horizon_color = (0.2, 0.4, 0.6) world.zenith_color = (0.0, 0.0, 0.2) world.use_sky_blend = True scene = bpy.context.scene
scene.render.resolution_x = 640
scene.render.resolution_y = 360
scene.render.resolution_percentage = 100

$BJQ99$,40N;$7$?$i!$$3$N%9%/%j%W%H$r0lEY[F12] $B%-!<$r%?%$%W$7$F%l%s%@%j%s%0$7$F$_$F$/$@$5$$!%85$N%&%#%s%I%&$KLa$9$K$O(B [Esc] $B%-!<$r%?%$%W$7$^$9!%(B

$B#2!%#1#0!!%l%s%@%j%s%0$H2hA|$NJ]B8(B

$B%9%/%j%W%HFb$G%l%s%@%j%s%0$rbpy.ops.render.render() $B$r;H$&$HJXMx$G$9!%$?$@$7!$$3$N>l9g$O%l%s%@%j%s%07k2L$O2hLL$K$OI=<($5$l$^$;$s!%%l%s%@%j%s%07k2L$O(B bpy.data.images['Render Result'] $B$KF~$C$F$$$k$N$G!$$3$N(B save_render() $B%a%=%C%I$r;H$C$F%U%!%$%k$KJ]B8$7$^$9!%J]B8$9$k%U%!%$%kL>$O(B$B@dBP%Q%9(B$B$G;XDj$9$kI,MW$,$"$j$^$9!%(B

$B$=$3$G!$%[!<%`%G%#%l%/%H%j$N@dBP%Q%9$rF@$k$?$a$K!$(Bimport os $B$K$h$C$F(B Python $B$+$i(B OS$B!J%*%Z%l!<%F%#%s%0%7%9%F%`!K$N5!G=$r8F$S=P$9(B os $B%b%8%e!<%k$rF3F~$7$^$9!%$3$N(B os.environ $B$K$h$C$F!$(B$B4D6-JQ?t(B$B$ros.environ['HOME'] $B$O4D6-JQ?t(B HOME $B$NFbMF$rF@$^$9!%$3$l$K$O(B Unix/Linux $B$*$h$S(B Unix $B$r%Y!<%9$K$7$F$$$k(B Mac OS X $B$K$*$1$k%[!<%`%G%#%l%/%H%j$,@_Dj$5$l$F$$$^$9!%$3$l$K%G%#%l%/%H%j$N6h@Z$jJ8;z(B '/' $B$G6h@Z$C$?%U%!%$%kL>$NJ8;zNs$rO"7k$7$^$9!%$J$*!$(BWindows$B!JB?J,(B Vista $B0J9_(B$B!K$G!V%I%-%e%a%s%H(B (My Documents)$B!W$KJ]B8$9$k$K$O!$(Bfilepath = os.environ['HOMEPATH'] + '/My Documents/image.png' $B$H$9$l$P$$$$$s$8$c$J$$$+$H;W$$$^$9!%(B

#!BPY
import bpy

for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

import math

n = 12
r = 4

materials = []
for i in range(1, 7):
    materials.append(bpy.data.materials.new('Color' + str(i)))
    materials[-1].diffuse_color = ((i >> 2) & 1, (i >> 1) & 1, i & 1)

for i in range(n):
    t = 2.0 * math.pi * i / n
    x = r * math.cos(t)
    y = r * math.sin(t)
    bpy.ops.mesh.primitive_ico_sphere_add(subdivisions = 3, size = 0.5, location = (x, y, 0))
    bpy.context.object.data.materials.append(materials[i % 6])

lamp = bpy.data.objects['Lamp']
lamp.location = (20, 10, 10)
lamp.rotation_euler = (-0.2, -0.4, 0)
lamp.data.falloff_type = 'INVERSE_LINEAR'
lamp.data.shadow_method = 'NOSHADOW'

camera = bpy.data.objects['Camera']
camera.location = (15, 0, 15)
camera.rotation_euler = (0, 1, 0)
camera.data.type = 'PERSP'
camera.data.angle = 1 world = bpy.data.worlds['World'] world.horizon_color = (0.2, 0.4, 0.6) world.zenith_color = (0.0, 0.0, 0.2) world.use_sky_blend = True scene = bpy.context.scene
scene.render.resolution_x = 640
scene.render.resolution_y = 360
scene.render.resolution_percentage = 100
import os bpy.ops.render.render() bpy.data.images['Render Result'].save_render(filepath = os.environ['HOME'] + '/image.png')

$B$3$N%9%/%j%W%H$r

$B%l%s%@%j%s%07k2L(B

$B=IBj(B

$B$l$N7k2L$H(B (3) $B$NFbMF$r%a!<%k$G(B tokoi@sys.wakayama-u.ac.jp $B$KAw$C$F$/$@$5$$!%%a!<%k$N7oL>(B (Subject) $B$O(B shori1-15 $B$K$7$F$/$@$5$$!%4|8B$O

(1) $B2<$N%l%s%@%j%s%07k2L$rF@$k(B Python $B$N%9%/%j%W%H$r:n@.$7$F$/$@$5$$!%NX$HNX$O(B z $BJ}8~$K(B 2 $B$:$D4V3V$,$"$j$^$9!%?'$NIU$1J}$O$3$NDL$j$G$J$/$F$b9=$$$^$;$s$,!$2DG=$J$i$3$N$h$&$JIU$1J}$r$9$k$K$O$I$&$9$l$P$$$$$+9M$($F$_$F$/$@$5$$!%:n@.$7$?%9%/%j%W%H$r%a!<%k$NK\J8$K(B$B%3%T!$B$7$F$/$@$5$$!%(B
$B?^7A$r=E$M$FI=<($9$k(B
(2) Python $B$K$h$k%9%/%j%W%H$G<+J,$J$j$K9%$-$J%7!<%s$r:n@.$7$F$/$@$5$$!%$=$N%9%/%j%W%H$r%a!<%k$NK\J8$K(B$B%3%T!$B$7!$%l%s%@%j%s%07k2L$N(B$B2hA|$rE:IU(B$B$7$F$/$@$5$$!%(B
(3) $B:#2s$N9V5A$KBP$9$k0U8+$H2~A1E@!%(B

$B2A%"%s%1!<%H$N$*4j$$(B

$B2A%"%s%1!<%HD4::$r9T$C$F$$$^$9!%6(NO$r$*4j$$$7$^$9!%2<5-$N%Z!<%8!J%j%s%/$K$J$C$F$$$^$9!K$+$i%"%s%1!<%H$N%Z!<%8$r3+$$$FF~NO$7$F$/$@$5$$!%(B

$B%"%s%1!<%H%Z!<%8$N(B URL
http://www.sys.wakayama-u.ac.jp/enquete/

$B4|4V$OJ?@.(B25$BG/(B7$B7n(B10$BF|!JLZ!K!A(B8$B7n(B8$BF|!J6b!K$G$9!%$h$m$7$/$*4j$$$7$^$9!%(B