#version

tchicketchacke@pod.g3l.org

#HonteDeMonPays #Honte-de-mon-pays #HonteDeLaFrance #Honte-de-la-france #corruption #macron #politique #politiques #ministres #gouvernement #capitalisme #exploitation #soumission #macronistan #hypocrisie #escroquerie !

Il fallait le comprendre ! Les 100 jours dits d'apaisement n'étaient en réalité qu'un délai d'une banalité absolue pour un vulgaire retour au calme le plus sinistre !

Plus un bruit sur la #réforme-des-retraites ! Plus aucun vent de #mobilisations et de #manifestations ni de #grèves ! Que de #polémiques basses dont entre autres l'hypothétique #réélection du PéDéDémanuel macron (Président Destructeur des Démocraties) !

Toutes les #casseroles ont apparemment regagné leurs placards de #cuisine ! On peut dire du moins qu'il y a eu des #mutilés voire des #morts pour que puisse régner en incontestable #dieu cette fouine insupportable qui comme d'habitude aura eu raison de tout !

La situation aura bien fini par pourrir comme il le veut à chaque fois ! Pour un retour à l' #union-sacrée où tout le monde dit AMEN à toutes ses #arnaques !

Les français les plus chanceux l'année prochaine n'auront plus qu'à aller se ruer sur leurs tickets pour les #jo-2024 pendant que les autres pourront les admirer religieusement sur leur #télé comme des gros connards !

Vu que certains.nes recommencent à parler comme ci tout était déjà entériné, je propose ma nouvelle #version du chant des #gilets-jaunes revue et corrigée ! :

Personne n'est Làààààà ! Personne n'est Làààààà ! Puisque MACRON le veut pas personne n'est Làààààà ! Pour la honte des travailleurs, dirigés par des branleurs, puisque MACRON le veut pas personne n'est Làààààà !

tchicketchacke@pod.g3l.org

Il y a plus d'une semaine, j'ai essayé avec une correspondante la #messagerie #skred, qui est décrite d'après tous les articles que j'en ai vu comme #libre et #p2p, mais par contre il n'a pas de #version #desktop, j'ai pu tester la fonction appel vidéo qui en matière de qualité est tout simplement une merveille ! Il y a cela dit des fonctions supplémentaires pour lesquelles il faut mettre la main au porte feuille telles que : Appels de groupes et de qualité supérieure d'après ce que j'ai compris. Pour les discussions écrites il doit cependant être possible de créer des groupes, mais il n'y a pas encore la fonction réagir aux #messages avec #emojis comme on peut le faire avec #signal par exemple. #Skred est présenté comme l’aîné proche de #Olvid et créé par le groupe #skyrock ...

Voici d'autres infos via le lien à suivre : https://skred.mobi/fr/skred/

zebulon_1er@diasp.org

#cgi #povray
ping @tTh, @Nunuche Follette, @inco gnito, ... :)

Bois et Résine Epoxyde dans povray

Après avoir un peu fait joujou avec mon dé, à lui essayer tout plein de textures diverses et variées... j'ai repensé à ces vidéos, postées par @Nunuche Follette, sur des objets en bois flotté noyé dans de la résine époxyde.

J'ai donc tout naturellement voulu faire un dé de la sorte.


