Ixazululiwe: lerp

I-Linear Interpolation, eyaziwa kakhulu ngokuthi i-Lerp, iyindlela esetshenziswa ukubala iphuzu eliphakathi kwamanye amaphuzu amabili emugqeni noma ejikeni. Le nqubo isetshenziswa kabanzi emikhakheni ehlukene njengemifanekiso yekhompyutha nokuthuthukiswa komdlalo. Kulesi sihloko, sizocwilisa ngokujulile ukuthi iyini i-Lerp nokuthi isetshenziswa kanjani ku-Java.

I-Lerp igama lezibalo elimelela ukuhumusha ngomugqa. Kuyindlela yokukhiqiza inani elivela kumanani amabili aziwayo, uma kunikezwe iphuzu eliyingxenye phakathi kwakho kokubili. Lokhu kungase kuzwakale kuyinkimbinkimbi, kodwa empeleni umqondo olula. Ukuhumusha ngomugqa kuvamise ukusetshenziswa ezithombeni zekhompuyutha ukulinganisa idatha lapho ingenayo imininingwane eyanele, futhi ekuthuthukisweni kwegeyimu, ukudala ukugqwayiza okushelelayo noshintsho.

public class Lerp {
  public static float lerp(float point1, float point2, float fraction) {
    return (1 - fraction) * point1 + fraction * point2;
  }
}

Ukuqonda Umsebenzi We-Lerp

Ukuze uqonde kangcono ukuthi kanjani I-Lerp isebenza, lo msebenzi uthatha amapharamitha amathathu: i-point1 kanye ne-point2, emele amanani amabili aziwayo esiwashilo ekuqaleni, kanye nengxenye, emele ibanga eliyingxenye phakathi kwamaphoyinti amabili. Umphumela uba iphuzu elisha elisendaweni yomugqa exhuma amaphuzu amabili, ngokusekelwe ebangeni eliyiqhezu.

Umsebenzi ulula futhi usebenza kanje:
1. Iqala ibala ibanga ukusuka ephuzwini1 ukuya endaweni yokugcina (uma iphoyinti1 libhekwa njengendawo yokuqala), njengokungathi ingxenyenamba imele iphesenti layo yonke ingxenye yomugqa.
2. Ibe ibala ibanga ukusuka endaweni yokuqala ukuya endaweni edingekayo.
3. Ekugcineni, yengeza la mabanga amabili ndawonye ukuze uthole umphumela wokugcina.

Ake sihlaziye lokhu ngesibonelo:

public class Main {
  public static void main(String[] args) {
    float point1 = 1.0f;
    float point2 = 2.0f;
    float fraction = 0.5f;
    float result = Lerp.lerp(point1, point2, fraction);
    System.out.println("The interpolated point is: " + result);
  }
}

Imitapo yolwazi ye-Java yokuhunyushwa

Nakuba i-Java ingenawo umtapo wolwazi owakhelwe ngaphakathi ukuze uhunyushwe, kukhona imitapo yolwazi eminingana yezinkampani zangaphandle ehlinzeka ngosekelo oluphelele lwezinhlobo ezahlukene zokuhumusha, okuhlanganisa nokutolikwa ngomugqa. Umtapo wezincwadi we-Apache Commons Math ungomunye waleyo mtapo ohlinzeka ngemisebenzi yezibalo eminingi, okuhlanganisa nenani lezindlela ezihlukene zokuhumusha.

Enye inketho edumile umtapo wezincwadi we-Jzy3d wezithombe ze-3D, ohlinzeka ngamathuluzi okuhumusha ngomugqa nokungaqondile phakathi kwezinye izici.

Isiphetho

Ukuhumusha ngomugqa (Lerp) iyithuluzi elinamandla emikhakheni eminingi ehlanganisa ukugqwayiza nokuthuthukiswa kwegeyimu, ihluzo zekhompiyutha, i-physics, nezibalo, ukubala ezimbalwa. Sihlole umqondo wayo oyisisekelo, ukuthi usebenza kanjani, nokuthi ungasetshenziswa kanjani ku-Java. Lokhu kuwukunwaya nje phezulu, njengoba i-Lerp inganwetshwa ibe yi-2D ne-3D, okuyenza ibe ithuluzi elinamandla nakakhulu. Khumbula, ukuzijwayeza kuyisihluthulelo sokwenza noma yimuphi umqondo kahle, ngakho-ke qhubeka ubhala amakhodi futhi uzama!

Okuthunyelwe okuhlobene:

Shiya amazwana