| 結構複雑な絵をPowerPointで描いていて、コードで書けたら楽だなと思って試してみました。 楕円オブジェクトでサインカーブ †https://www.youtube.com/watch?v=wQZKjgiVYBI <?php
$scalex = 1.0;
$scaley = 1.0;
$freq = 3;
$N = 100;
$deltax = $freq / $N;
$shape_type = 9;
$pp = new COM('PowerPoint.Application');
$pp->Visible = true;
$slides = $pp->Presentations->add;
$width = $slides->pageSetup->slideWidth;
$height = $slides->pageSetup->slideHeight;
$slide = $slides->Slides->Add(1, 11);
for($i = 0; $i <= $N; $i++){
  $y = sin(2 * pi() * $i * $deltax);
  $x = $i * $width / 100;
  $y = $y * $height / 2 + $height / 2;
  $x = $x * $scalex;
  $y = $y * $scaley;
  $shape = $slide->Shapes->AddShape($shape_type, $x, $y, 10, 10);
  $shape->Fill->ForeColor->RGB = 0x0000FF;
  $shape->Line->ForeColor->RGB = 0x0000FF;
}
?>
フリーフォームでサインカーブ †https://www.youtube.com/watch?v=lCL7lktVaYM <?php
$scalex = 1.0;
$scaley = 1.0;
$shape_type = 9;
$pp = new COM('PowerPoint.Application');
$pp->Visible = true;
$slides = $pp->Presentations->add;
$width = $slides->pageSetup->slideWidth;
$height = $slides->pageSetup->slideHeight;
$ppc = $width / 25.4;
$slide = $slides->Slides->Add(1, 11);
$startx = 1;
$starty = $height / 2;
$freq = 3;
$deltax = $freq / 100;
$x = $startx;
$y = $height / 2;
$x = $x * $scalex;
$y = $y * $scaley;
$shape = $slide->Shapes->BuildFreeForm(0, $x, $y);
for($i = 1; $i <= 100; $i++){
  $y = sin(2 * pi() * $i * $deltax);
  echo($y . "\n");
  $x = $startx + $i * $width / 100;
  $y = $y * $height / 2 + $height / 2;
  $x = $x * $scalex;
  $y = $y * $scaley;
//  $slide->Shapes->ForeColor->RGB = 0xFF0000;
  $shape->AddNodes(1, 0, $x, $y);
}
$shape->ConvertToShape()
?>
 |