xy

$line xy
returns x, y coords of dots

obj method line xy {{raw no} {bezier ""}} {
  if {$bezier eq "" || [$self cget -smooth]} then {
    concat {*}[$self dots xy $raw]
  } else {
    lassign [$self firstDot xy $raw] x0 y0
    lassign [$self lastDot xy $raw] x3 y3
    list $x0 $y0\
      [expr {$x0 + ($x3 - $x0) / 3.0}]\
      [expr {$y0 + ($y3 - $y0) / 3.0}]\
      [expr {$x0 + ($x3 - $x0) / 3.0 * 2.0}]\
      [expr {$y0 + ($y3 - $y0) / 3.0 * 2.0}]\
      $x3 $y3
  }
}

© Wolf-Dieter Busch | Home | Sitemap | Urheber | A-Z