(faceCountour, numHairLines = 100)
| 64 | return results; |
| 65 | } |
| 66 | export function generateHairLines1(faceCountour, numHairLines = 100) { |
| 67 | var faceCountourCopy = faceCountour.slice(0, faceCountour.length - 2); |
| 68 | var results = []; |
| 69 | for (var i = 0; i < numHairLines; i++){ |
| 70 | var numHairPoints = 20 + Math.floor(randomFromInterval(-5, 5)); |
| 71 | // we generate some hair lines |
| 72 | var hair_line = []; |
| 73 | var index_start = Math.floor(randomFromInterval(20, 160)); |
| 74 | hair_line.push({x: faceCountourCopy[(faceCountourCopy.length - index_start) % faceCountourCopy.length][0], y:faceCountourCopy[(faceCountourCopy.length - index_start) % faceCountourCopy.length][1]}); |
| 75 | |
| 76 | for (var j = 1; j < numHairPoints + 1; j++){ |
| 77 | index_start = Math.floor(randomFromInterval(20, 160)); |
| 78 | hair_line.push({x: faceCountourCopy[(faceCountourCopy.length - index_start) % faceCountourCopy.length][0], y:faceCountourCopy[(faceCountourCopy.length - index_start) % faceCountourCopy.length][1]}); |
| 79 | } |
| 80 | var d = computeBezierCurve(hair_line, numHairPoints); |
| 81 | |
| 82 | results.push(d); |
| 83 | } |
| 84 | return results; |
| 85 | } |
| 86 | |
| 87 | |
| 88 | export function generateHairLines2(faceCountour, numHairLines = 100) { |
nothing calls this directly
no test coverage detected