{{ store.width }} x {{ store.height }}
upload Upload
upload Full crop Thumbnail
arrow_selector_tool Start Photographer arrow_selector_tool Slow 1s/page: {{ store.photographerSlow ? 'On' : 'Off' }}
{{ store.uploading ? 'Uploading...' : (store.complete ? 'Done' : '') }} {{ store.photographerRunning ? 'Photographer running...' : '' }}
upload Digitize

{{ store.filename || 'Drop an image onto the page.' }}

Drag the frame to move, corners to resize, top handle to rotate.

upload Choose image
Digitize reference

Angle Protractor Tool

{{ item.title }}

{{ definition.value }}
Geometric tool to construct and visualize tangent arcs using intersecting circles and diamond shapes.
{{ store.loading ? 'Thinking...' : store.response }}

Perform this: https://www.youtube.com/watch?v=SUI_AWpgmzU

draw two rays from the two points (o1, o2) (of any angle) o1 has r1, o2 has r2 set the protractor to r3 then (along the ray), plot r2+r3 same on the other point, plot r1+r3 -> obtains a new radius for o1 setting the compass on o1, we draw the radius r1+r3 setting the compass on o2, we draw the radius r2+r3

Where the two new circles intersect, these become o3 and o4, being the origin points of our new tangent arc

join points o1 to o3, o3 to o2, o2 to o4, o4 to o1 this produces 4 lines (a diamond shape). The intersection of those lines with the original r1 and r2 are the four tangent points.

now draw an arc from o2 with a radius of r2, draw from t1 through to t2

Meta Data
title Angle Protractor Tool
imports ()
files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/setunset.js', '../point_src/stroke.js', '../point_src/point-content.js', '../point_src/pointlist.js', '../point_src/point.js', '../point_src/events.js', '../point_src/automouse.js', '../point_src/distances.js', '../point_src/dragging.js', '../point_src/functions/clamp.js', '../point_src/curve-extras.js', '../point_src/mirror.js', '../point_src/stage.js', '../point_src/text/label.js', '../point_src/intersections.js')
unused_keys ()
unknown_keys ()
filepath_exists True
path protractor-point.editor
filepath protractor-point.js
clean_files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/setunset.js', '../point_src/stroke.js', '../point_src/compass.js', '../point_src/center.js', '../point_src/point-content.js', '../point_src/pointlistdraw.js', '../point_src/pointlistgradient.js', '../point_src/pointlistshape.js', '../point_src/pointlistgenerator.js', '../point_src/unpack.js', '../point_src/pointlist.js', '../point_src/relative-xy.js', '../point_src/pointcast.js', '../point_src/point.js', '../point_src/events.js', '../point_src/automouse.js', '../point_src/distances.js', '../point_src/protractor.js', '../point_src/text/beta.js', '../point_src/dragging.js', '../point_src/functions/clamp.js', '../point_src/curve-extras.js', '../point_src/mirror.js', '../point_src/stage-hooks.js', '../point_src/functions/resolve.js', '../point_src/stage.js', '../point_src/text/label.js', '../point_src/intersections.js')
Logger Install Logger {{ store.words }}
{{ store.errorText.message }}
{{ store.errorText.stackText }}