2022/03/31 Updated by
2021/06/04 Updated by

POV-Ray (CUI) : Install on Mac M1 (arm64)


[Up] Japanese English

[お知らせ (2022/04/18)]

Mac M1 (arm64) に対応した Povray のオブジェクトが公開されています。 このページに記述されている CUI 版でなく、GUI 版の https://povrayunofficial.wordpress.com/ をインストールすることをお勧めします。


Mac M1 (arm64, macOS Catalina version 10.15.4) へ POVRay 3.7.0.8 をインストールする方法を説明する。 (注) macOS Monterey version 12.1 でも同様に動作することを確認した(Mar/31/2022)。

  1. 前提条件: 「ターミナル」でrosetta2が動く環境を作成しておく。
  2. 前提条件: x86_64 版Homebrew をインストールしておく。
  3. 前提条件: arm64 版Homebrew を インストールしておく。
  4. 「ターミナル」を起動した後、arch コマンドを用いてShell環境をx86_64アーキテクチャに切り換える。
  5.   [「ターミナル」ウィンドウ内で]
        (arm64)%  arch -x86_64 /bin/zsh     ←  青字部分を入力する (% より前の部分はプロンプトであり、入力する必要はない。以下同様)
    
  6. brew コマンドで povray をインストールする。
  7.     (x86_64)%  brew install povray 
    
  8. /usr/local/bin/povray コマンドが使えるようになる。
  9. 「ターミナル」内で povrayコマンドを使って hajimete.pov を処理すると、 hajimete.png が生成される。
  10.     (x86_64)%  povray hajimete.pov 
        (x86_64)%  ls hajimete.*                 ← ファイルの一覧を表示する
        hajimete.pov     hajimete.png               ← png ファイルが生成されたことがわかる
    
    hajimete.pov
    #include "colors.inc"
    #include "shapes.inc"
    #include "stones.inc"
    
    camera {
      location <5,5,-10>
      look_at <0,0,0>
      angle 20
    }
    
    light_source { <0,10,-10> color White }
    
    object {
      Sphere
      texture { T_Stone12 }
    }
    

    hajimete.png
  11. アニメーションを作るには、コマンドラインでオプションを指定する。anim01.pov から18フレームの画像(anim0101.pov, anim0102.pov, ..., anim0118.pov) を生成するには、次のように指定する。
  12.     (x86_64)%  povray Final_Frame=18 anim01.pov 18枚の画像を生成する
        (x86_64)%  ls anim*.png 生成した png ファイルを確認する
         anim0101.png    anim0104.png    anim0107.png   anim0110.png    anim0113.png   anim0116.png
         anim0102.png    anim0105.png    anim0108.png   anim0111.png    anim0114.png   anim0117.png
         anim0103.png    anim0106.png    anim0109.png   anim0112.png    anim0115.png   anim0118.png
    
    anim01.pov
    #include "colors.inc"
    #include "shapes.inc"
    #include "stones.inc"
    
    camera {
      location <15,5,10>
      look_at <0,0,0>
      angle 25
    }
    
    light_source { <5,-10,-10> color White }
    light_source { <10,10,10> color White*2 }
    
    object {
      Cone_X
      texture { T_Stone13 }
      translate <1,0,0>
      rotate <0,360*clock,0>
    }
    
    background { color SummerSky }
    
    



  13. コマンドラインでクロックに関するオプションを指定してみる。bearleg02.pov
  14.     (x86_64)%  povray Initial_Clock=0.0 Final_Clock=17.0 Final_Frame=18 bearleg02.pov 
        (x86_64)%  ls bear*png 
        bearleg0201.pngbearleg0204.pngbearleg0207.pngbearleg0210.pngbearleg0213.pngbearleg0216.png
        bearleg0202.pngbearleg0205.pngbearleg0208.pngbearleg0211.pngbearleg0214.pngbearleg0217.png
        bearleg0203.pngbearleg0206.pngbearleg0209.pngbearleg0212.pngbearleg0215.pngbearleg0218.png
    
    bearleg02.pov
    // Nitta 2008.04.20
    #include "colors.inc"
    #include "shapes.inc"
    #include "woods.inc"
    
    camera {
      location <25,15,20>
      look_at <0,2,0>
      angle 10
    }
    
    light_source { <30,20,20> color White*2 }
    light_source { <-30,20,20> color White }
    
    #declare LEG_LENGTH = 1.2;
    #declare SOLE_HEIGHT = 0.4;
    
    #declare THETA = 2 * 3.14 * clock/18;
    #declare PHI = 30*sin(THETA);
    
    #declare BEAR_LEG =
    union {
      object {
        Sphere
        texture { T_Wood7 }
        scale <0.45,LEG_LENGTH,0.45>
        translate <0,-LEG_LENGTH,0>
      }
      object {
        Sphere
        texture { T_Wood7 }
        scale <0.7,SOLE_HEIGHT,0.45>
        translate <0.15,-LEG_LENGTH*2,0>
      }
    }
    
    object {
      BEAR_LEG
      rotate <0,0,-PHI>
      translate <0,LEG_LENGTH*2+SOLE_HEIGHT,0.35>
    }
    
    object {
      BEAR_LEG
      rotate <0,0,PHI>
      translate <0,LEG_LENGTH*2+SOLE_HEIGHT,-0.35>
    }