## Asymptote Generalities – fig0620

Category: Asymptote,Examples 2D,GeneralitiesPh. Ivaldi @ 11 h 39 min

 (Compiled with Asymptote version 2.14svn-r5318)
```
size(10cm,0);

path cle=unitcircle;

draw((-1.5,0)--(2.5,0),linewidth(10mm));
filldraw(cle,red+opacity(.5));
filldraw(shift((1,0))*cle,blue+opacity(.5));

shipout(format="pdf");
/*Others examples here.*/

```

Étiquettes : , , , ,

## Asymptote and opacity – fig0010

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 16 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

string blend="Compatible"; //This is the default value

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0020

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 17 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Normal: Selects the source color, ignoring the backdrop.
string blend="Normal";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0030

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 18 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Multiply: Multiplies the backdrop and source color values:
// The result color is always at least as dark as either of the two constituent
// colors. Multiplying any color with black produces black;
// multiplying with white leaves the original color unchanged. Painting
// successive overlapping objects with a color other than black or
// white produces progressively darker colors.
string blend="Multiply";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0040

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 19 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
// The result does not support image conversion.
// You can view it in the file fig0040.pdf.

import edvenn_pi;

// Screen: Multiplies the complements of the backdrop and source color
// values, then complements the result:
// The result color is always at least as light as either of the two constituent
// colors. Screening any color with white produces white; screening
// with black leaves the original color unchanged. The effect is
// similar to projecting multiple photographic slides simultaneously
// onto a single screen.
string blend="Screen";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0050

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 20 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Overlay: Multiplies or screens the colors, depending on the backdrop color.
// Source colors overlay the backdrop while preserving its highlights
// and shadows. The backdrop color is not replaced but is mixed with
// the source color to reflect the lightness or darkness of the backdrop.
string blend="Overlay";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0060

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 21 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Darken: Selects the darker of the backdrop and source colors:
// The backdrop is replaced with the source where the source is darker;
// otherwise, it is left unchanged.
string blend="Darken";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0070

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 22 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Lighten: Selects the lighter of the backdrop and source colors:
// The backdrop is replaced with the source where the source is lighter;
// otherwise, it is left unchanged.
string blend="Lighten";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0080

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 23 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// ColorDodge: Brightens the backdrop color to reflect the source color. Painting
// with black produces no change.
string blend="ColorDodge";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0090

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 0 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// ColorBurn Darkens the backdrop color to reflect the source color. Painting
// with white produces no change.
string blend="ColorBurn";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0100

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 1 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// HardLight: Multiplies or screens the colors, depending on the source color
// value. If the source color is lighter than 0.5, the backdrop is lightened
// as if it were screened; this is useful for adding highlights to a
// scene. If the source color is darker than 0.5, the backdrop is darkened
// as if it were multiplied; this is useful for adding shadows to a
// scene. The degree of lightening or darkening is proportional to the
// difference between the source color and 0.5; if it is equal to 0.5, the
// backdrop is unchanged. Painting with pure black or white produces
// pure black or white. The effect is similar to shining a harsh spotlight
// on the backdrop.
string blend="HardLight";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0110

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 2 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// SoftLight: Darkens or lightens the colors, depending on the source color value.
// If the source color is lighter than 0.5, the backdrop is lightened as if
// it were dodged; this is useful for adding highlights to a scene. If the
// source color is darker than 0.5, the backdrop is darkened as if it
// were burned in. The degree of lightening or darkening is proportional
// to the difference between the source color and 0.5; if it is
// equal to 0.5, the backdrop is unchanged. Painting with pure black or
// white produces a distinctly darker or lighter area but does not result
// in pure black or white. The effect is similar to shining a diffused
// spotlight on the backdrop.
string blend="SoftLight";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0120

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 3 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Difference: Subtracts the darker of the two constituent colors from the lighter
// color:
// Painting with white inverts the backdrop color; painting with black
// produces no change.
string blend="Difference";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0130

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 4 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Exclusion: Produces an effect similar to that of the Difference mode but lower
// in contrast. Painting with white inverts the backdrop color; painting
// with black produces no change.
string blend="Exclusion";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0140

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 5 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Hue: Creates a color with the hue of the source color and the saturation
// and luminance of the backdrop color.
string blend="Hue";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0150

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 6 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Saturation: Creates a color with the saturation of the source color and the hue
// and luminance of the backdrop color. Painting with this mode in an
// area of the backdrop that is a pure gray (no saturation) produces no
// change.
string blend="Saturation";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0160

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 7 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Color: Creates a color with the hue and saturation of the source color and
// the luminance of the backdrop color. This preserves the gray levels
// of the backdrop and is useful for coloring monochrome images or
// tinting color images.
string blend="Color";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0170

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 8 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
import edvenn_pi;

// Luminosity: Creates a color with the luminance of the source color and the hue
// and saturation of the backdrop color. This produces an inverse
// effect to that of the Color mode.
string blend="Luminosity";

