CHARLOTTE, N.C. — It wasn’t hard reading lips when an irate Kyle O’Quinn screamed profanities at Knicks coach Jeff Hornacek on Friday at the Garden when he came to the bench.

And it was evident when Joakim Noah laced into Hornacek and needed to be restrained last month at a Denver practice that the exiled Knicks center wasn’t asking the coach permission to draw up a play.

Monday in Charlotte became another weird evening. Who knows exactly what transpired to prompt Hornacek to spontaneously hand over the clipboard to Tim Hardaway Jr. in a one-point game in the fourth quarter to draw up a play in the huddle?

Hornacek said he had never done such a maneuver before, and Hardaway mentioned he was “disappointed” Hornacek needed to call a timeout to allow Trey Burke a breather.

In another bizarre episode Monday, after Kemba Walker tied it with 17 seconds left in regulation, Burke, feeling the hot hand, waved off Hornacek’s attempt to call a timeout. Burke then waved off the playcall — an attempt by Luke Kornet to set a pick — and ultimately botched the possession with a last-ditch, buzzer-beating airball.

As Hornacek’s Knicks stint winds down to perhaps its final seven games, players may be displaying a level of rebellion that could be expected when led by a coach they know may not be back next season.

The feeling around the league is Hornacek won’t be brought back by Steve Mills and Scott Perry and that the club may target Doc Rivers and Mark Jackson.

Meanwhile, according to an NBA source, the Noah and O’Quinn shouting incidents weren’t the first time the lame-duck Knicks coach got profanities thrown his way by a Knicks player.

The source told The Post that late last season, Kristaps Porzingis, normally the politest of souls, cursed out Hornacek during a practice, using the F-word.

While players and coaches go at it behind closed doors more than you’d think, the Porzingis-Hornacek tiff partially underscored why Porzingis didn’t show up for his exit meeting. Phil Jackson wasn’t the lone target of his franchise disgruntlement.

After the Charlotte loss, Hardaway and Hornacek played the clipboard event as lighthearted. Hardaway drew up a play that freed Burke to make an 18-foot jumper. Hornacek claimed he did it “to loosen up the guys” and praised Hardaway’s play-calling. In turn, Hardaway said he appreciated the coach giving him the opportunity.

But it didn’t wind up as a victory. Burke’s calling off a Hornacek timeout, meanwhile, rekindled a remark Charlotte center Willy Hernangomez had made last week when in New York.

“Here, everybody follows rules, defense and offense,” the ex-Knick said. “Maybe in New York, it was a little freer, defense, offense. Here, everyone follows rules, everybody helps each other. I’m really surprised when I came here to see the difference.”

While O’Quinn apologized for the episode prompted by Hornacek getting after him for not contesting Karl Anthony Towns’ 3-pointer, O’Quinn allowed he wasn’t the lone guilty party.

“Two wrongs don’t make a right,’’ said O’Quinn, who hasn’t played since with an injury listed as a strained hip.

Hornacek can’t be in a tougher spot at 27-48, as he plays guys for a future he may not be part of, acting like the good soldier. He was dealt a bad hand from the get-go, and as Charlotte coach Steve Clifford said, “You can’t judge a coach when you lose Porzingis — a guy like that.”

“He’s not coaching games as much as he’s auditioning guys,” one NBA scout said.

To his credit, Hornacek is trying to win and has attempted every method of motivation. He’s tried practicing relentlessly and now has backed off.

After not giving the players a day off after an 11-day road trip, practicing three straight times, Hornacek decided to give the team a break on the last four potential practice days — though one was because of weather issues flying back from Miami.

There’s a chance Hornacek rubbed some players the wrong way during a winless West Coast trip earlier this month. He attacked the players’ “pride’’ and also characterized the roster as having some castoffs, saying his players are “fighting to stay in the league.”

“A lot of guys have been bench guys on another team or in the G-League,’’ Hornacek said on the trip. “You got to take advantage of opportunities when you have them.’’

Notably, after Burke’s 42-point explosion in Charlotte on Monday in his second Knicks start, Hardaway said pointedly: “He belongs here. He’s not a G-League player.’’

After the overtime loss, Hardaway shouted an obscenity in the hallway and kicked a plastic container on his way to the locker room. Hardaway said he was upset the game went into overtime, when Kemba Walker was allowed space for the game-tying 3-pointer over Michael Beasley.

“It’s frustrating and it sucks,” Hardaway said.