cc_class_mesh02.de

Übersicht: Python & Blender


System Message: ERROR/3 (<string>, line 1)

Error in "image" directive: no content permitted.

image:: /blender-extended/pyramid-100.png


 Lernziel

System Message: WARNING/2 (<string>, line 1)

Substitution definition "a" empty or invalid.

.. |a| image:: /blender-extended/pyramid-100.png


 Lernziel

System Message: WARNING/2 (<string>, line 5)

Explicit markup ends without a blank line; unexpected unindent.

|a| Die Konstruktion der Pyramide wird vollendet.

Handlungsanweisungen

Aufgaben:
  1. Führe die gezeigten Teilschritte zum Aufbau einer Klasse aus, bis Du eine lauffähige Version besitzt.
  2. Erstelle eine Klasse für ein eigenes "Primitiv", z.B. einen Keil oder die Grundform eines Imbusschlüssel.
  3. Ergänze die Klasse um ein Material, welches dem neuen Objekt mitgegeben wird.

Das Mesh, die Daten zur Form

Für die Vollendung der Pyramide brauchen wir nur noch einen Punkt in das Mesh einzufügen und die neuen Flächen (faces) definieren.

def pyramid_values():
    """
    This function takes inputs and returns vertex and face arrays.
    no actual mesh data creation is done here.
    """
    verts = [(-1, +1, 0),
             (+1, +1, 0),
             (+1, -1, 0),
             (-1, -1, 0),
             (0, 0, +2)]

    faces = [(0, 1, 2, 3),
             (0, 1, 4),
             (1, 2, 4),
             (2, 3, 4),
             (3, 0, 4)]

    return verts, faces

Wir fügen einen Punkt ins Mesh ein und defineren dann die vier neuen Flächen. Auch hier werden im Uhrzeigersinn nacheinander die Teilflächen definiert. Beachte wieder die Index-Zählung, die mit 0 beginnt!

Das Ergebnis

Es lassen sich beliebig viele Pyramiden anlegen.

/images/all/blender-extended/group_of_pyramids.png

The final version of the class

System Message: ERROR/3 (<string>, line 69)

Unknown directive type "literalinclude".

.. literalinclude:: files/pyramid2.py
   :language: python

Docutils System Messages

System Message: ERROR/3 (<string>, line 11); backlink

Undefined substitution referenced: "a".

Kommentare