size(10cm,0);

path [] edvenn= EdVenn(4);
pen [] fillp= new pen[]{black, red, green, blue};
pen p=linewidth(1mm);

for (int i=0; i<4; ++i) {
fillp[i]=fillp[i]+opacity(.5,blend=blend);
filldraw(edvenn[i], fillpen=fillp[i], drawpen=linewidth((i+1)*mm/2));
}

shipout(bbox(2mm,invisible),"pdf");

```

Étiquettes :

## Asymptote and opacity – fig0180

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 9 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
size(4cm,0);
dotfactor*=5;

dot(scale(2)*"A",(0.5,1),5N);

layer();

dot(scale(2)*"B",(1.5,1),5N);
filldraw(scale(2)*unitsquare, lightgray+opacity(.5));

```

Étiquettes : , , , , , ,

## Asymptote and opacity – fig0190

Category: Asymptote,Examples 2D,OpacityPh. Ivaldi @ 10 h 54 min

 (Compiled with Asymptote version 1.87svn-r4652)
```
size(10cm,0);
transform T=rotate(10)*xscale(1.1);
path c1=T*unitcircle, c2=T*scale(5)*unitcircle;
real l1=length(c1), l2=length(c2);

fill(scale(8)*shift(-0.5,-0.5)*unitsquare,blue);
int n=500;
real step=1/n;
for (int i=0; i < n; ++i) {
real t=i*step;
path g1=subpath(c1,t*l1,(t+step)*l1);
path g2=subpath(c2,t*l2,(t+step)*l2);
pair A=(relpoint(c1,t)+relpoint(c2,t))/2;
pair B=(relpoint(c1,t+step)+relpoint(c2,t+step))/2;
path sector=g1--reverse(g2)--cycle;
pen trans=opacity(((2-(2*i/n)^1.5))/2);
}
shipout(bbox(lightblue+white,Fill),format="pdf");

```

Étiquettes : , ,

## Official Asymptote example – floatingdisk

Category: Asymptote,Official Gallery One-PagerPh. Ivaldi @ 8 h 57 min

 (Compiled with Asymptote version 2.14svn-r5318)
```/* This code comes from The Official Asymptote Gallery */

import trembling;
settings.outformat="pdf";
size(6cm,0);

real R=1/5;
real h=0.5;
real d=1/12;
real l=.7;

pair pA=(-l,0);
pair pB=(l,0);

tremble tr=tremble(angle=10,frequency=0.1,random=50,fuzz=1);
path waterline=tr.deform(pA..pB);

path disk=shift(0,-d)*scale(R)*unitcircle;
path water=waterline--(l,-h)--(-l,-h)--(-l,0)--cycle;
path container=(l,1/7)--(l,-h)--(-l,-h)--(-l,1/7);

filldraw(disk,red,linewidth(.3));
fill(water,mediumgrey+opacity(0.5));
draw(waterline);

draw(container,linewidth(1.5));

shipout(bbox(2mm));

```

Étiquettes : ,

## Official Asymptote example – projectelevation

Category: Asymptote,Official Gallery One-PagerPh. Ivaldi @ 23 h 57 min

 (Compiled with Asymptote version 2.14svn-r5318)
```/* This code comes from The Official Asymptote Gallery */

import graph3;
import grid3;
import palette;

currentprojection=orthographic(0.8,1,2);
size(400,300,IgnoreAspect);

real f(pair z) {return cos(2*pi*z.x)*sin(2*pi*z.y);}

surface s=surface(f,(-1/2,-1/2),(1/2,1/2),50,Spline);

surface S=planeproject(unitsquare3)*s;
S.colors(palette(s.map(zpart),Rainbow()));
draw(S,nolight);
draw(s,lightgray+opacity(0.7));

grid3(XYZgrid);

```

## Official Asymptote example – transparency

Category: Asymptote,Official Gallery One-PagerPh. Ivaldi @ 4 h 57 min

 (Compiled with Asymptote version 2.14svn-r5318)
```/* This code comes from The Official Asymptote Gallery */

size(0,150);

if(settings.outformat == "")
settings.outformat="pdf";

begingroup();
fill(shift(1.5dir(120))*unitcircle,green+opacity(0.75));
fill(shift(1.5dir(60))*unitcircle,red+opacity(0.75));
fill(unitcircle,blue+opacity(0.75));
endgroup();

```

Étiquettes : , , ,

## Official Asymptote example – vertexshading

Category: Asymptote,Official Gallery One-PagerPh. Ivaldi @ 21 h 57 min

 (Compiled with Asymptote version 2.14svn-r5318)
```/* This code comes from The Official Asymptote Gallery */

import three;

size(200);

currentprojection=perspective(4,5,5);

draw(surface(unitcircle3,new pen[] {red,green,blue,white}));
draw(surface(shift(Z)*unitsquare3,
new pen[] {red,green+opacity(0.5),blue,black}));

```

Étiquettes : , ,