Asymptote: Useful functions: Difference between revisions
Added another example |
|||
| Line 5: | Line 5: | ||
pair[] <b>intersectionpoints</b>(path, path); | pair[] <b>intersectionpoints</b>(path, path); | ||
Examples: | |||
<pre><nowiki>size(8cm,0); | <pre><nowiki>size(8cm,0); | ||
import math; | import math; | ||
| Line 41: | Line 41: | ||
dot(x[1],3bp+blue); | dot(x[1],3bp+blue); | ||
draw(x[0] -- x[1],1bp+red);</asy> | draw(x[0] -- x[1],1bp+red);</asy> | ||
<pre><nowiki> | |||
path g=(-3,-sqrt(3))--(3,-sqrt(3))--(0,2*sqrt(3))--cycle; | |||
draw(g,black); | |||
path p=-2/3*(-3,-sqrt(3))--(-2/3)*(3,-sqrt(3))--(-2/3)*(0,2*sqrt(3))--cycle; | |||
draw(p,black); | |||
pair [] x=intersectionpoints(g, p); | |||
fill(x[0]--x[1]--x[2]--x[3]--x[4]--x[5]--cycle,black); | |||
dot((0,0),white); | |||
</nowiki></pre> | |||
<asy> | |||
path g=(-3,-sqrt(3))--(3,-sqrt(3))--(0,2*sqrt(3))--cycle; | |||
draw(g,black); | |||
path p=-2/3*(-3,-sqrt(3))--(-2/3)*(3,-sqrt(3))--(-2/3)*(0,2*sqrt(3))--cycle; | |||
draw(p,black); | |||
pair [] x=intersectionpoints(g, p); | |||
fill(x[0]--x[1]--x[2]--x[3]--x[4]--x[5]--cycle,black); | |||
dot((0,0),white); | |||
</asy> | |||
Note that this function will cause an error if the paths involved do not intersect. | Note that this function will cause an error if the paths involved do not intersect. | ||
Revision as of 12:46, 26 November 2011
Intersection points
pair[] intersectionpoints(path, path);
Examples:
size(8cm,0); import math; import graph; real r,s; pair a,b, common; path circ1, circ2; r=1; s=1; a=(0,0); b=(1,0); circ1=circle(a,r); circ2=circle(b,s); draw(circ1,linewidth(1bp)); draw(circ2,1bp+green); pair [] x=intersectionpoints(circ1, circ2); dot(x[0],3bp+blue); dot(x[1],3bp+blue); draw(x[0] -- x[1],1bp+red);
path g=(-3,-sqrt(3))--(3,-sqrt(3))--(0,2*sqrt(3))--cycle; draw(g,black); path p=-2/3*(-3,-sqrt(3))--(-2/3)*(3,-sqrt(3))--(-2/3)*(0,2*sqrt(3))--cycle; draw(p,black); pair [] x=intersectionpoints(g, p); fill(x[0]--x[1]--x[2]--x[3]--x[4]--x[5]--cycle,black); dot((0,0),white);
Note that this function will cause an error if the paths involved do not intersect.