<< import prmanでのsearchpath 戻る C81 はじめての参加です。 >>

TypeError: 'module' object is not callable

別ディレクトリのクラス呼び出しのエラー。
TypeError: 'module' object is not callable

##############

import sys
sys.path.append("C:\prman_sample\lighting\PythonClasses")

from Camera import Camera
from vector import Vector

import prman
・・・・

CameraクラスがあるPythonClassesまでパスを追加しておき、

モジュールの名前.対象のクラス

で呼び出す。

Pythonでは、パッケージ=ディレクトリ、モジュール=ファイルと理解。

・・・
import prman
ri = prman.Ri() # create an instance of the RenderMan interface
rendertarget = "helloworld.rib"

cam=Camera(Vector(0,4,-8,1),Vector(0,0,0,1),Vector(0,1,0,0))
cam.fov=45

ri.Begin(ri.RENDER) # set rendertarget to ri.RENDER to render pixels
ri.Imager ("background", {"color color":(.2, .4, .6)})
ri.Display("teapot3.png", "framebuffer", "rgb")

cam.Format(ri)
#ri.Format(512,480,1)
#ri.Projection(ri.PERSPECTIVE, {ri.FOV: 45}) # standard Ri tokens are available
ri.ShadingRate(0.25)
#ri.Translate(0,0,10)
#ri.Rotate(-33.69, 1.00, 0.00, 0.00)
#ri.Translate(0.00, -4.00, 8)
ri.WorldBegin()

cam.Place(ri)
ri.Scale(-1,1,1)
・・・・


結果が違うのでri.Scale(-1,1,1)を加えた。
Camera(eye, look, up)となっている。

cgkitで確認してみた。

C:\Python26>python
Python 2.6.6 (r266:84297, Aug 24 2010, 18:13:38) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from cgkit.all import *
>>> V=mat4(1).lookAt(pos=(4,0.2,4),target=(0,0,0),up=(0,1,0))
>>> V
[-0.707107, -0.0249844, -0.706665, 4]
[0, 0.999376, -0.0353333, 0.2]
[0.707107, -0.0249844, -0.706665, 4]
[0, 0, 0, 1]
>>> vt=(V.inverse()).transpose()
>>> vt
[-0.707107, -0.0249844, -0.706665, -0]
[-0, 0.999376, -0.0353333, 0]
[0.707107, -0.0249844, -0.706665, -0]
[-0, 0, 5.66039, 1]
>>>
  • -
  • -

<< import prmanでのsearchpath 戻る C81 はじめての参加です。 >>