Difference between revisions of "Asymptote: Useful functions"
(work in progress) |
(Added another example) |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{Asymptote}} |
+ | |||
== Intersection points == | == Intersection points == | ||
− | + | pair[] <b>intersectionpoints</b>(path, path); | |
− | |||
− | |||
− | |||
− | + | Examples: | |
<pre><nowiki>size(8cm,0); | <pre><nowiki>size(8cm,0); | ||
import math; | import math; | ||
Line 44: | Line 42: | ||
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. | ||
+ | |||
+ | <!-- | ||
Can someone put a table of contents, and hiding widgets? | Can someone put a table of contents, and hiding widgets? | ||
This page should comprised the most used functions in Asymptote for regular drawings. | This page should comprised the most used functions in Asymptote for regular drawings. | ||
+ | --> | ||
+ | [[Asymptote: CSE5|Next: CSE5]] | ||
[[Category: Asymptote]] | [[Category: Asymptote]] |
Revision as of 13: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.