多面体のデータを作成することと、中心投影図を作成するための教材に使いました。隠れ線処理はしていません。
Public Sub Proc17() '--- Regurlar Polyhedron Drawing Static ax(7), ay(7), az(7), bx(7), by(7), bz(7) Dim h, thy, thz, x1, y1, z1, x2, y2, z2, nn, Igra Select Case Ivar Case 1: N = 3 Case 2: N = 4 Case 3: N = 5 Case 4: N = 6 Case Else: thy = 0.01 End Select '------ Camera Position CamP(1) = 800: CamP(2) = 0: CamP(3) = 0 Dpcam 0.6, 0, Flen Dperas: Dpwind 0, 0, 640 '------ r = 130: h = 100: thy = 0.3: thz = 0.2: nn = 1 For Th = 0 To 2 * pie + 0.1 Step 2 * pie / N x1 = r * Sin(Th): y1 = r * Cos(Th): z1 = h: z2 = -h Rotz x1, y1, x1, y1, thz x2 = x1: y2 = y1 Roty z1, x1, z1, x1, thy Roty z2, x2, z2, x2, thy ax(nn) = x1: ay(nn) = y1: az(nn) = z1 bx(nn) = x2: by(nn) = y2: bz(nn) = z2 nn = nn + 1 Next '----- For nn = 1 To N Igra = 0 DrawPolyLine3 ax(nn), ay(nn), az(nn), Igra DrawPolyLine3 ax(nn + 1), ay(nn + 1), az(nn + 1), Igra DrawPolyLine3 bx(nn + 1), by(nn + 1), bz(nn + 1), Igra DrawPolyLine3 bx(nn), by(nn), bz(nn), Igra DrawPolyLine3 ax(nn), ay(nn), az(nn), Igra Next Dptext 80, 170, ("N =" + CStr(N) + "; thy=" + CStr(thy)) End Sub