Créer un objet qui sera inséré, comme un bout de bois, à l'aide d'une isosurface {} et une fonction f_granite comme générateur de forme, ce n'est pas le plus compliqué :
```povray
/*
** Gros dé en bois et résine époxyde
*/

#version 3.7;

#include "colors.inc"
#include "consts.inc"
#include "functions.inc"
#include "transforms.inc"

#include "isocsg/iso_csg.inc" // ISO_CSG, voir http://imagico.de/pov/ic/index.php

#declare EPSILON = 1e-4; // toute petite valeur, pour les marges

#ifndef (ASPECT_RATIO)
#declare ASPECT_RATIO = image_width / image_height;
#end

#declare AMBIENT_LIGHT = rgb 1/3;

#default {
finish { ambient AMBIENT_LIGHT }
}

global_settings {
charset utf8
assumed_gamma srgb
ambient_light AMBIENT_LIGHT
}

#declare SEED = seed(639663322);

#macro V3Rand()
< rand(SEED), rand(SEED), rand(SEED) >
#end

#macro V3SRand()
(V3Rand() * 2 - 1)
#end

#declare Size = 5; // taille du dé : 5 cms

#declare Size2 = Size / 2;
#declare Size2E = Size2 + EPSILON;

#local f1 = IC_Transform(f_granite,
transform {
scale Size * pi
translate V3SRand() * 100
rotate V3SRand() * 180
}
)

isosurface {
function { f1(x,y,z) * 0.4 - 0.075 }
contained_by { box { -Size2E, Size2E } }
accuracy 0.001
evaluate 1.1*0.6, sqrt(1/0.6), 0.7
pigment { White }
translate y * Size2E
}

// ground
plane { y, 0 pigment { Gray } }

camera {
location -z * 10
look_at o
direction z * 10

sky y
right x * ASPECT_RATIO
up y

translate -z * 100
rotate x * 30
rotate y * -60
translate y * Size2
}

// light intensity factor
// a: light distance (from object : light pos - object pos)
// b: light fade distance
// c: light fade power
#declare f_LightIntensityFactor = function(a,b,c) { pow(a/b + 1, c) / 2 }

#local Pos = vtransform(< -1, 2, -1 > * 100, transform { rotate y * -60 });
#local Int = f_LightIntensityFactor(vlength(Pos), 200, 1.5);
light_source {
Pos
color White * 1/3 * Int
fade_distance 200
fade_power 1.5
}

#local Pos = vtransform(< -1, 1, -1 > * 100, transform { rotate y * -150 });
#local Int = f_LightIntensityFactor(vlength(Pos), 100, 1.5);
light_source {
Pos
color White * 2/3 * Int
fade_distance 100
fade_power 1.5
}
```

Délimité par un cube.


Sauf que mon conteneur, ce n'est pas juste un simple cube (contained_by { box { -Size2E, Size2E } }), mais un dé, fait de l'intersection d'une sphère et d'un cube à laquelle on a enlevé des sphères écrasées pour y numéroter les faces de 1 à 6.

On a alors simplement l'idée d'utiliser le dé, fait en CSG classique, que l'on va intersecter (je ne sais pas si ça se dit) avec le morceau de bois précédemment créé en isosurface :

/*
** Gros dé en bois et résine époxyde
*/

#version 3.7;

#include "colors.inc"
#include "consts.inc"
#include "functions.inc"
#include "transforms.inc"

#include "isocsg/iso_csg.inc" // ISO_CSG, voir http://imagico.de/pov/ic/index.php

#include "ftz_dice.inc"

#declare EPSILON = 1e-4; // toute petite valeur, pour les marges

#ifndef (ASPECT_RATIO)
  #declare ASPECT_RATIO = image_width / image_height;
#end

#declare AMBIENT_LIGHT = rgb 1/3;

#default {
  finish { ambient AMBIENT_LIGHT }
}

global_settings {
  charset utf8
  assumed_gamma srgb
  ambient_light AMBIENT_LIGHT
}

#declare SEED = seed(639663322);

#macro V3Rand()
  < rand(SEED), rand(SEED), rand(SEED) >
#end

#macro V3SRand()
  (V3Rand() * 2 - 1)
#end

#declare Size = 5; // taille du dé : 5 cms

#declare Size2  = Size / 2;
#declare Size2E = Size2 + EPSILON;

#local f1 = IC_Transform(f_granite,
   transform {
    scale Size * pi
    translate V3SRand() * 100
    rotate V3SRand() * 180
  }
)

intersection {
  isosurface {
    function { f1(x,y,z) * 0.4 - 0.075 }
    contained_by { box { -Size2E, Size2E } }
    accuracy 0.001
    evaluate 1.1*0.6, sqrt(1/0.6), 0.7
  }
  FTZ_Dice(
    Size,
    material {},
    material {}
  )
  pigment { White }
  translate y * Size2E
}

// ground
plane { y, 0 pigment { Gray } }

camera {
  location  -z * 10
  look_at    o
  direction  z * 10

  sky    y
  right  x * ASPECT_RATIO
  up     y

  translate -z * 100
  rotate x * 30
  rotate y * -60
  translate y * Size2
}

// light intensity factor
// a: light distance (from object : light pos - object pos)
// b: light fade distance
// c: light fade power
#declare f_LightIntensityFactor = function(a,b,c) { pow(a/b + 1, c) / 2 }

