MCPcopy Create free account
hub / github.com/arguiot/TheoremJS / drawCircularPoints

Method drawCircularPoints

__test__/theorem.js:468–487  ·  view source on GitHub ↗
(n, r=1, start=[-r, 0], complex=false)

Source from the content-addressed store, hash-verified

466 return new BigNumber(x).times(this.pi).div(180)
467 }
468 drawCircularPoints(n, r=1, start=[-r, 0], complex=false) {
469 const angle = this.pi.times(2).div(n)
470 let buffer = {}
471 buffer[start[0]] = start[1]
472 let angleState = this.atan2(...start.reverse()) + angle.toNumber()
473 for (var i = 0; i < n - 1; i++) {
474 const x = new BigNumber(r).times(this.cos(angleState)).toString()
475 const y = new BigNumber(r).times(this.sin(angleState)).toNumber()
476 if (complex === true) {
477 buffer[i] = this.complex(x, y)
478 } else {
479 buffer[x] = y
480 }
481 angleState += angle.toNumber()
482 }
483 if (complex === true) {
484 return Object.values(buffer)
485 }
486 return buffer
487 }
488 rad2deg(x) {
489 return new BigNumber(x).times(180).div(this.pi)
490 }

Callers 1

test.jsFile · 0.80

Calls 8

atan2Method · 0.95
cosMethod · 0.95
sinMethod · 0.95
complexMethod · 0.95
divMethod · 0.80
timesMethod · 0.80
reverseMethod · 0.80
toStringMethod · 0.80

Tested by

no test coverage detected