#local Pos = vtransform(< -1, 2, -1 > * 100, transform { rotate y * -60 });
#local Int = f_LightIntensityFactor(vlength(Pos), 200, 1.5);
light_source {
  Pos
  color White * 1/3 * Int
  fade_distance 200
  fade_power 1.5
}

#local Pos = vtransform(< -1, 1, -1 > * 100, transform { rotate y * -150 });
#local Int = f_LightIntensityFactor(vlength(Pos), 100, 1.5);
light_source {
  Pos
  color White * 2/3 * Int
  fade_distance 100
  fade_power 1.5
}

Voilà, c'est déjà mieux. Mon morceau de bois ne dépassera pas du dé conteneur.


Reste plus qu'à utiliser une jolie texture bois pour cette partie... disons T_Wood13 (de woods.inc fourni avec povray) :

/*
** Gros dé en bois et résine époxyde
*/

#version 3.7;

#include "colors.inc"
#include "consts.inc"
#include "functions.inc"
#include "transforms.inc"
#include "woods.inc"

#include "isocsg/iso_csg.inc" // ISO_CSG, voir http://imagico.de/pov/ic/index.php

#include "ftz_dice.inc"

#declare EPSILON = 1e-4; // toute petite valeur, pour les marges

#ifndef (ASPECT_RATIO)
  #declare ASPECT_RATIO = image_width / image_height;
#end

#declare AMBIENT_LIGHT = rgb 1/3;

#default {
  finish { ambient AMBIENT_LIGHT }
}

global_settings {
  charset utf8
  assumed_gamma srgb
  ambient_light AMBIENT_LIGHT
}

#declare SEED = seed(639663322); // changez ce nombre, et toute la chaîne de nombres aléatoires appelés sera différente

#macro V3Rand()
  < rand(SEED), rand(SEED), rand(SEED) >
#end

#macro V3SRand()
  (V3Rand() * 2 - 1)
#end

#declare Size = 5; // taille du dé : 5 cms

#declare Size2  = Size / 2;
#declare Size2E = Size2 + EPSILON;

#local f1 = IC_Transform(f_granite,
   transform {
    scale Size * pi
    translate V3SRand() * 100
    rotate V3SRand() * 180
  }
)

intersection {
  isosurface {
    function { f1(x,y,z) * 0.4 - 0.075 }
    contained_by { box { -Size2E, Size2E } }
    accuracy 0.001
    evaluate 1.1*0.6, sqrt(1/0.6), 0.7
  }
  FTZ_Dice(
    Size,
    material {},
    material {}
  )
  texture {
    T_Wood13
    translate V3SRand() * 1e4
    rotate V3SRand() * 180
  }
  translate y * Size2E
}

// ground
plane { y, 0 pigment { Gray } }

camera {
  location  -z * 10
  look_at    o
  direction  z * 10

  sky    y
  right  x * ASPECT_RATIO
  up     y

  translate -z * 100
  rotate x * 30
  rotate y * -60
  translate y * Size2
}

// light intensity factor
// a: light distance (from object : light pos - object pos)
// b: light fade distance
// c: light fade power
#declare f_LightIntensityFactor = function(a,b,c) { pow(a/b + 1, c) / 2 }

#local Pos = vtransform(< -1, 2, -1 > * 100, transform { rotate y * -60 });
#local Int = f_LightIntensityFactor(vlength(Pos), 200, 1.5);
light_source {
  Pos
  color White * 1/3 * Int
  fade_distance 200
  fade_power 1.5
}

#local Pos = vtransform(< -1, 1, -1 > * 100, transform { rotate y * -150 });
#local Int = f_LightIntensityFactor(vlength(Pos), 100, 1.5);
light_source {
  Pos
  color White * 2/3 * Int
  fade_distance 100
  fade_power 1.5
}


Il ne reste plus qu'à ajouter le dé en résine époxyde :

/*
** Gros dé en bois et résine époxyde
*/

#version 3.7;

#include "colors.inc"
#include "consts.inc"
#include "finish.inc"
#include "functions.inc"
#include "transforms.inc"
#include "woods.inc"

#include "isocsg/iso_csg.inc" // ISO_CSG, voir http://imagico.de/pov/ic/index.php

#include "ftz_dice.inc"

#declare EPSILON = 1e-4; // toute petite valeur, pour les marges

#ifndef (ASPECT_RATIO)
  #declare ASPECT_RATIO = image_width / image_height;
#end

#declare AMBIENT_LIGHT = rgb 1/3;

#default {
  finish { ambient AMBIENT_LIGHT }
}

global_settings {
  charset utf8
  assumed_gamma srgb
  ambient_light AMBIENT_LIGHT
}

#declare SEED = seed(639663322);

#macro V3Rand()
  < rand(SEED), rand(SEED), rand(SEED) >
#end

#macro V3SRand()
  (V3Rand() * 2 - 1)
#end

#declare Size = 5; // taille du dé : 5 cms

#declare Size2  = Size / 2;
#declare Size2E = Size2 + EPSILON;

#local f1 = IC_Transform(f_granite,
   transform {
    scale Size * pi
    translate V3SRand() * 100
    rotate V3SRand() * 180
  }
)

#local o_Wood = intersection {
  isosurface {
    function { f1(x,y,z) * 0.4 - 0.075 }
    contained_by { box { -Size2E, Size2E } }
    accuracy 0.001
    evaluate 1.1*0.6, sqrt(1/0.6), 0.7
  }

  FTZ_Dice(
    Size,
    material {},
    material {}
  )

  texture {
    T_Wood13
    translate V3SRand() * 1e4
    rotate V3SRand() * 180
  }
}

#local o_Dice = FTZ_Dice(Size,
  // résine époxyde légèrement bleue
  material {
    #local C1 = < 186, 229, 255 > / 255;
    #local C2 = < 117, 157, 181 > / 255;

    #local T = 0.995; // transparence totale (filtrage compris)
    #local F = 0.2; // filtrage seul

    texture {
      pigment { color C1 filter F transmit (T - F) }

      finish {
        diffuse 0.15
        specular 0.8
        roughness 0.001
        reflection {
          C1/17
          fresnel on
        }
      }
    }

    interior {
      ior 1.5
      //dispersion 1.0125 // très long à rendre, avec de la dispersion
      fade_color C2
      fade_distance Size * 0.85
      fade_power 1001
    }
  },

  // matériau pour les nombres
  material {
    texture {
      pigment { color White * 0.995 }
      finish { Dull }
    }
  }
);

union {
  object { o_Wood }
  object { o_Dice }
  translate y * Size2E
}

// ground
plane { y, 0 pigment { Gray } }

camera {
  location  -z * 10
  look_at    o
  direction  z * 10

  sky    y
  right  x * ASPECT_RATIO
  up     y

  translate -z * 100
  rotate x * 30
  rotate y * -60
  translate y * Size2
}

// light intensity factor
// a: light distance (from object : light pos - object pos)
// b: light fade distance
// c: light fade power
#declare f_LightIntensityFactor = function(a,b,c) { pow(a/b + 1, c) / 2 }

#local Pos = vtransform(< -1, 2, -1 > * 100, transform { rotate y * -60 });
#local Int = f_LightIntensityFactor(vlength(Pos), 200, 1.5);
light_source {
  Pos
  color White * 1/3 * Int
  fade_distance 200
  fade_power 1.5
}

#local Pos = vtransform(< -1, 1, -1 > * 100, transform { rotate y * -150 });
#local Int = f_LightIntensityFactor(vlength(Pos), 100, 1.5);
light_source {
  Pos
  color White * 2/3 * Int
  fade_distance 100
  fade_power 1.5
}

Et voilà.

california@diaspora.permutationsofchaos.com
anonymiss@despora.de

#Google Issues #Warning For 2 Billion #Chrome Users

source: https://www.forbes.com/sites/gordonkelly/2021/12/23/google-chrome-update-warning-new-chrome-version-100/

The #problem boils down to #version numbers. The official build of Chrome is currently on version 96, while ‘Chrome Canary’ — the early access developer build — is already on version 99. When Chrome hits 100, affected websites will stop loading.

enter image description here

#software #browser #internet #www #web #fail #wtf #omg #news

wist@diasp.org

A quotation by Taylor, A. J. P.

History is not a catalogue but a version of events … a convincing version of events. If an historian is any good, he is convinced by his own version of events and then tries to put this conviction across.

A. J. P. Taylor (1906-1990) British historian, journalist, broadcaster [Alan John Percivale Taylor]

“The view from Twisden Rd.”, interview by Duncan Fallowell, The Spectator (28 May 1983)

#quotation #quote #conviction #historian #history #perspective #version

More notes and sourcing on WIST: https://wist.info/taylor-ajp/48689/